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 AttributeId
and 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
}
]
}
]
}
]
}