System and add-on installed metadata
Starting with V5.6 IF001, the ExportOptions object contains the following two
fields that handle such metadata:
include_system_classes- The field handles system metadata. The default value is False.include_add_on_objects- The field handles add-on installed metadata. The default value is False.
Prior to V5.6 IF001, the system and add-on installed metadata is handled as if the two
ExportOptions options were false, or the default.
System metadata
When a class definition that is encountered is a system class, by default only a minimal version of the class is exported and added to the deployment package. During import, any class definition that is a system class definition is not processed. Any changes to such class definitions, for example, changes that include more custom properties, are not deployed.
If the include_system_classes field in an ExportOptions object
is True, a system class definition is exported and imported similar to other class definitions. In
this way, any application-specific changes that are made to a system class definition are deployed
into the destination environment.
When the system class definitions are processed, the differences between the source and destination environments are always checked during import. If the import operation does not identify any differences with a system class definition that is already deployed, the class definition is not overwritten.
Add-on installed metadata
When any class definition, property template, or choice list is encountered that is add-on installed, the deployment package contains information about the add-on that installed this metadata. The import operation checks whether the same add-ons present in the source environment are also installed in the destination environment. If any add-ons are missing, an error is raised.
If the include_add_on_objects field in an ExportOptions object
is False, when any class definition, property template or choice list is encountered that is add-on
installed, the deployment package contains minimal information about those objects. No other
processing occurs during import for those add-on installed objects other than to make sure that the
required add-ons are also installed in the destination environment.
However, if include_add_on_objects is True, these objects are exported and
imported similar to other custom objects. In this way, any application-specific changes to these
add-on installed objects are deployed into the destination environment.