Changes

HowTo:Transfer Meta Data between Environments

996 bytes added, 21:05, 24 July 2023
<!-- DO NOT REMOVE THIS -->{{Template:HowTo/Begin}}<!-- DO NOT REMOVE THIS -->
= Instructions =<!-- DO NOT MODIFY THE NAME OF THIS SECTION, BUT REMOVE IT IF NOT REQUIRED --> === Considerations ===
Before transporting a data model, or meta data, between {{UBIK}} Environments, it is important to consider the following:
* Transporting meta data using SmartStudio is best done in {{UBIK}} 4 and newer, to avoid problems with the Sandbox/Live mode.
* If you don't just transport only once, but continue developing and want to transfer your changes incrementally, you need a development strategy.
* While SmartStudio is capable of merging two different situations, it cannot work out the differences between two situations (at least not in version 4). {{UBIK}} also is no version management control system (VCS) like Git or SVN and does not support several development branches inherently.* It is recommended to use a VCS like Git to develop new features for your customizing, and to use SmartStudio projects to transport them between staging environments.
=== Development strategy ===SmartStudio uses [[Smart_Studio#Worksheets|Worksheets]] and [[Smart_Studio#Smart_Projects|Smart Projects]] to store your work. Since, as explained above, you cannot work out the differences between two situations, and {{UBIK}} is no version management system like Git or SVN, you need a good development strategy to avoid serious organizational problems later:* Develop different features in different Smart Projects. You don't need to have everything in one project.* Always develop in one direction: From DEV to INT to PROD.* When transferring a model to another Environment, always perform a [[Smart_Studio#Merging_Worksheets|Merge]].* Always check the result of a Merge before saving to the Environment.
In any case, a project management or issue tracking system is recommended to organize your project. Further, staging is a best practice for QA. To manage your customizing optimally for collaboration and staging, a version control system (VCS) like Git is strongly recommended. The transport of meta data between staging environments can be done with SmartStudio. If you don't use a VCS, it is recommended to create one SmartStudio project for every feature and to merge them separately to each staging environment. The reason for this is that you can merge the content of a worksheet into an environment or a project, but it is not possible to work out the difference between two situations and the merging capabilities are also limited to a "the winner takes all" strategy in case of merging conflicts. Merging two projects is also not possible (at the time this article was written). If you use a VCS like Git, it is recommended to apply the Feature Branch Workflow and use common SmartStudio projects for the same topics. Multiple projects in this case are only necessary to avoid too large projects that would slow down SmartStudio and consume a lot of working memory. =SmartStudio Usage == Tools ===SmartStudio uses [[Smart_Studio#Worksheets|Worksheets]] and [[Smart_Studio#Smart_Projects|Smart Projects]] to store your work.
Use the [[Smart_Studio#Inheritance_Graph|Inheritance Graph]] or the [[Smart_Studio#Transport_Container|Transport Container]] to define the models you want to transport. You can use the tools on the left side to [[Smart_Studio#Adding_models_to_a_worksheet|add models to a worksheet]], via Drag & Drop.
For the transfer of meta data between environment, the following recommendations exist:
* Always develop in one direction: From DEV to INT to PROD.
* When transferring a model to another Environment, always perform a [[Smart_Studio#Merging_Worksheets|Merge]].
* Always check the result of a Merge before saving to the Environment.
<!-- DO NOT REMOVE THIS -->{{Template:HowTo/End}}<!-- DO NOT REMOVE THIS -->
1,601
edits