Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


This document is intended for technical staff creating imports to Signifikant Platform and describes the Signifikant Simplified XML import format.

...

Batch size will split import file in parts to ensure no xml file gets too big. A reasonable size is to set BatchSizeMB to 20.


Import.config

Info

The import.config is automatically generated when Manager is started the first time. The location is C:\ProgramData\Signifikant\Assert\

...

The src attribute represents the path where the transformation style sheet is located. We can assign identification name to style sheet by giving a name in name attribute. The transformTo attribute represents to which format this transformation will transform.

...

Sources in version 4.x

Transformation and import files are loaded from locations specified by tags in XmlConfig

Code Block
languagexml
<Configurations>
	<TransformationConfigs><XmlConfig>
		<TransformationConfig src="C<ExportBasePath>D:\ProgramData\SignifikantAssert\Export</ExportBasePath>
		<ImportBasePath>D:\Assert\WindchillXml.xsl" nameImport</ImportBasePath>
	</XmlConfig>

Sources in version 5.0

In version 5.x it is possible to define sources. A source is a concept of a source system, regardless of which transforms are used and where the files are stored. A source may be defined by its location or its folder name. Each source will appear as a column in import storage and as an option in task manager in the Manager application.

Defining sources using location.

Code Block
languagexml
  <XmlConfig>
		<Sources>
			<ImportSource name="SystemA">
				<ExportBasePath>C:\Signifikant\SystemA\Export</ExportBasePath>
				<ImportBasePath>C:\Signifikant\SystemA\Import</ImportBasePath>
			</ImportSource>
			<ImportSource name="SystemB">
				<ExportBasePath>C:\Signifikant\SystemB\Export</ExportBasePath>
				<ImportBasePath>C:\Signifikant\SystemB\Import</ImportBasePath>
			</ImportSource>
			<ImportSource name="SystemC">
				<ExportBasePath>C:\Signifikant\SystemC\Export</ExportBasePath>
				<ImportBasePath>C:\Signifikant\SystemC\Import</ImportBasePath>
			</ImportSource>
		</Sources>
  </XmlConfig>

Defining sources using folder name. In this case each transform will get its own configuration.

Code Block
languagexml
  <TransformerSettingList>
			<TransformerSetting Name="Parts" TransformType="SignifikantSimplifiedXml">
				<!-- Each transform may have its own location of transformation files -->
				<StylesheetPath>C:\ProgramData\Signifikant\Assert</StylesheetPath>
                <!-- Folder regex us used to identify source system, all exports located at the export base path. -->
				<FolderRegexSettings>
					<FolderRegexSetting>
						<Source>SystemA</Source>
						<Regex>Parts_SystemA|PARTS_SYSTEMA</Regex>
					</FolderRegexSetting>
					<FolderRegexSetting>
						<Source>SystemB</Source>
						<Regex>Parts_SystemB|PARTS_SYSTEMB</Regex>
					</FolderRegexSetting>
					<FolderRegexSetting>
						<Source>SystemC</Source>
						<Regex>Parts_SystemC|PARTS_SYSTEMC</Regex>
					</FolderRegexSetting>
				</FolderRegexSettings>
				<SequenceNumber>42</SequenceNumber>
				<BatchSizeMB>10</BatchSizeMB>
				<BatchCounter>10</BatchCounter>
			</TransformerSetting>
	</TransformerSettingList>

Languages in version 4.x and 5.0

Valid languages are defined in ImportSettings

Code Block
languagexml
<ImportSetting>
    <!-- If no language specified, use this -->
	<DefaultTextLanguage>en-US</DefaultTextLanguage>
	<!-- Do not allow to create new languages at import -->
	<AutoAddNewLanguage>false</AutoAddNewLanguage>
    <!-- Only this list of languages will be allowed at import -->
	<AllowOnlyValidLanguages>true</AllowOnlyValidLanguages>
						
	<ValidLanguages>
		<Language>en-US</Language>
		<Language>da-DK</Language>
	</ValidLanguages>
</ImportSettings>

Languages in version 5.1 and later

In version 5.1 and later it is possible to map language codes and all language settings are collected within LanguageSettings tag inside ImportSettings.

Code Block
languagexml
<ImportSetting>
    <LanguageSettings>
        <!-- If no language specified, use this -->
		<DefaultTextLanguage>en-US</DefaultTextLanguage>
		<!-- Do not allow to create new languages at import -->
		<AutoAddNewLanguage>false</AutoAddNewLanguage>
        <!-- Only this list of languages will be allowed at import -->
		<AllowOnlyValidLanguages>true</AllowOnlyValidLanguages>
		
		<!-- If language code french is used, map it to fr-FR. -->
		<LanguageCodeMapping>
			<Language alias="french" culture="fr-FR" />
		</LanguageCodeMapping>
		
		<ValidLanguages>
			<Language>en-US</Language>
			<Language>fr-FR</Language>
		</ValidLanguages>
	</LanguageSettings>
</ImportSettings>
Info

Note that language codes cannot be longer than 8 digits.

Sample import.config

Code Block
languagexml
<Configurations>
	<TransformationConfigs>
		<TransformationConfig src="C:\ProgramData\Signifikant\Assert\WindchillXml.xsl" name="WindchillXml" transformTo=".xml" />
		<TransformationConfig src="C:\ProgramData\Signifikant\Assert\signifikant_signifikantToXliff.xsl" name="SignifikantToXliff" transformTo=".xml" />
		<TransformationConfig src="C:\ProgramData\Signifikant\Assert\signifikant_signifikant_to_signifikantSimplified.xsl" name="SignifikantToSignifikantSimplified" transformTo=".xml" />
		<TransformationConfig src="C:\ProgramData\Signifikant\Assert\signifikant_xliffToSignifikant.xsl" name="XliffToSignifikant" transformTo=".xml" />
		<TransformationConfig src="C:\ProgramData\Signifikant\Assert\signifikant_signifikantsimplifiedToSignifikant.xsl" name="SignifikantSimplifiedToSignifikant" transformTo=".xml" />
		<TransformationConfig src="C:\ProgramData\Signifikant\Assert\SSXExport_parts.xsl" name="SSXExport_parts" transformTo=".xml" />
		<TransformationConfig src="C:\ProgramData\Signifikant\Assert\SSXExport_assemblies.xsl" name="SSXExport_assemblies" transformTo=".xml" />
		<TransformationConfig src="C:\ProgramData\Signifikant\Assert\SSXExport_hotspots.xsl" name="SSXExport_hotspots" transformTo=".xml" />
	</TransformationConfigs>
	<XmlConfig>
		<ExportBasePath>D:\Assert\Export</ExportBasePath>
		<ImportBasePath>D:\Assert\Import</ImportBasePath>
		
		<StyleSheetsBasePath>C:\ProgramData\Signifikant\Assert</StyleSheetsBasePath>

        <Sources/>
        
		<!-- When new presentations are imported they will get this item status. The item status has to be defined in itemstatus.config. -->
		<InitialItemStatusList>
			<InitialItemStatus base-type="Part" initial-value="NEW" />
			<InitialItemStatus base-type="Catalogue" initial-value="NEW" />
			<InitialItemStatus type-code="Kit" initial-value="NEW" />
		</InitialItemStatusList>

		<ImportSetting>
			<UseCache>false</UseCache>
			<LoadCache>false</LoadCache>
			<StopOnError>false</StopOnError>
			<MailEnabled>true</MailEnabled>/MailEnabled>
			<MailFromManager>true</MailFromManager>
			<MailFromAPI>true</MailFromAPI>
			<MailAtSuccess>true</MailAtSuccess>
			<MailAtFailure>true</MailAtFailure>
			<MailFromManager>true<<MailSender>noreply@domain.com</MailFromManager>MailSender>
			<MailFromAPI>true<<MailRecipient>admin@domain.com</MailFromAPI>MailRecipient>
			<MailAtSuccess>true</MailAtSuccess><!-- If no language specified, use this -->
			<MailAtFailure>true<<DefaultTextLanguage>en-US</MailAtFailure>DefaultTextLanguage>
			<MailSender>noreply@domain.com</MailSender><!-- Do not allow to create new languages at import -->
			<MailRecipient>admin@domain.com<<AutoAddNewLanguage>false</MailRecipient>AutoAddNewLanguage>
			<!-- If no language specified, use thisNew specification types cannot be created at import -->
			<DefaultTextLanguage>en-US</DefaultTextLanguage><AllowNewSpecificationTypes>false</AllowNewSpecificationTypes>
			
			
			<!-- Do not allow to create new languages at import Version 4.x and 5.0 -->
			<!-- If no language specified, use this -->
			<AutoAddNewLanguage>false<<DefaultTextLanguage>en-US</AutoAddNewLanguage>DefaultTextLanguage>
			<!-- Do Newnot specificationallow typesto cannotcreate benew createdlanguages at import -->
			<AllowNewSpecificationTypes>false<<AutoAddNewLanguage>false</AllowNewSpecificationTypes>AutoAddNewLanguage>
			<!-- Only this list of languages will be allowed at import -->
			<AllowOnlyValidLanguages>true</AllowOnlyValidLanguages>
			<ValidLanguages>
				<Language>en-US</Language>
				<Language>da-DK</Language>
			</ValidLanguages>
			
			<!-- Version 5.1 and later -->
			<LanguageSettings/>
			
		</ImportSetting>
		<TransformerSettingList>
			<TransformerSetting Name="Illustrations" TransformType="SignifikantSimplifiedXml">
				<StylesheetPath>C:\ProgramData\Signifikant\Assert</StylesheetPath>
				<FolderRegex>Illustrations</FolderRegex>
				<!-- Alternative path for this type of information -->
				<ExportBasePath>C:\Export</ExportBasePath>
				<SequenceNumber>1</SequenceNumber>
				<BatchSizeMB>20</BatchSizeMB>
				<BatchCounter>0</BatchCounter>
				<!-- By default specification types that come in XML cannot change the type already in the database. By setting this tag to true specification types in import will update the type in the database.
				This setting is available from version 4.5.3 and later. -->
				<EnableEditExistingSpecificationTypes>false</EnableEditExistingSpecificationTypes>
			</TransformerSetting>
			<TransformerSetting Name="Parts" TransformType="SignifikantSimplifiedXml">
				<StylesheetPath>C:\ProgramData\Signifikant\Assert</StylesheetPath>
				<FolderRegex>Parts</FolderRegex>
				<SequenceNumber>3</SequenceNumber>
				<BatchSizeMB>20</BatchSizeMB>
				<BatchCounter>0</BatchCounter>
			</TransformerSetting>
			<TransformerSetting Name="Assemblies" TransformType="SignifikantSimplifiedXml">
				<StylesheetPath>C:\ProgramData\Signifikant\Assert</StylesheetPath>
				<FolderRegex>Assemblies</FolderRegex>
				<SequenceNumber>4</SequenceNumber>
				<BatchSizeMB>20</BatchSizeMB>
				<BatchCounter>0</BatchCounter>
			</TransformerSetting>
			<TransformerSetting Name="Catalogues" TransformType="SignifikantSimplifiedXml">
				<StylesheetPath>C:\ProgramData\Signifikant\Assert</StylesheetPath>
				<FolderRegex>Catalogues</FolderRegex>
				<SequenceNumber>5</SequenceNumber>
				<BatchSizeMB>20</BatchSizeMB>
				<BatchCounter>0</BatchCounter>
			</TransformerSetting>
		</TransformerSettingList>
	</XmlConfig>
</Configurations>

...

*    The persistent-identity is the only attribute that is required in the import file. Often the identity, persistent-identity and number are the same, but there are use cases where these have different values.

Info

PersistentID

The persistentID has to be unique per type of information and no duplicates may exist. E.g. there may only be one part with the same persistentID.

If persistentID is not unique the import engine will get confused and unexpected results may occur.

Specifications

You can add an arbitrary number of additional attributes to most data types in the Signifikant information model. During import, you provide their values by using the Specifications tag which takes key/value pairs (called type and value).

...

Each text may be defined by a persistent id which can be referred from all other exports. Each text contains all translations for that text with language defined using ISO 639-1 alternatively ISO 639-1 and ISO 3166.

A text with language "" is considered being invariant, the same for all languages.

...