Configuration
Data Exchange
All Data Exchange configuration is done using SoftTypes. Any custom task implementations must be added to the task bootstrap.
Consolidation settings
The consolidation settings can be configured for the job SoftType in the space template. The first
action is to add a new attribute to attributes in the data section. The attribute name must be a value
port where the value is the setting name with the exact same case. The attribute value should be a id port.
The next step is to add the attribute id to the input schema, output schema and label. How to do this is
described in the Configuration of SoftType section
Finally add the attribute id to the create view and copy view if that is used. The setup of the
attribute will be the same as in create and copy view.
The configured view of the effectivity settings where the underlying type is TypeToAttribute
is realized by a select view with different string values. The values in the select are specified as a concatenation of TypeId and - and AttributeIdand separated by commas (,).
A short example in JSON can be found below.
"ItemViewDefinition-DateTimeAssignmentSelect_dateTimeAssignments,PartViewDefinition-PropertyReferenceSelect_propertyReferences"
In the example above the consolidation setting will be applied on DateTimeAssignments for sub types
of ItemViewDefinition e.g. DigitalDocument or PartViewDefinition and the setting will also be
applied on PropertyReferences for PartViewDefinitions.
It is possible to use None as a wildcard for TypeId or AttributeId, see the example below.
"None-DateTimeAssignmentSelect_dateTimeAssignments,PartViewDefinition-None"
In the example above the consolidation setting will be applied on any DateTimeAssignment for
all types and the setting will also be applied on all properties for any PartViewDefinition.
Force redefine conflicting entries (effectivity)
This setting is used to force potential effectivity controlled entries to be imported even if they are conflicting with existing entries. For more information refer to the concept section Consolidation Settings
This setting is a list of TypeToAttribute as described above in order to indicate what entries to force.
{
"$type": "StringAttribute",
"$rules": [
{
"lower": "0",
"upper": "1"
}
],
"name": {
"$type": "String",
"$port": {
"value": "ForceRedefineConflictingEntries",
"$type": "Value"
}
},
"value": {
"$type": "String",
"$port": {
"id": "forceRedefineConflictingEntries",
"$type": "Value"
}
}
}
Force redefine history start (effectivity)
This setting is used to force effectivity controlled entries to be imported even if they are attempting to redefine the start of history of sibling entries. For more information refer to the concept section Consolidation Settings.
This setting is a list of TypeToAttribute as described above in order to indicate what entries to force.
{
"$type": "StringAttribute",
"$rules": [
{
"lower": "0",
"upper": "1"
}
],
"name": {
"$type": "String",
"$port": {
"value": "ForceRedefineHistoryStart",
"$type": "Value"
}
},
"value": {
"$type": "String",
"$port": {
"id": "forceRedefineHistoryStart",
"$type": "Value"
}
}
}
Force redefine history end (effectivity)
This setting is used to force effectivity controlled entries to be imported even if they are attempting to redefine the end of history of sibling entries. For more information refer to the concept section Consolidation Settings.
This setting is a list of TypeToAttribute as described above in order to indicate what entries to force.
{
"$type": "StringAttribute",
"$rules": [
{
"lower": "0",
"upper": "1"
}
],
"name": {
"$type": "String",
"$port": {
"value": "ForceRedefineHistoryEnd",
"$type": "Value"
}
},
"value": {
"$type": "String",
"$port": {
"id": "forceRedefineHistoryEnd",
"$type": "Value"
}
}
}
Force only one entry (rule)
This setting is used to force array entries to be imported as only one entry in the store For more information refer to the concept section Consolidation Settings.
This setting is a list of TypeToAttribute as described above in order to indicate what entries to force.
{
"$type": "StringAttribute",
"$rules": [
{
"lower": "0",
"upper": "1"
}
],
"name": {
"$type": "String",
"$port": {
"value": "ForceOnlyOneEntry",
"$type": "Value"
}
},
"value": {
"$type": "String",
"$port": {
"id": "forceOnlyOneEntry",
"$type": "Value"
}
}
}
Force delete entry (action)
This setting is used to force the deletion of given properties on instance of objects in the store. For more information refer to the concept section Consolidation Settings.
This setting is a list of TypeToAttribute as described above in order to indicate which entries to force.
{
"$type": "StringAttribute",
"$rules": [
{
"lower": "0",
"upper": "1"
}
],
"name": {
"$type": "String",
"$port": {
"value": "ForceDeleteEntry",
"$type": "Value"
}
},
"value": {
"$type": "String",
"$port": {
"id": "forceDeleteEntry",
"$type": "Value"
}
}
}
Report compliance errors
The ReportComplianceErrors setting is of type bool and default value is false.
A correct configured attribute in JSON should look like below:
{
"$type": "BooleanAttribute",
"$rules": [
{
"lower": "0",
"upper": "1"
}
],
"name": {
"$type": "String",
"$port": {
"value": "ReportComplianceErrors",
"$type": "Value"
}
},
"value": {
"$type": "Boolean",
"$port": {
"id": "reportComplianceErrors",
"$type": "Value"
}
}
}
Input schema validation
The InputSchemaValidation setting is of type bool and default value is true.
A correct configured attribute in JSON should look like below:
{
"$type": "BooleanAttribute",
"$rules": [
{
"lower": "0",
"upper": "1"
}
],
"name": {
"$type": "String",
"$port": {
"value": "InputSchemaValidation",
"$type": "Value"
}
},
"value": {
"$type": "Boolean",
"$port": {
"id": "inputSchemaValidation",
"$type": "Value"
}
}
}
File retention policy
When using an import job, the file and other associated documents being mapped and imported into ShareAspace are first uploaded to the file vault area which is not controlled by any access rights policy (i.e. the unmanaged area). Those files will remain in that area if the job is not set to remove them after the termination of the job execution. This can lead to several issues including security and unwanted disk space occupation.
The DigitalFileRetentionPolicy setting is to be used for an import job to indicate what to do with the input files.
The possible values are:
Keep: The input file and associated documents will never be deleted automatically after the termination of the job execution from the file vault unmanaged area.DeleteOnSuccess: The input file and associated documents will be deleted automatically after the termination of the job execution from the file vault unmanaged area.
The attribute configuration at the job SoftType definition level is:
{
"$type": "StringAttribute",
"$rules": [
{
"lower": "0",
"upper": "1"
}
],
"name": {
"$type": "String",
"$port": {
"$type": "Value",
"value": "DigitalFileRetentionPolicy"
}
},
"value": {
"$type": "String",
"$port": {
"$type": "Value",
"id": "digitalFileRetentionPolicy"
}
}
}
Below is an example of how to configure corresponding controls for a create view (User interface for triggering the import job):
{
"label": "importSettings",
"type": "group",
"fields": [
{
"fields": [
{
"bindings": [
{
"targetPath": "digitalFileRetentionPolicy"
}
],
"label": "digitalFileRetentionPolicy",
"values": [
{
"label": "Keep",
"value": "Keep"
},
{
"label": "Delete on Success",
"value": "DeleteOnSuccess"
}
],
"type": "select"
}
]
}
]
}
Plain binary export
The settings for the binary export are realized with configuration of attributes. The attribute name
should be a value port where the value is the setting name with the exact same casing. The attribute
value should be a id port so it can be set in a view. If the value should have a default value or be
hard-coded a value port can be added to the attribute value.
For each configured attribute where the value is configured with an id port the SoftType also needs
to be configured with a label in labels, a view in views, a schema in inputSchemas and/or
outputSchemas.
Resolve setting configuration
The Resolve setting is an array of type AttributeId but is realized by a string. The array is
created as an comma separated list of AttributeId. See the example below.
"NextAssemblyUsage_child,ItemVersionReference_referencedObject,ProjectReference_project"
Below is a example of a correct configured attribute.
{
"$type": "StringAttribute",
"$rules": [
{
"lower": "0",
"upper": "1"
}
],
"name": {
"$type": "String",
"$port": {
"value": "Resolve",
"$type": "Value"
}
},
"value": {
"$type": "String",
"$port": {
"id": "resolve",
"$type": "Value"
}
}
}
Below is an example of how a configured Resolve setting for a create or copy view can look
in JSON.
{
"fields": [
{
"$schemaRef": "resolve",
"type": "validation",
"colspan": 1
},
{
"$schemaRef": "resolve",
"label": "resolve",
"type": "label",
"colspan": 3
},
{
"$schemaRef": "resolve",
"defaultValue": "ClassificationReference_referencedClass,MainIdentifier_context,PersonOrganizationReference_assignedPersonOrganization,PropertyValue_definition,PropertyValueWithUnit_unit",
"values": [
{
"label": "Default",
"value": "ClassificationReference_referencedClass,MainIdentifier_context,PersonOrganizationReference_assignedPersonOrganization,PropertyValue_definition,PropertyValueWithUnit_unit"
},
{
"label": "Part Structure",
"value": "ClassificationReference_referencedClass,MainIdentifier_context,PersonOrganizationReference_assignedPersonOrganization,PropertyValue_definition,PropertyValueWithUnit_unit,NextAssemblyUsage_child"
},
{
"label": "Project",
"value": "ClassificationReference_referencedClass,MainIdentifier_context,PersonOrganizationReference_assignedPersonOrganization,PropertyValue_definition,PropertyValueWithUnit_unit,NextAssemblyUsage_child,ProjectReference_project"
}
],
"type": "select",
"colspan": 7
}
]
}
Resolve depth setting configuration
The ResolveDepth setting is of type int. The number is the depth level for the recursion of
resolved external references e.g. if the value is 0 only the start point will be exported and if
the value is 1 then only the start point with the external references on the start point is
exported.
Below is a example of a correct configured attribute.
{
"$type": "IntegerAttribute",
"$rules": [
{
"lower": "0",
"upper": "1"
}
],
"name": {
"$type": "String",
"$port": {
"value": "ResolveDepth",
"$type": "Value"
}
},
"value": {
"$type": "Integer",
"$port": {
"id": "resolveDepth",
"$type": "Value"
}
}
}
Below is an example of how a configured ResolveDepth setting for a create or copy view will
look in JSON.
{
"fields": [
{
"$schemaRef": "resolveDepth",
"type": "validation",
"colspan": 1
},
{
"$schemaRef": "resolveDepth",
"label": "resolveDepth",
"type": "label",
"colspan": 3
},
{
"$schemaRef": "resolveDepth",
"defaultValue": 10,
"values": [
{
"label": "3",
"value": 3
},
{
"label": "5",
"value": 5
},
{
"label": "10",
"value": 10
},
{
"label": "15",
"value": 15
},
{
"label": "20",
"value": 20
}
],
"type": "select",
"colspan": 7
}
]
}
Full resolve setting configuration
The FullResolve setting is of type bool. If the value is set to true then all external references
will be resolved but if the value is set to false then only the external references provided with the
Resolve setting are resolved i.e. when this setting is set to true it will override the Resolve
setting.
Below is a example of a correct configured attribute.
{
"$type": "BooleanAttribute",
"$rules": [
{
"lower": "0",
"upper": "1"
}
],
"name": {
"$type": "String",
"$port": {
"value": "FullResolve",
"$type": "Value"
}
},
"value": {
"$type": "Boolean",
"$port": {
"id": "fullResolve",
"$type": "Value"
}
}
}
Below is an example of how a configured FullResolve setting for a create or copy view will
look in JSON.
{
"fields": [
{
"$schemaRef": "fullResolve",
"type": "validation",
"colspan": 1
},
{
"$schemaRef": "fullResolve",
"label": "fullResolve",
"type": "label",
"colspan": 3
},
{
"$schemaRef": "fullResolve",
"defaultValue": true,
"values": [
{
"label": "No",
"value": false
},
{
"label": "Yes",
"value": true
}
],
"type": "select",
"colspan": 7
}
]
}
File mode setting configuration
The FileMode setting is an enumeration of type DxFileMode but is realized by a string. There is four
acceptable values for the FileMode setting.
ThrowOnExisting, throws an error when an existing file already exist.IgnoreExisting, ignore all existing files.ReplaceExisting, overwrite existing files.SkipAllFiles, no files is exported at all regardless if it already exist or not.
Below is a example of a correct configured attribute.
{
"$type": "StringAttribute",
"$rules": [
{
"lower": "0",
"upper": "1"
}
],
"name": {
"$type": "String",
"$port": {
"value": "FileMode",
"$type": "Value"
}
},
"value": {
"$type": "String",
"$port": {
"id": "fileMode",
"$type": "Value"
}
}
}
Below is an example of how a configured FileMode setting for a create or copy view can
look in JSON.
{
"fields": [
{
"$schemaRef": "fileMode",
"type": "validation",
"colspan": 1
},
{
"$schemaRef": "fileMode",
"label": "fileMode",
"type": "label",
"colspan": 3
},
{
"$schemaRef": "fileMode",
"defaultValue": "None",
"values": [
{
"label": "Default",
"value": "None"
},
{
"label": "Throw Error On Existing Files",
"value": "ThrowOnExisting"
},
{
"label": "Ignore Existing Files",
"value": "IgnoreExisting"
},
{
"label": "Replace Existing Files",
"value": "ReplaceExisting"
},
{
"label": "Don't Export Any Files",
"value": "SkipAllFiles"
}
],
"type": "select",
"colspan": 7
}
]
}
Export ShareAspace native data to an external task
To be able to configure a plain binary export and chain it with an external task the job has to be configured in a specific way. The first three tasks in the task sequence need to be in following order:
Export, the plain binary export task that exports ShareAspace data into a repositorySasFileWriter, the file writer task that writes the repository content into a binary file- The external task that is intended to take the exported content.
Then a specific setting has to be added to the second task i.e. the file writer. An attribute
with the name Output and the value blob has to be added to the attributes list on the
task.
{
"$type": "StringAttribute",
"$rules": [
{
"lower": "0",
"upper": "1"
}
],
"name": {
"$type": "String",
"$port": {
"$type": "Value",
"value": "Output"
}
},
"value": {
"$type": "String",
"$port": {
"$type": "Value",
"value": "blob"
}
}
}
SoftType export
When exporting SoftTypes using the SoftType-exporter the user must provide start
points for the export, i.e. which SoftTypes to begin with (then the export will
recursively continue). The output schema for the start points of the SoftType-export
can be defined by adding a StringAttribute in attributes in the space-template.
The format of the StringAttribute name should be a concatenation of the SoftType id
and the text OutputSchema, see example below.
{
"$type": "StringAttribute",
"$rules": [
{
"lower": "0",
"upper": "1"
}
],
"name": {
"$type": "String",
"$port": {
"value": "DesignPartOutputSchema",
"$type": "Value"
}
},
"value": {
"$type": "String",
"$port": {
"id": "designPartOutputSchema",
"$type": "Value"
}
}
}
In the example above the SoftType export will export start points of type DesignPart
using the schema that will be defined by designPartOutputSchema.
The value of the StringAttribute will contain the output schema.
A view with a select needs to be created where the possible output schemas are given as values.
If no output schema is provided the export will use the input schema provided by
$defaultInputSchemaRef property in the SoftType definition.
Below is an example of how a configured create or copy view can look in JSON.
{
"fields": [
{
"$schemaRef": "designPartOutputSchema",
"type": "validation",
"colspan": 1
},
{
"$schemaRef": "designPartOutputSchema",
"label": "designPartOutputSchema",
"type": "label",
"colspan": 3
},
{
"$schemaRef": "designPartOutputSchema",
"defaultValue": "defaultOut",
"values": [
{
"label": "Default",
"value": "defaultOut"
},
{
"label": "Design Structure",
"value": "designStructureOut"
},
{
"label": "Production Structure",
"value": "productionStructureOut"
},
{
"label": "Spare Part Structure",
"value": "sparePartStructureOut"
},
{
"label": "Edit Design Structure",
"value": "editDesignStructure"
},
{
"label": "Edit Production Structure",
"value": "editProductionStructure"
},
{
"label": "Edit Spare Part Structure",
"value": "editSparePartStructure"
}
],
"type": "select",
"colspan": 7
}
]
}
SoftType Excel mapper
The SoftType Excel mapper is a task that comes out of the box with an installation of ShareAspace. It can be used both to import and export SoftTypes using Excel. However there is some limitations in the Excel mapper. A sheet name can have max 31 characters so the number of characters in the SoftType id and the schema name can total no more than 30 together. Formulas are not supported either, e.g. if a property value is the sum of two cells it has to be handled manually and not as a formula.
AP242 import mapper
To realize a setting for a AP242 import mapper an attribute is added to the attributes section.
The attribute name should be a value port where the value is the setting name with the exact same
casing. The attribute value should be a id port so it can be set in a view. If the value should have
a default value or be hard-coded a value port can be added to the attribute value.
The Label and input/output-schema need to be configured. How to do this is described in the Configuration of SoftType section.
To collect a value for the setting a view needs to be configured using e.g. a select. This is also described in the Configuration of SoftType section.
Part types role
The PartTypesRole setting is of type string and the default value is AP242: PartTypes.
Below is an example of how a correct PartTypesRole setting is configured in the attributes section:
{
"$type": "StringAttribute",
"$rules": [{
"lower": "0",
"upper": "1"
}
],
"name": {
"$type": "String",
"$port": {
"value": "PartTypesRole",
"$type": "Value"
}
},
"value": {
"$type": "String",
"$port": {
"id": "partTypesRole",
"$type": "Value"
}
}
}
Document types role
The DocumentTypesRole setting is of type string and the default value is AP242: DocumentTypes.
Below is an example of how a correct DocumentTypesRole setting is configured in the attributes section:
{
"$type": "StringAttribute",
"$rules": [{
"lower": "0",
"upper": "1"
}
],
"name": {
"$type": "String",
"$port": {
"value": "DocumentTypesRole",
"$type": "Value"
}
},
"value": {
"$type": "String",
"$port": {
"id": "documentTypesRole",
"$type": "Value"
}
}
}
Security classification role
The SecurityClassificationRole setting is of type string and the default value is
AP242: SecurityClassification.
Below is an example of how a correct SecurityClassificationRole setting is configured in the attributes section:
{
"$type": "StringAttribute",
"$rules": [{
"lower": "0",
"upper": "1"
}
],
"name": {
"$type": "String",
"$port": {
"value": "SecurityClassificationRole",
"$type": "Value"
}
},
"value": {
"$type": "String",
"$port": {
"id": "securityClassificationRole",
"$type": "Value"
}
}
}
Rotation matrix id
The RotationMatrixId setting is of type string and the default value is RotationMatrix.
Below is an example of how a correct RotationMatrixId setting is configured in the attributes section:
{
"$type": "StringAttribute",
"$rules": [{
"lower": "0",
"upper": "1"
}
],
"name": {
"$type": "String",
"$port": {
"value": "RotationMatrixId",
"$type": "Value"
}
},
"value": {
"$type": "String",
"$port": {
"id": "rotationMatrixId",
"$type": "Value"
}
}
}
Translation vector id
The TranslationVectorId setting is of type string and the default value is TranslationVector.
Below is an example of how a correct TranslationVectorId setting is configured in the attributes section:
{
"$type": "StringAttribute",
"$rules": [{
"lower": "0",
"upper": "1"
}
],
"name": {
"$type": "String",
"$port": {
"value": "TranslationVectorId",
"$type": "Value"
}
},
"value": {
"$type": "String",
"$port": {
"id": "translationVectorId",
"$type": "Value"
}
}
}
Validate schema
The ValidateSchema setting is of type bool? and the default value is true.
Below is an example of how a correct ValidateSchema setting is configured in the attributes section:
{
"$type": "BooleanAttribute",
"$rules": [{
"lower": "0",
"upper": "1"
}
],
"name": {
"$type": "String",
"$port": {
"value": "ValidateSchema",
"$type": "Value"
}
},
"value": {
"$type": "String",
"$port": {
"id": "validateSchema",
"$type": "Value"
}
}
}
AP242 export mapper
To realize a setting for a AP242 export mapper an attribute is added to the attributes section.
The attribute name should be a value port where the value is the setting name with the exact same
casing. The attribute value should be a id port so it can be set in a view. If the value should have
a default value or be hard-coded a value port can be added to the attribute value.
The Label and input/output-schema need to be configured. How to do this is described in the Configuration of SoftType section.
To collect a value for the setting a view needs to be configured using e.g. a select. This is also described in the Configuration of SoftType section.
Part types
The PartTypes setting is of type string and the default value is product.
Below is an example of how a correct PartTypes setting is configured in the attributes section:
{
"$type": "StringAttribute",
"$rules": [{
"lower": "0",
"upper": "1"
}
],
"name": {
"$type": "String",
"$port": {
"value": "PartTypes",
"$type": "Value"
}
},
"value": {
"$type": "String",
"$port": {
"id": "partTypes",
"$type": "Value"
}
}
}
Document types
The DocumentTypes setting is of type string and the default value is specification.
Below is an example of how a correct DocumentTypes setting is configured in the attributes section:
{
"$type": "StringAttribute",
"$rules": [{
"lower": "0",
"upper": "1"
}
],
"name": {
"$type": "String",
"$port": {
"value": "DocumentTypes",
"$type": "Value"
}
},
"value": {
"$type": "String",
"$port": {
"id": "documentTypes",
"$type": "Value"
}
}
}
Security classification
The SecurityClassification setting is of type string and the default value is
AP242: SecurityClassification.
Below is an example of how a correct SecurityClassification setting is configured in the attributes section:
{
"$type": "StringAttribute",
"$rules": [{
"lower": "0",
"upper": "1"
}
],
"name": {
"$type": "String",
"$port": {
"value": "SecurityClassification",
"$type": "Value"
}
},
"value": {
"$type": "String",
"$port": {
"id": "securityClassification",
"$type": "Value"
}
}
}
Rotation matrix
The RotationMatrix setting is of type string and the default value is RotationMatrix.
Below is an example of how a correct RotationMatrix setting is configured in the attributes section:
{
"$type": "StringAttribute",
"$rules": [{
"lower": "0",
"upper": "1"
}
],
"name": {
"$type": "String",
"$port": {
"value": "RotationMatrix",
"$type": "Value"
}
},
"value": {
"$type": "String",
"$port": {
"id": "rotationMatrix",
"$type": "Value"
}
}
}
Translation vector
The TranslationVector setting is of type string and the default value is TranslationVector.
Below is an example of how a correct TranslationVector setting is configured in the attributes section:
{
"$type": "StringAttribute",
"$rules": [{
"lower": "0",
"upper": "1"
}
],
"name": {
"$type": "String",
"$port": {
"value": "TranslationVector",
"$type": "Value"
}
},
"value": {
"$type": "String",
"$port": {
"id": "translationVector",
"$type": "Value"
}
}
}
Map independent file to digital file
The MapIndependentFileToDigitalFile setting is of type bool and the default value is false.
Below is an example of how a correct MapIndependentFileToDigitalFile setting is configured in the attributes section:
{
"$type": "BooleanAttribute",
"$rules": [{
"lower": "0",
"upper": "1"
}
],
"name": {
"$type": "String",
"$port": {
"value": "MapIndependentFileToDigitalFile",
"$type": "Value"
}
},
"value": {
"$type": "String",
"$port": {
"id": "mapIndependentFileToDigitalFile",
"$type": "Value"
}
}
}
Organization name
The OrganizationName setting is of type string and the default value is
OrganizationName_Not_Defined.
Below is an example of how a correct OrganizationName setting is configured in the attributes section:
{
"$type": "StringAttribute",
"$rules": [{
"lower": "0",
"upper": "1"
}
],
"name": {
"$type": "String",
"$port": {
"value": "OrganizationName",
"$type": "Value"
}
},
"value": {
"$type": "String",
"$port": {
"id": "organizationName",
"$type": "Value"
}
}
}
Organization address
The OrganizationAddress setting is of type string and the default value is
OrganizationAdress_Not_Defined.
Below is an example of how a correct OrganizationAddress setting is configured in the attributes section:
{
"$type": "StringAttribute",
"$rules": [{
"lower": "0",
"upper": "1"
}
],
"name": {
"$type": "String",
"$port": {
"value": "OrganizationAddress",
"$type": "Value"
}
},
"value": {
"$type": "String",
"$port": {
"id": "organizationAddress",
"$type": "Value"
}
}
}
Author name
The AuthorName setting is of type string and the default value is Author_Not_Defined.
Below is an example of how a correct AuthorName setting is configured in the attributes section:
{
"$type": "StringAttribute",
"$rules": [{
"lower": "0",
"upper": "1"
}
],
"name": {
"$type": "String",
"$port": {
"value": "AuthorName",
"$type": "Value"
}
},
"value": {
"$type": "String",
"$port": {
"id": "authorName",
"$type": "Value"
}
}
}
Author address
The AuthorAddress setting is of type string and the default value is AuthorAddress_Not_Defined.
Below is an example of how a correct AuthorAddress setting is configured in the attributes section:
{
"$type": "StringAttribute",
"$rules": [{
"lower": "0",
"upper": "1"
}
],
"name": {
"$type": "String",
"$port": {
"value": "AuthorAddress",
"$type": "Value"
}
},
"value": {
"$type": "String",
"$port": {
"id": "authorAddress",
"$type": "Value"
}
}
}
Documentation
The Documentation setting is of type string and the default value is Documentation_Not_Defined.
Below is an example of how a correct Documentation setting is configured in the attributes section:
{
"$type": "StringAttribute",
"$rules": [{
"lower": "0",
"upper": "1"
}
],
"name": {
"$type": "String",
"$port": {
"value": "Documentation",
"$type": "Value"
}
},
"value": {
"$type": "String",
"$port": {
"id": "documentation",
"$type": "Value"
}
}
}
Export AP242 data to an external task
To be able to configure an AP242 xml export and chain it with an external task the job has to be configured in a specific way. The first four tasks in the task sequence need to be in following order:
Export, the plain binary export task that exports ShareAspace data into a repositoryNovaToAP242Mapper, the mapper task that maps data into the AP242 formatAP242FileWriter, the file writer task that writes the repository content into an xml file- The external task that is intended to take the exported content.
Then a specific setting has to be added to the third task i.e. the file writer. An attribute
with the name Output and the value blob has to be added to the attributes list on the
task.
{
"$type": "StringAttribute",
"$rules": [
{
"lower": "0",
"upper": "1"
}
],
"name": {
"$type": "String",
"$port": {
"$type": "Value",
"value": "Output"
}
},
"value": {
"$type": "String",
"$port": {
"$type": "Value",
"value": "blob"
}
}
}
File logger
To enable the file logger the LogFilePath needs to be set correctly. The Attribute LogFilePath
needs to be configured in following sections: data, label, inputSchema, view and optionally also
outputSchema. In the Configuration of SoftType section is a description
of how to set up the data, label and schemas. The view should be configured with a Save As control.
It is good to configure the logging in an separate section.
An example of a correct configured Save As control in JSON can be found below:
{
"label": "Job Logging",
"type": "group",
"collapsible": true,
"collapse": false,
"fields": [{
"fields": [{
"$schemaRef": "logFilePath",
"type": "saveAs",
"colspan": 11
}
]
}
]
}
Reschedule job
The Reschedule Job functionality provides a way to base a new DataExchange job on an existing DataExchange job.
This is accomplished by configuring a Copy view for each DataExchange job that should have the Reschedule functionality.
Schema
Make sure that the input and output schemas are aligned since both will be used by Reschedule Job.
View
The Copy view should contain all fields that we want to reuse from the original. These fields will be populated using the values from the original.
All fields that are available in the input and output schemas can be used.
Example of a Copy view for a simple Export job (this is very similar to the create view, but with the id copy and an outputSchemaRef defined):
{
"id": "copy",
"label": "Reschedule",
"$inputSchemaRef": "defaultIn",
"$outputSchemaRef": "defaultout",
"fields": [
{
"label": "Job Info",
"type": "group",
"fields": [
{
"fields": [
{
"$schemaRef": "message",
"type": "validation",
"colspan": 1
},
{
"$schemaRef": "message",
"label": "@default",
"type": "label",
"colspan": 3
},
{
"$schemaRef": "message",
"helper": "Message",
"type": "textField",
"colspan": 7
}
]
},
{
"fields": [
{
"$schemaRef": "outputFilePath",
"type": "saveAs",
"colspan": 11
}
]
},
{
"fields": [
{
"$schemaRef": "exportObjects",
"type": "validation",
"colspan": 1
},
{
"$schemaRef": "exportObjects",
"label": "@default",
"type": "label",
"colspan": 3
},
{
"$schemaRef": "exportObjects",
"type": "multiQuickSelect",
"colspan": 7,
"enableNew": false,
"softTypes": [
"ApplicationContext",
"GeneralClass",
"Organization",
"Person",
"Property",
"Unit",
"Contract",
"DesignPart",
"DesignShape",
"Document",
"ProductionShape",
"Project",
"ProjectCollaborationBreakdown",
"ProvisionedPart",
"StandardPart"
]
}
]
}
]
},
{
"label": "Export Settings",
"type": "group",
"fields": [
{
"fields": [
{
"$schemaRef": "resolveDepth",
"type": "validation",
"colspan": 1
},
{
"$schemaRef": "resolveDepth",
"label": "@default",
"type": "label",
"colspan": 3
},
{
"$schemaRef": "resolveDepth",
"values": [
{
"label": "3",
"value": 3
},
{
"label": "5",
"value": 5
},
{
"label": "10",
"value": 10
},
{
"label": "15",
"value": 15
},
{
"label": "20",
"value": 20
}
],
"type": "select",
"colspan": 7
}
]
},
{
"fields": [
{
"$schemaRef": "fullResolve",
"type": "validation",
"colspan": 1
},
{
"$schemaRef": "fullResolve",
"label": "@default",
"type": "label",
"colspan": 3
},
{
"$schemaRef": "fullResolve",
"values": [
{
"label": "No",
"value": false
},
{
"label": "Yes",
"value": true
}
],
"type": "select",
"colspan": 7
}
]
},
{
"fields": [
{
"$schemaRef": "resolve",
"type": "validation",
"colspan": 1
},
{
"$schemaRef": "resolve",
"label": "@default",
"type": "label",
"colspan": 3
},
{
"$schemaRef": "resolve",
"values": [
{
"label": "Default",
"value": "ClassificationReference_referencedClass,MainIdentifier_context,PersonOrganizationReference_assignedPersonOrganization,PropertyValue_definition,PropertyValueWithUnit_unit"
},
{
"label": "Part Structure",
"value": "ClassificationReference_referencedClass,MainIdentifier_context,PersonOrganizationReference_assignedPersonOrganization,PropertyValue_definition,PropertyValueWithUnit_unit,NextAssemblyUsage_child"
},
{
"label": "Project",
"value": "ClassificationReference_referencedClass,MainIdentifier_context,PersonOrganizationReference_assignedPersonOrganization,PropertyValue_definition,PropertyValueWithUnit_unit,NextAssemblyUsage_child,ProjectReference_project"
}
],
"type": "select",
"colspan": 7
}
]
}
]
}
]
}