Document numberRevision
DOCU148251

<feature name="export"> Element - Schema Reference

Definition

The BOM Export feature allows you to create multiple export profiles, each defining the contents and permissions for users when generating detailed reports and exporting data and files from Highstage.

 

Elements

Overview

Overview of the elements and attributes that are associated with the <feature name="export"/> element.

ElementAbout
feature/profileDefines a single unique export profile
feature/profile/typeExplicit data and file configuration for objects of a specific type.
feature/profile/type/columnConfiguration of specific data columns.
feature/profile/reportDefines which reports to generate when exporting.
feature/profile/report/resourceObject containing files for specific reports (may be required by certain report elements).
feature/profile/attachmentInclude files from unrelated objects in the export as attachments.

 

Details

Details on each element's purpose, function, and attributes.

 

feature/profile

Each profile element (with a unique name) will be available for users to choose from when exporting objects of that type.

AttributeTypeMandatory/OptionalFallback value (if undefined)Description
nameStringMandatoryN/AUnique element name.
included-typesType (list)Optional* (all available types)list of available base- and subtypes (semicolon separated (;). Objects of listed types will be available for export.
excluded-typesType (list)OptionalEmpty list (nothing is excluded)List of available base and subtypes (semicolon-separated ;). Objects of these types cannot be exported, overriding the included-types attribute.
regex-file-patternRegexOptional^[^~].* (Include all files except those starting with ~.)A regular expression (regex) that specifies the files available for export applying to all objects.
filenameStringMandatoryN/ADefine the package folder name (Use datetime runtime variables to avoid file name collisions. The export will not overwrite existing files; it will fail if a duplicate already exists).
foldernameStringOptional~exportsCreates a dedicated folder, from the export object, for the export packages.

You can set unique write permissions on this folder to let users manage past exports.
export-rolesVector roles (list)MandatoryN/AList of vector roles (semicolon-separated ;) allowed to use export with the selected profile.
enforce-securityBooleanOptionaltrue⚠️ Overrules default access security, if specified and set to false
Decide if user-specific security and permissions should be applied (true) or disabled (false) for the exported contents. This controls whether users can export data and files they are not allowed to view.
     

 

 

feature/profile/type

The <type> element is optional, but it gives you control over what data columns are exported for each object type.

Use the <type> element when you want to customize what data is shown and exported — for example, if the default reference view in Highstage doesn't match what you want to export for any specific object type in your BOM.

You can, for any type:

Note: If you want to include reference columns, then you have to define a grid.

If no <type> element is defined:

This default grid uses the ref-columns attribute to decide which columns to show.

Important merging data across types using titles If two or more data columns have the same title, across types, they will be combined into a single column in the preview and reports. This helps consolidate related information across different types.

Defining a type without content? If a <type> is defined without any defined <column> elements nor grid attribute, then we only preview and export the level and object columns.

Example:

If your export profile includes a <type> element but does not define a grid or any <column> elements, only the following data will be shown in the preview and export for any documents in the BOM:

  • level – the document’s placement in the BOM

  • Object – the document's object name

No other data will be included unless you explicitly define it.

 

AttributeTypeMandatory/OptionalFallback value (if undefined)Description
nameStringMandatoryN/AThe name of the object type (either a base- or subtype) that you wish to configure. This includes specifying which grid and/or columns to display and export.
gridGridOptionalN/ADefine a grid (must be a grid that's available on the type defined in the name attribute). The data columns associated with the selected grid will be displayed and exported for objects of that type including their listed order.

Supported Data Columns: Only physical data columns and virtual columns that have an sqlselect or column attribute will be available for export.

Data Column Titles: By default, we use the titles defined for each data column. If no title is specified, the name of the data column will be used instead (can be overruled for each data column using the column element).
regex-file-patternRegexOptionalIf not defined, default to regex-file-pattern from profile definition.A regular expression (regex) that defines the files available for export for objects of this type. This expression overrides the regex-file-pattern specified in the profile element.

 

 

feature/profile/type/column

To display and export a specific data column, or to change its title, add a <column> element under its related <type>. In other words, use the column element to control which data columns are shown and exported for a specific object type (and also to define the order of occurrence in the reports).

AttributeTypeRequired/OptionalDefault ValueDescription
nameStringRequired Define the name of a specific data column (must be the name of an existing data column available on the associated type).
TitleStringOptionalnameProvide a title for the data column. Columns with the same title will be combined into one column in the export preview and output. If no title is provided, the column's title or name from its definition will be used.

 

 

feature/profile/report

The report element defines the settings, appearance, and content of a single generated export report of a specific filetype (supporting .xlsx, .html, and .pdf).

AttributeTypeRequired/OptionalDefault ValueDescription
nameStringRequiredN/AUnique name.
filenameStringRequiredN/ADefines the file name for the report that is created (ensure that each report has a unique filename to avoid errors caused by duplicate filename).
generatorStringRequiredN/AThe name of the generator (default or custom) responsible for creating the report's file, content, and layout (default available generator includes HighstageExcel, HighstageHtml, HighstageJson, HighstageTemplatedExcel).

 

 

feature/profile/report/resource

Item containing template file for specific reports (may be required by certain report elements).

Note: It is only possible to use objects that have an associated folder. This includes Documents, Actions, Parts, Devices, and other item-based types. Objects without a folder cannot be used.

AttributeTypeRequired/OptionalDefault ValueDescription
nameStringRequiredN/AUnique name.
objnameStringRequiredN/AName of object.
objtypeStringRequiredN/AType of object.
filterStringeither filter or version must be defined, but not both.N/AUse filter xor version.
Specify the filter to select the a single object version/revision when more exists (e.g., latest approved, latest etc.).

Must be a filter available for the specified type.
versionStringeither filter or version must be defined, but not both.N/AUse filter xor version.

Define which specific version (version/revision) of the object to be used as generator template.
regex-file-patternRegexOptionalprimary file.A regular expression (regex) that defines which template(from the associated object) that will be used as template for the generator.

If no regex pattern is defined, we simply select the primary file associated with the object.

 

feature/profile/attachment

Note: It is only possible to use objects that have an associated folder. This includes Documents, Actions, Parts, Devices, and other item-based types. Objects without a folder cannot be used.

The attachment element allows you to include additional files in your export, such as instructions for reading the export content, even if they are not part of the exported structure.

Attachments (files associated with the attached objects) will always be placed in the root folder of the exported contents.

AttributeTypeRequired/OptionalDefault ValueDescription
nameStringRequiredN/AUnique name.
objnameStringRequiredN/AName of object.
objtypeStringRequiredN/AType of object specified in the obj attribute.
filterStringeither filter or version must be defined, but not both.N/AUse filter xor version.
Specify the filter to select the a single object version/revision when more exists (e.g., latest approved, latest etc.).

Must be a filter available for the specified type.
versionStringeither filter or version must be defined, but not both.N/AUse filter xor version.

Define which specific version (version/revision) of the object to be used as attachment.
regex-file-patternRegexOptionalprimary file.A regular expression (regex) that defines which files (from the associated object) that will be included as files in the exported content package.

If no regex pattern is defined, we simply select the primary file associated with the object.

 

Report generators

Export reports in Highstage are highly customizable to meet the different needs and preferences of each organization. These reports contain all data linked to the exported BOM.

To support this flexibility, Highstage lets you create your own dynamic report generators. You can define the file type, layout, formatting, and most importantly—the content of the export reports.

Highstage supports four standard report formats and also allows for dynamic report generators. Dynamic report generation lets customers implement their own custom report formats.

A set of built-in generators is included in Highstage to handle the most common use cases. For more advanced needs—such as data processing, merging, summarizing, or using custom file formats—you can create your own dynamic report generators.

By creating custom .aspx files and linking them to a report as a generator, you gain full control over the report generation. The interface gives access to all export data, so you can fully define the structure and content of your custom reports.

Standard report formats

The four standard reports prints all data included in the export profile. Highstage includes four ready-to-use report generators that can be used in the <report> element:

Guides and Samples

Standard export profile definition

This export profile is distributed by default with Highstage for all standard types that have an associated folder (including Documents, Actions, Parts, Devices):

Note: This profile does not include any type definitions. The export will include the same data columns shown in the reference sections for the objects in your BOM (as defined in the ref-columns attribute on the <grid> element used by default for any object type).

 

Using default report generators

About

Highstage includes four ready-to-use report generators that can be used in the <report> element as introduced here.

This is an example of a profile that creates 4 unique reports for every successfully executed export, using all the default generators; HighstageExcel, HighstageHtml, HighstageJson, and HighstageTemplatedExcel (defined as values in the generator attribute for each <report> element):

Note: Make sure each filename is unique. Reports may not use the same filename and will result in an error.

Each completed export package will include 4 generated reports with relevant BOM data: image-20250616095603439

 

 

 

Output data: Note: The .JSON report includes the raw database values, not the column titles used in other reports (E.g, the .json report returns 1 instead of working for the status column from Documents).

 

Setup of Excel templates using the <resource> element:

When using the HighstageTemplatedExcel generator, you must use the <resource> element to assign an .xlsx template for the generated reports. Point it to an existing object in Highstage that contains an .xlsx file. In the Excel file, the system looks for a cell named [table_start] (can be located on any tab):

image-20250616110900716

The system uses this Excel file as a template and inserts BOM data starting at [table_start].

 

Creating and using custom report generators

If you need reports not covered by the standard generators, you can create custom generators. This gives you full control over file types and content, including manipulation, aggregation, and consolidation of data and much more.

You can generate any file type as an export report, as long as you can write the file’s content to a C# stream. The interface provides all the export data you need to build your report exactly how you want it.

Templates

We provide two custom generators as a starting point for creating your own: HighstageHelloWorld.aspx and HighstageExcelConsolidatedSupplier.aspx. You can find them at ../ts_webapp/ts/export/generators: image-20250616113739936

 

Instructions

  1. Copy an existing template or create your own .aspx generator, and place it in your dedicated tweak folder.

  2. Create your own .aspx generator by implementing TS.Object.Export.IReportGenerator and assigning an appropriate class name for your generator (e.g., CustomExportGenerator):

  3. Insert an <execute> element into your custom.schema.xml (or any included .xml schema file in your dedicated tweak folder) pointing to the directory of the .aspx generator:

    Note: The <execute> element must be placed outside of any <type> element.

  1. To retrieve the name of your custom generator, call the .aspx file in a browser. The name will be displayed like this: image-20250616121244224

    Note: The generator name will change if you move the .aspx file or rename the class in the file. You will then need to retrieve the updated generator name by calling the .aspx file in a browser.

  2. You can now use your generator in a <report> element within any export profile definition:

  3. Restart Highstage for all changes to be applied.

You have now configured your custom report generator and added it to one or more export profiles. When you use these profiles, the export package will include the generated reports: image-20250616123425707