The method is used to export a complete application structure all at once, i.e. the application entity together with all of its sub entities and its deployment model.
Siehe auch:
Syntax
deepExport -mt <main type name> [-ct <custom type name>] [-fi [<file path>]] [-begin <no of first entity> -count <no of entities>] [-startdate <date>] [-enddate <date>] [-where <condition>]
(line breaks for format reasons only)
Parameters
-con: URL of the import/export service of the web application
Example: https://www.mycompany.com/WebUI
-usr: Name of the user (syntax: system name / client number / user name / department)
When only one client is installed, the system name is optional.
-pwd: Password of the user specified in -usr or the token returned by the Java API
-mt: Name of the main type of the entities
Use this option to export a specific main type only. If you leave the parameter empty, all main types will be exported.
-ct: Name of the custom type of the entities
Use this option to export a specific custom type only. If you leave the parameter empty, all custom types will be exported.
-fi: Path name to the file that contains the entities you want to export
Options:
Note: If a file already exists, it will be overwritten without any confirmation.
-begin: Optional number of the first entity to be exported
Entities are sorted by their internal ID.
-count: Optional number of entities to be exported
You can use this parameter only together with -begin
-startdate: Export all data which was created or changed on that day or since this date
If the parameter is not, set all data will be exported. The date has to be supplied in ISO 8601 format.
-enddate: Export all data which were created or changed until this date
If not set, all data will be exported. The date has to be supplied in ISO 8601 format.
-where: An optional condition (enclosed with " " - double quotes) that is used to filter the data.
The format of the condition is: "[propertyname] [operator] '[value]' "
propertyname: the name of the system or custom property which should be filtered. You can also filter on properties of related entities via the dot notation; e.g. system_owner.system_name eq 'Bob' will filter all entities of the given main type, that are owned by Bob.
Note: in conditions only properties of directly related entities can be used. E.g.
system_component.system_application.system_name is not valid.
operator: the operator which should be used for filtering. It can be: eq (equal), neq (not equal), gt (greater than), geq (greater than or equal), lt (lower than), leq (lower than or equal), like (matches a pattern with * as wildcard), unlike (matches a pattern with * as wildcard)
'value': the filter value. It has to be quoted in single quotes. If you filter for something eq '' both empty values and NULL values will be found.
Note: Wildcard matching is only possible on properties which do not have predefined values.
You can add the -where parameter multiple times, to apply multiple conditions (AND combined) to the export.
Note: If there are multiple properties with the same name but different types (e.g. one is a date and time property, the other a longtext property), the operator will behave as if both properties are a string (e.g. greater or lower than will not work as expected for the date and time property).
Example
Importexportcli.exe deepExport -con url -usr username -pwd password -mt Application -fi filename
Result ZIP File
Deep export validates the input parameters and generates a ZIP file in base64 encoded format that contains a set of the common single entity export files in a predefined file and folder structure, shown in the following example:
In addition to this, a meta file is generated for the deep export and attached to the ZIP file in its root folder. This meta file contains information about the content of the export file, about the included files as well as about the system version with which it was created (see Meta file with information about the export).
For each application that gets exported the following folder and file structure is created:
File system folder | Description |
---|---|
\Application + [FirstCharacterOfObjectName + LastCharacterOfObjectName + "_" + ObjectID/DateTime] E.g.: Application dp_18309 |
One folder for each application. This folder contains the export files of the following entities:
|
\Component + [FirstCharacterOfObjectName + LastCharacterOfObjectName + "_" + ObjectID/DateTime] E.g.: Component dp_18309 |
One folder for each component. This folder contains the export files of the following entities:
|
\Workflow + [FirstCharacterOfObjectName + LastCharacterOfObjectName + "_" + ObjectID/DateTime] E.g.: Workflow dp_18309 |
One folder for each worklow. This folder contains the export files of the following entities:
|
Each single entity export uses the name as identifier of the entity itself and all of its references.
The meta file Export.xml is a XML file that contains relevant data about the export files and consists of three sections (XML elements):
System:
Property | Type | Description |
---|---|---|
SystemVersion | String | Version number of theARA with which the export file was generated. E.g: 4.0 |
Files:
Property | Type | Description |
---|---|---|
file | String | Relative path and file name |
ExportContext:
The context information belongs to the main entities (currently applications only) for which the export was done. For each application the XML element ExportContext is written to the file:
Property | Type | Description |
---|---|---|
mainType | String | Maintype of the entity: Application |
name | String | Optional name of the component, must be set for mainType='Component' |
description | String | Description of the entity (optional) |
createdOn | ISO-8601 date/time | Timestamp of the entities creation |
createdBy | String | Standard username of the user who created the entity |
lastModifiedOn | ISO-8601 date/time | Timestamp of the entities last modification (optional) |
lastModifiedBy | String | Standard username of the user who modified the entity the last time (optional) |
Example
Example of a deep export meta file:
<?xml version="1.0" encoding="utf-8"?> <DeepExport> <System> <!-- Application version with which the export was created --> <SystemVersion>3.5.168.20601</SystemVersion> </System> <Files> <!-- List of all files in the order they need to be imported --> <File>\Application App1\Application Export Application.xml</File> <File>\Application App1\Component Database\Component Database.xml</File> <File>\Application App1\Component Database\Component Web App.xml</File> </Files> <ExportContext> <!-- List of all entities the export was performed for. --> <Entities> <Entity> <mainType>Application</mainType> <name>Export Application</name> <description>Some additional description</description> <createdOn>2012-12-06T11:18:50.4790453+01:00</createdOn> <createdBy>2000/API/API</createdBy> <lastModifiedOn>2012-12-06T14:14:05.4790453+01:00</lastModifiedOn> <lastModifiedBy>2000/API/API</lastModifiedBy> </Entity> </Entities> </ExportContext> </DeepExport>