The Result of the Export
When using the vcexport
command, each folder with configurations that you select to export will get its own new folder in the target directory stated with the command. In each folder one xml file and one schema file will be generated for each configuration. The schema file contains information about any directory structures included. The xml file will have an extension that indicates what type of configuration it is, e g .wf for workflows, .ultra for Ultras, etc.
Export Format
The purpose of schemas in VC-export/import
Each configuration exported with the vcexport
command is accompanied with an associated schema. This schema contains information required by the vcimport
command when translating the exported data back into the format used internally in the system. The schema contains an entry for each type of "storable" present in the corresponding configuration. The term "storable" refers to the mechanism used internally in the system when serializing/deserializing configurations.
This arrangement, separating configuration data and its schema, is made with the aim to keep the exported configurations as concise, clutter-free and humanly readable as possible. The schemas are not usable as general-purpose XML schemas for validation of configurations in external tools. The use of XML schema is incidental, and is just a convenient way of capturing the information needed to support the import/export functionality.
When comparing two versions of the same configurations you should also compare their respective schemas. In many cases, the schemas will be identical, but in certain situations there will differences in the schema files. These situations include:
A storable is only present in one of the versions (for example, a specific workflow agent was added). In this case, one of the schemas will contain an additional entry for this type.
A storable instance has a data value set to "null" in one of the versions, and has a value assigned in the other. In this case, the schema will differ since a type cannot be determined for the null value in one of the versions. This is due to a limitation in the' "storable" mechanism.
If you want to import one of the two versions after comparing them you should typically use the schema associated with it. However, it is also possible to manually assemble a schema containing the union of both schemas, which will include all storables used for both versions. There is generally no harm in having too much information in the schema.
The current scope of the vcformat is to be: humanly readable, contextually understandable and comparable. Although it is possible to successfully perform off-line merges of configuration versions in many situations, this is not officially a use case supported by the format, since the format is a mirror of the internal data structures used within the system and not something formally specified and documented.