Table of Contents
Last updated: 2024-06-26

Configuration


Compare


The compare functionality has its own module in the client section of the template. Create a new module and select the type "Compare":

Create compare module

The required fields in the main definition window are shown below:

Main definition window

You must choose an output view. You might want to create a special output view on your softtype to show only the fields that are interesting for comparison. However, in this example, we just choose the normal "read" view:

Output view

AcceptTypes controls what types that are allowed to be sent to the module using "Open In". "SoftTypes" in the main settings page controls what you can search for in the Compare module. Add these as shown below:

Accept types

Multi select/edit


Configuration of the "Multi select/edit" functionality is done in the "Generic" module under the "multiActions" branch:

MultiActions

In the definition of your multi-editing you need to select a "view" which is the dialog in which the multi-editing will be performed. Your view should be specially tailored to "multi-editing" because many of the normal fields like "id, name, versionId" you would definitely NOT want to be a part of multi-editing. Below you see an example of a view that only shows fields that are interesting for multi-editing.

Multi view

Notice that there is also a special input and output schema for just multi-editing shown in the example above. Although you probably can use your defaultIn and defaultOut schemas you might want to use specialized schemas since so few fields are needed. Also, the defaultIn will usually contain several "required" fields that will probably be very confusing for a multi-edit.

Below is the input schema for the example above and as you see it only contains the fields used in the multi view. The output schema can be the same.

Multi schema

Context Object Module


The Context object module is a module similar to the structure module. The main difference is that, in the context object module, the root object, i.e. the context object, will always stay as an active selection in addition to any selection of an object found via reference navigations or queries.

Layout

Context object module layout

Description
1 The object that was passed to the module, via "Open in" or via "deep link". The object is the tree root and also the context object for the module.
2 The structure breakdown for the context object. The structure definition to use is configured in the module configuration. In this example the structure configuration is leveraging the structure grouping functionality. More on this in the Structure grouping section and the Query grouping section.
3 The ribbon menu for the context object. This ribbon section will always be active no matter other selections within the module. The actions in this section will operate on the context object. The ribbon actions are controlled by the module configuration.
4 The ribbon menu for the selected object. This ribbon is only visible when selecting an object other than the context object within the module.
5 The default presentation of the context object. This section is always visible. The default presentation is controlled by the SoftType configuration for the context object SoftType.
6 The context object presentation view. This is a view configured on the SoftType of the context object SoftType. The view differs from all other views in ShareAspace. The configuration looks the same but groups and controls are laid out horizontally instead of vertically. Which view to use is controlled via the module configuration.
7 The tree list / query result grid. Displays the children of a selected tree node / tree group or the result of a selected query in the tree configuration. The grid is paged both for structure navigations and queries.
8 The read view of the selected object. Which view to use is controlled in the module configuration.

Configuration

The context object module is a module type available in the configuration tool. The type is named ContextObject. The configuration is similar to the structure module configuration but with the addition of configurations for the context object actions.

The key configurations for the context module are the context actions and the selection of a structure configuration to use.

Module configuration

1 The structure configuration to be used for the Context object module.
2 The section that controls the context object specific configurations. The other configurations work the same way as for the tree module.

Structure configuration

The structure configuration applies both to the context module as well as the structure module. It is possible to nest structure configurations via the grouping configuration as well as having queries as part of the structure navigation.

Structure grouping

The grouping allows you to create a "virtual" node in the tree breakdown. The group applies to the parent and will navigate its children using a defined structure configuration. The "virtual" node can be configured with its own name and its own icon. If no icon is specified the default presentation will use a folder icon for the group.

It is possible to specify different groups for different parent SoftType types. It is also possible to filter out which child references should appear using the session criteria.

Each SoftType can have multiple groups defined.

Structure group configuration

1 The group configuration. In this case configured for Parts to have a group "General" using the "General" structure definition. Presentation for the group is picked from the presentation name of the structure configuration used. In this example, the "PartGroup" structure configuration has no linking defined for the context object. Instead the navigation is done within the configured group. It is however possible to mix "normal" structure navigation with the groups. It is also possible to nest these configurations to have groups on multiple levels of the tree.
2 The structure configuration referenced by the group in (1).

Query grouping

Another grouping capability is the ability to configure queries with input from the data on the parent. These queries will show up as if they were tree navigations.

Queries can be configured per SoftType.

Query group configuration

1 The query group configuration. In this example, there is a query group configured for the Part SoftType. The query used is a "Where used" query that will find parts where the context object is a child. This is done by passing the version oid of the context object to the query. The query is using an index that holds children of Parts. The presentation of the group will be picked from the name in the query presentation settings.

Tile Icons


Here you will see how to configure the "Tile Icons" that are shown in the main menu of Nova.

Tile Icons in the main menu

Default configuration

Tile Icons are configured in the client section of the ConfigTool

Tile Icons in config tool

Here you see that there are 2 definitions for the tile icons

  1. TileIconRelativePath - This is the icon shown when the mouse is not hovering over the icon
  2. TileIconHoverRelativePath - This is the icon shown when the mouse is hovering over the icon

You can see these same definitions in the template under the "Clients" section:

{
    "$id": "COMMON.Messages",
    "$moduleRef": "Messages",
    "prioritized": false,
    "settings": {
    "tileIconRelativePath": "Client/Web/TileIcons/messages_40.svg",
    "tileIconHoverRelativePath": "Client/Web/TileIcons/messages_fill_40.svg",
    "documentationRef": "/documentation/help/application/modules.html#messages",
    "queryCategories": "message",
    "defaultQuery": "Message.All"
    }
},

The default location of the file icons is in the Collection file area in the path Collection/Client/Web/TileIcons:

default location of the file icons

Custom configuration

If you want to add your own custom tile icons, you can put them anywhere in the "Collection" file area.

In the example below, here are 2 new icons added in the path Collection/Custom/TileIcons:

Example Custom location of the file icons

These are then used in the ConfigTool as shown below:

Custom Tile Icons in config tool

The JSON definition in the template then looks like the following:

{
    "$id": "COMMON.Files",
    "$moduleRef": "Files",
    "prioritized": true,
    "settings": {
    "tileIconRelativePath": "Client/Web/Custom/document_text_40.svg",
    "tileIconHoverRelativePath": "Client/Web/Custom/document_text_fill_40.svg",
    "documentationRef": "https://docs.shareaspace.com/v1-5/gui-user-guide/ui-intro/files.html"
    }
},

Modules


This section covers the possible configurations for the different out-of-the-box Modules.

Create in ConfigTool

There are many different modules and each one has a different meaning and different rules for configuration. Here we will quickly demonstrate an example of just one of the basic modules 'SoftTypeAuthoring'. Then the rest of this chapter will give a much more detailed description of all the fields that were quickly shown in this example as well as all the rest of the modules.

  1. Select project
  2. Select CLIENTS
  3. Hit 'add module'

add module

Enter a unique Id among all the modules and select the type "SoftTypeAuthoring'

add module

Select the module you just created. Shown on the right in the picture below is the minimum of what the module can be defined as. See the rest of this section to find out the meanings of each of these fields.

add module

Configuration

All modules will have the following configuration properties.

  • $id - Identifier of the Module
  • $moduleRef - Identifier used for the Module in the Collection Bootstrap
  • prioritized - If set to true the Module will show up on the Space home page
  • $roleRef - Optional string containing the id of a configured role. Used together with $participantRef
  • $participantRef - Optional string (required if $roleRef is set) containing the id of a configured participant. Only users with a Role $roleRef in Participant $participantRef will have the Module prioritized
  • settings - Optional object containing additional Module settings. What settings parameters are available are defined by the each Module
{
  "$id": "ModuleId",
  "$moduleRef": "ModuleRef",
  "$roleRef": "RoleId",
  "$participantRef": "ParticipantId",
  "prioritized": true,
  "settings": {
    ...
  }
}

Settings

{
  ...
  "settings": {
    "title": "My Title",
    ...
  }
}

group

The group will be a grouping of icons on the Space home page. If set then a large box will be around this group of icons. See the titleIconClass which defines the icon that will be inside this grouping of icons.

title

The title setting is optional and supported by all modules. If set it will override the default module title.

The value of title is a string. The value will be shown under the icon on the dashboard and in the tab when opening the module. If this setting is not given the modules default value will be used.

Note

The title in the tab can be overridden when navigating to the module through a Deep Link or from a “Send-To”-menu.

titleIconClass

The titleIconClass setting is Optional and supported by all modules. If set it will override the default module tile icon.

The setting is a string with the CSS class for the icon to be used on the dashboard (project start page).

queryCategories

The queryCategories setting is optional and is supported by Modules using queries.

The value of queryCategories is a comma separated string of Query categories for Queries to be used by the Module (see the Index and queries Configuration).

"settings": {
  "queryCategories": "COMMON.Part"
}

defaultQuery

The defaultQuery setting is optional and is supported by Modules using queries.

The value of defaultQuery is an Id of a query to be executed when the module is opened.

"settings": {
  "defaultQuery": "COMMON.Part.My"
}

baseTypes

The baseTypes setting is optional and is used to configure a module to handle all SoftTypes of a specific “base type”, i.e. PLM object. All SoftTypes that are specializations of the configured base types will be available in the module.

The value of baseTypes is a comma separated string of PLM types.

"settings": {
  "baseTypes": "Part,Document"
}

SoftTypes

The softTypes setting is optional and is used to configure a module to only manage a certain set of SoftTypes.

The value of softTypes is a comma separated string of SoftType ids.

"settings": {
  "softTypes": "DesignPart,StandardPart"
}

acceptTypes

The acceptTypes setting is optional.

The value of acceptTypes is a string with a comma separated list (or a single item) containing the SoftTypes Ids of SoftTypes that can be passed to the module.

This means that a SoftType object of one of the configured acceptTypes can be passed to the module, and then handled by the module in some way. This also means that the framework will create menu items in the “Send-To”-menu (located in the ribbon) and in any linkable SoftType component menu for the SoftType to the module where this setting is set. Without this setting on any module no menu items will be created.

"settings": {
  "acceptTypes": "DesignPart,StandardPart"
}

pageSize

The pageSize setting is optional and the default is 10. Setting this to another number will change the default number of items returned by the query.

tabPresentation

The tabPresentation setting is optional and should only be used together with the acceptTypes setting. The setting makes it possible to control what text to display in the module tab when navigating to the module (using a deep link or when navigating from a menu).

Valid values:

  • @default – the default presentation of the SoftType passed to the module
  • @moduleId – the moduleId will be used. The moduleId is what is called $moduleRef in the project temple, and id in the bootstrap file. This is the default value
  • @structureId – only valid on the structure module
  • "a string" – You can set any hardcoded string here and it will be displayed in the tab.

actions

The actions setting is optional and should only be used together with the acceptTypes setting.

The value of actions is a comma separated list of actions that should be made available in menus used to navigate to the module. The SoftTypes in the acceptTypes configuration will have these actions in their SoftType link menus.

"settings": {
  "acceptTypes": "edit,version"
}

documentationRef

A link to online documentation for the module. The link can be relative (generated URI will use the same host as the ShareAspace Web application), or explicit (full http URI to a documentation resource on the network or online).

tileQuery

Supported on some Modules. Configuration parameter takes a query id. If set, the configured query will execute when the tile is rendered. The number of hits in the query result will be displayed as a counter on the tile. See user interface introduction. If the total number of hits exceed 1000 items the tile counter will display ´-1´.

List of Modules

This section will describe the settings object parameters used by each out-of-the-box Module.

SoftType Authoring

Available configuration on the Authoring module:

  • title
  • tileIconClass
  • queryCategories
  • defaultQuery
  • baseTypes
  • acceptTypes
  • SoftTypes
  • tabPresentation
  • actions - allowed values:
    • edit - Will make a link available in the acceptTypes SoftType action menus allowing the authoring module to open the edit form when passing a SoftType to the Module
    • version - Will make a link available in the acceptTypes SoftType action menus allowing the authoring module to open the new version form when passing a SoftType to the Module (this requires the SoftType to be of a versionable object)

Share Pack

  • title
  • tileIconClass
  • queryCategories
  • defaultQuery
  • shareRequestWorkItem - Id of a WorkItem SoftType to be used by the SharePack Module when a Share Request is to be sent
  • shareNotificationWorkItem - Id of a WorkItem SoftType to be used by the SharePack Module when a Share Notification is to be sent

User Management

  • title
  • tileIconClass

Runtime Definitions

  • title
  • tileIconClass

Data Exchange

  • title
  • tileIconClass
  • queryCategories
  • defaultQuery

Messages

  • title
  • tileIconClass
  • queryCategories
  • defaultQuery
  • SoftType

Event

  • title
  • tileIconClass
  • queryCategories
  • defaultQuery

Object Viewer

  • title
  • tileIconClass
  • acceptTypes
  • tabPresentation

Maturity Management

  • title
  • tileIconClass
  • queryCategories
  • defaultQuery

Project Information Management

  • title
  • tileIconClass
  • projectId - PLM Identifier of PLM Project to be loaded in by the Module

Query Management

  • title
  • tileIconClass

SoftType Structure

  • title
  • tileIconClass
  • acceptTypes
  • tabPresentation

Work Item Management

  • title
  • tileIconClass
  • queryCategories
  • defaultQuery
  • acceptTypes

Generic

The generic module's purpose is to very specifically allow access to a given actions/views/queries/types or group of actions/views/queries/types. This module is considerably different to setup then all the other modules.

In the initial setup Settings for Generic module you find:

  • group
  • title
  • documentationRef
  • tileIconClass
  • defaultQuery
  • quickSearchQuery
  • onDoubleClick This is which "action" to execute when a row in the returned table is "double clicked".
  • baseTypes
  • pageSize
  • tabPresentation
  • softTypes

Once you create a "Generic Module" you must click on the arrow beside the module you just created to open up the tree to the following categories of actions to define.

Generic Module

  1. "staticActions" are of the type VersionHistory, WhereUsed, RequestApproval or OpenIn
  2. "actions" are Create, Update, NewVersion, Copy
  3. "outputViews" allow access to any specific view
  4. "queries" allow access to any specific query
  5. "acceptTypes" allow access to a specific SoftType

When you select any one of the above "categories" you then need to hit the "Add [...]" button on the right to begin the definition of one of those actions/views/queries/types.

A typical static action looks like the following:

Generic Module Definition

Note that multiple "Session criteria" will only be "OR-ed" together. There is no possibility for "and" or grouping expressions. Also, multiple "Object criteria" will only be "AND-ed" together. There is no possibility for "or" or grouping expressions.

During runtime, only one action/view/query/type is chosen at a time for usage within each of the categories above. The action/view/query/type chosen will be the first action/view/query/type found that all the criteria evaluates to true.

Generic Object Viewer

The Generic Object Viewer's purpose is to very specifically allow access to a given actions/views/types or group of actions/views/types for the "Object Viewer" screen.

In the initial setup Settings for the Generic Object Viewer module you find:

  • group
  • title
  • documentationRef
  • tileIconClass
  • isDefaultAction Is this the default action to be taken for this object's view.
  • onDoubleClick This is which "action" to execute when a row in the returned table is "double clicked".
  • tabPresentation
  • softTypes

Once you create a "Generic Object Viewer Module" you must click on the arrow beside the module you just created to open up the tree to the following categories of actions to define.

Generic Module

  1. "staticActions" are of the type VersionHistory, WhereUsed, RequestApproval or OpenIn
  2. "actions" are Create, Update, NewVersion, Copy
  3. "outputViews" allow access to any specific view
  4. "acceptTypes" allow access to a specific SoftType

When you select any one of the above "categories" you then need to hit the "Add [XXX]" button on the right to begin the definition of one of those actions/views/types.

A typical static action looks like the following:

Generic Module Definition

Note that multiple "Session criteria" will only be "OR-ed" together. There is no possibility for "and" or grouping expressions. Also, multiple "Object criteria" will only be "AND-ed" together. There is no possibility for "or" or grouping expressions.

During runtime, only one action/view/query/type is chosen at a time for usage within each of the categories above. The action/view/query/type chosen will be the first action/view/query/type found that all the criteria evaluates to true.

Generic Structure

The Generic Structure's purpose is to very specifically allow access to a given actions/views/types or group of actions/views/types for the "Structure" screens.

In the initial setup Settings for the Generic Object Viewer module you find:

  • group
  • title
  • documentationRef
  • tileIconClass
  • acceptTypes
  • tabPresentation

Once you create a "Generic Structure Module" you must click on the arrow beside the module you just created to open up the tree to the following categories of actions to define.

Generic Module

  1. "staticActions" are of the type VersionHistory, WhereUsed, RequestApproval or OpenIn
  2. "actions" are Create, Update, NewVersion, Copy
  3. "outputViews" allow access to any specific view
  4. "acceptTypes" allow access to a specific SoftType

When you select any one of the above "categories" you then need to hit the "Add [XXX]" button on the right to begin the definition of one of those actions/views/types.

A typical static action looks like the following:

Generic Module Definition

Note that multiple "Session criteria" will only be "OR-ed" together. There is no possibility for "and" or grouping expressions. Also, multiple "Object criteria" will only be "AND-ed" together. There is no possibility for "or" or grouping expressions.

During runtime, only one action/view/query/type is chosen at a time for usage within each of the categories above. The action/view/query/type chosen will be the first action/view/query/type found that all the criteria evaluates to true.