Table of Contents
Last updated: 2024-06-26

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:

  1. Export, the plain binary export task that exports ShareAspace data into a repository
  2. SasFileWriter, the file writer task that writes the repository content into a binary file
  3. 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:

  1. Export, the plain binary export task that exports ShareAspace data into a repository
  2. NovaToAP242Mapper, the mapper task that maps data into the AP242 format
  3. AP242FileWriter, the file writer task that writes the repository content into an xml file
  4. 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
            }
          ]
        }
      ]
    }
  ]
}