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":
The required fields in the main definition window are shown below:
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:
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:
Multi select/edit
Configuration of the "Multi select/edit" functionality is done in the "Generic" module under the "multiActions" branch:
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.
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.
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
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.
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.
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.
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.
Default configuration
Tile Icons are configured in the client section of the ConfigTool
Here you see that there are 2 definitions for the tile icons
- TileIconRelativePath - This is the icon shown when the mouse is not hovering over the icon
- 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:
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:
These are then used in the ConfigTool as shown below:
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.
- Select project
- Select CLIENTS
- Hit 'add module'
Enter a unique Id among all the modules and select the type "SoftTypeAuthoring'
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.
Configuration
All modules will have the following configuration properties.
$id
- Identifier of the Module$moduleRef
- Identifier used for the Module in the Collection Bootstrapprioritized
- If set totrue
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 prioritizedsettings
- 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, andid
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 theacceptTypes
SoftType action menus allowing the authoring module to open the edit form when passing a SoftType to the Moduleversion
- Will make a link available in theacceptTypes
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 sentshareNotificationWorkItem
- 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.
- "staticActions" are of the type VersionHistory, WhereUsed, RequestApproval or OpenIn
- "actions" are Create, Update, NewVersion, Copy
- "outputViews" allow access to any specific view
- "queries" allow access to any specific query
- "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:
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.
- "staticActions" are of the type VersionHistory, WhereUsed, RequestApproval or OpenIn
- "actions" are Create, Update, NewVersion, Copy
- "outputViews" allow access to any specific view
- "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:
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.
- "staticActions" are of the type VersionHistory, WhereUsed, RequestApproval or OpenIn
- "actions" are Create, Update, NewVersion, Copy
- "outputViews" allow access to any specific view
- "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:
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.