Overview
What is SAMO?​
First of all, you need to know what SAMO is. From the implementation point of view, SAMO is a metadata driven web application. You will mainly work with .xml, .json and .js files, which are used to configure different parts of the application. SAMO consists of several main software components, namely: LIDS with Business Server, User Service, Audit Server, Elastic Search, Gateway, Dynamic-App and others. For more information refer to: About SAMO and SAMO Software Components.
What do I need before start?​
- motivation
- running project on which you want to collaborate (for more information about how to set up SAMO project refer to: New project set up).
- access rights for the project
- if you use GitLab for management, you need to have sufficient rights. This can be tested by trying to search for your project on GitLab. If you find no results of your project, it means you don't have any access rights. The access rights on GitLab are set by SAMO support.
- technical prerequisites - see page Installation of prerequisites​
- set up your local environment - see page Setting up local environment
- this step is described for traditional way of implementation used in Brno Gis & Utility Division
I have an up and running local copy of my project. What's next?​
At this point, there are several chapters, which are highly recommended for you to study. If you did not attend to SAMO Training workshop, you can find some materials on SAMO Portal.
If you use GitLab for management, I strongly recommend reading chapter about Git, which will give you and overview of frequently used git commands and helps you what to do in case of git conflicts.
Second, you will be writing .jsons. A lot of .jsons. Why not to learn, what JSON actually is and what are your options for writing it? If you think, that you know .jsons well, this chapter may still surprise you by options, which are enabled by our SAMO Gateway (e.g. directory recursive import).
All your .jsons will be stored in a predefined hlaf-fixed, half-customizable folder structure, which can get pretty complicated some times. Folder structure of project packages is described here, folder structure of metadata packages is described here. The problematics of packages is described here.
As the SAMO application contains lot of strings, you surely want to learn about Specific String Types.
Eventually, you will also need to know, how to apply your local changes to the server environment. And last, but not least, the Debugging Crash Ccourse will give you tips on how to not go crazy, when implementing SAMO.
OK. I know what to expect (+-). What's next?​
SAMO applications are build from web modules, which you select and configure in your metadata. The overview of all modules and their configuration options can be found in the Dynamic-App Module Catalog. Several examples of their usage you can find on existing projects, or in SAMO Demo Project. Also, following chapters in this Implementation Cookbook provides instructions on how to implement specific use cases and business templates, what modules to include and how to link them together. You will surely find useful to install some Implementation Tools, which were designed to make your work easier. Also, be aware of the Naming Conventions.