ShareAspace 1.7
Introduced concepts
Applicability
Introduced in ShareAspace 1.7 are the concepts of applicability context, applicability, and applicability filtering.
While it has been possible to represent this information in the ShareAspace model before, all filtering logic has either been custom or basic client side filtering. With the new application support introduced, ShareAspace will provide server side filtering out-of-the-box, greatly improving the ease of use and performance for these use cases.
If applicability has been configured and the data set that you are navigating over has applicability data set on references, you have the possibility to configure the information filter to pick what applicability context that the navigations should be filtered for.
If a filter is set, ShareAspace will only present the navigations that matches the applicability contexts that has been set in the filter.
There is no special application configuration required to get started with these concepts, all that is needed is:
- Addition of the Applicability Context SoftType.
- Configuration of Applicability Context references on entry references.
When filtering on applicability, ShareAspace will present you with all instances of applicability contexts instantiated within the space. You can see a short demo of the applicability filtering in the UI section below.
Version to master references
The next big feature introduced in ShareAspace 1.7 is the ability to create implicit "version to master" references. In previous releases of ShareAspace, references has always been explicit between versions.
One of the benefits of the implicit relations is that they not require copying of references to a new version from a previous version when versioning an object, this is of course dependent on whether this approach is applicable to the business process in question.
Introduced together with this new concept is also the ability to let the system filter out what version should be returned when searching for or navigating via the implicit references. This new version filtering is demonstrated further down in this article.
New Version and copy object enhancements
The user interface and behavior of "new version" and copy object has changed when compared to 1.6.
When creating a new version you have two options:
- To create a blank new version.
- With this option you will be presented with a view for filling out data for the new version to be created.
- To create a full copy of the previous version. This option is accessed by marking a "Copy characteristics" check box in the new version form. With this option you are presented with a different view where you have the ability to make changes on what to copy.
- Compared to 1.6 where creating new versions would only copy what was visible in the view, the new behavior when selecting "Copy characteristics" will always copy everything from previous version, no matter if the information is visible in the view or not.
When copying an object the copy will always copy everything from the copied object, no matter if it is visible in the edit form for the copy operation or not. Alterations made in the form will be merged with the copy operation, i.e. changing values, adding or removing things to a list will override those parts of the copy operation.
Note
When copying information via new version or the copy object, only the latest active values are copied. Historical data (out of the current date and time effectivity) will not be copied.
When configuring the new version action in a module you need to specify two views. One view for an empty form and one view for alterations when using the copy characteristics function.
Simplified rules for sharing
When sharing data using a SharePackage any structure definition used for traversing the data to be shared will
always apply the effectivity date for the time of sharing with the effectivity role of Actual
.
User Interface
Updated Styling
With the larger overhaul of the ShareAspace user interface done in the ShareAspace 1.6 release, work on continued improvements has been carried out for the 1.7 release. This includes many minor adjustments.
Information filter
Starting in 1.7 it is now possible to configure local information filtering settings within the structure module (as well as in the new context object module). When configuring the information filtering you have the option to pick what settings should be available to the end user (e.g. you could configure the local information filter to only manage the effectivity settings).
Note that the information filter settings applied via this new control are only applicable within the module where the settings where applied. (Compared to the global information filter settings accessed from the user menu which applies to the whole user interface).
Server-side-paging
Support for server side paging for content within a SoftType has been added to the REST APIs for ShareAspace. From a UI perspective the behavior is similar as before when it comes to the SoftType link list. New is however the "Show more" button in the structure navigation.
Before the paging was done within the UI itself, now the paging is done server side. The default page size is 10 references per page.
The server side paging can also be configured with filters per SoftType and port when used via the API and in UI controls.
Applicability filtering
To support the new applicability feature, the information filter settings have been updated to include the applicability filtering. The demonstration below shows the filtering as described in the diagram above.
Latest version filtering
In order to support the new version to master reference concept a "latest version" filter setting has been added to the information filter settings.
In the example below, references from Parts to Documents have been configured to be of the "version to master" reference type. Also, a latest version filter has been configured for the Document SoftType where the filter looks at the current level state of the Documents.
Without a filter set, ShareAspace will always return the latest version in the version chain. If a filter is set, ShareAspace will return the latest version matching the filter. If no version is matching the filter nothing is returned. Explicit references (in this case, structure references between parts) will ignore the filtering, always returning the explicitly referenced version.
In this example one of the documents is in the status "InReview", the rest of the referenced documents are in status "New". When the filter is turned off, all documents are shown. When the "InReview" filter is turned on, only the document in status "InReview" is returned.
The filter can also be set globally for the whole UI via the space settings in the user menu. When the global filter is applied also queries will be applying the filter when searching. ShareAspace will only return versionable objects matching the filter (i.e. in this example the filter only applies to documents, searching for versionable objects with the filter applied would only return documents).
New context object module
A new configurable module has been introduced, called the "Context object module". This module lets you keep the starting object for the module to stay in "context". You will always have the possibility to see and work on the context object as well as working on any other object selected while navigating the information within this module.
Also new is a new way of configuring the structure navigations. Giving you the ability to group together navigations within the structure and keeping them inside virtual nodes. These nodes can be configured with both icons and presentation strings. In addition to using the groups for structure navigations they can also be configured to execute queries. In the example below a "Where used" query is configured.
New version and copy
Technical
New pattern for naming MSIs
With the 1.7 release the MSI installer naming pattern has changed. The new naming pattern for Windows Installers is as follows. ComponentName-version.msi Where version is the release version of the component.
Caution
This is a breaking change that might affect automation scripts for installation and upgrades.
ITask Removed
The ability to implement DataExchange Tasks that could be deployed onto the ShareAspace Host was deprecated in ShareAspace 1.6. In 1.7 this functionality has been removed. The new approach for custom DataExchange tasks is to use the Extension Framework introduced in ShareAspace 1.6.
Caution
This is a breaking change that will affect custom DataExchange tasks developed with the old deployment method.
Server-side-paging
By default entries within a SoftType are server side paged. This means that any number of entries, typically for entry references, are returned in pages of 10 items when loading a SoftType instance via a GET requests. In case of there being more than 10 entries, the HAETOAS link section in the GET response payload will include links for loading additional pages.
This new functionality will help with keeping the GET payload sizes down.
It is also possible to configure filters for the server side paging. These filters can be applied both on the SoftType GET request as well as to the paging requests.
Caution
This is a breaking change that could affect custom clients using the ShareAspace REST APIs.
New way of doing PATCH
Introduced already as an alternative PATCH approach in 1.6, the new operation based PATCH pattern is with 1.7 the only way of performing PATCH requests against the ShareAspace API.
The new operation based PATCH pattern will give more control when altering SoftType instances. It should also help in making it more clear on how the edit logic work.
Caution
This is a breaking change that could affect custom clients using the ShareAspace REST APIs.
.Net Core 3.1
The ShareAspace Host has been upgraded to run on .Net Core 3.1. This update will not have an effect on any of the prerequisites since the ShareAspace installation packages are bundling .Net Core.
Microsoft Server 2019
Support for Microsoft Server 2019 was introduced already in 1.6, however from 1.7 Microsoft Server 2019 is the only recommended hosting environment. All testing and verification of ShareAspace is done using only Microsoft Server 2019 as the hosting operative system.
Caution
This might require upgrades of the servers hosting ShareAspace.
Licence engine
The licence engine was introduced already for 1.6.3 and is also part of ShareAspace 1.7. If you are migrating from a version pre 1.6.3 you must acquire a valid licence file. Also, upgrading from 1.6 to 1.7 you need a licence valid for 1.7.
Dev kits
Dev kits are for using the mapping framework are provided as nuget packages.
File preview
The support for file preview of files of the XPS format has been removed.
Migration
Tools and documented migration paths for moving from ShareAspace 1.6 to ShareAspace 1.7 are provided. This includes tools for migrating both the ShareAspace data store as well as tools for migrating ShareAspace configuration templates.
- Migrating from 1.6 to 1.7