Jump to: navigation, search

Difference between revisions of "HowTo:Transfer Meta Data between Environments"


(Created page with "Using Smart Studio, meta data from one {{UBIK}} Environment can be transported into another one. This includes Meta Classes and their MetaProperty|Meta Pro...")
 
 
(2 intermediate revisions by the same user not shown)
Line 5: Line 5:
 
<!-- DO NOT REMOVE THIS -->{{Template:HowTo/Begin}}<!-- DO NOT REMOVE THIS -->
 
<!-- DO NOT REMOVE THIS -->{{Template:HowTo/Begin}}<!-- DO NOT REMOVE THIS -->
  
= Instructions =
+
= Considerations =
<!-- 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:
 
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.
 
* 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.  
+
* If you don't just transport only once, but continue developing and want to transfer your changes incrementally, you need a development strategy. See also: [[HowTo:Organize_UBIK_Development]].
* 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 system like Git or SVN and does not support several development branches inherently.
+
* 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 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 ===
+
= 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:
+
See also: [[HowTo:Organize_UBIK_Development]].
* 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.
+
  
=== Tools ===
+
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 =
 +
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.
 
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 -->
 
<!-- DO NOT REMOVE THIS -->{{Template:HowTo/End}}<!-- DO NOT REMOVE THIS -->
  
 
==See also==
 
==See also==
 
<!-- DO NOT MODIFY THE NAME OF THIS SECTION, BUT REMOVE IT IF NOT REQUIRED -->
 
<!-- DO NOT MODIFY THE NAME OF THIS SECTION, BUT REMOVE IT IF NOT REQUIRED -->
 +
* [[HowTo:Organize_UBIK_Development]]
 +
* [[Smart_Studio]]
 +
* [[HowTo:Import_Meta_Data_from_Comos]]
 +
* [[HowTo:Transfer_Data_from_3.7_to_4.0]]
  
[[Category:Smart Modelling|Transfer Meta Data between Environments]]
 
[[Category:Publishing|Transfer Meta Data between Environments]]
 
[[Category:How-To|Transfer Meta Data between Environments]]
 
 
[[Category:FAQ|Transfer Meta Data between Environments]]
 
[[Category:FAQ|Transfer Meta Data between Environments]]
 +
[[Category:How-To|Transfer Meta Data between Environments]]
 +
[[Category:Publishing|Transfer Meta Data between Environments]]
 +
[[Category:Smart Modelling|Transfer Meta Data between Environments]]

Latest revision as of 21:46, 24 July 2023

Using Smart Studio, meta data from one UBIK® Environment can be transported into another one. This includes Meta Classes and their Meta Properties, Meta Proxies, Selective Lists and Units.

This is useful when a staging strategy is applied in a project, where every feature is quality assured by first being implemented in a Development (DEV) Environment then integrated with other systems in the Integration (INT) Environment and finally, after testing and acceptance, released to the Productive (PROD) Environment.


[edit]

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. See also: Organize UBIK Development.
  • 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 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

See also: Organize UBIK Development.

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

SmartStudio uses Worksheets and Smart Projects to store your work. Use the Inheritance Graph or the Transport Container to define the models you want to transport. You can use the tools on the left side to 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 Merge.
  • Always check the result of a Merge before saving to the Environment.

See also