Skip to main content

Version 1.5.0

These are the release notes for the v1.5.0 release of witboost.

Please refer to the official documentation for a more in-depth overview of the released features.

Features

New Deployment Experience

This version contains a new deployment experience for Data Products.

In this release, the deployment journey for a user changed substantially. Instead of the old Control Panel page, the user can now find two new pages:

  • the Editor page shows the user what is the current descriptor by fetching the information from all the underlying repositories; here the user can have a quick link to all the components directly, and test that the descriptor is compliant with the defined policies. From this page, the user can also directly create a new draft release (or update the existing one).
  • the Release page contains a list of all the releases for the Data Product. The draft release can be updated or promoted to a stable release. When clicking on a release, the release details are shown: from here the release can be deployed/undeployed, and all the details of the release are listed.

So, with these new pages, the user journey for a user who wants to deploy a Data Product could be:

  1. open the Editor page of the chosen Data Product and select the desired environment
  2. see the resolved descriptor for the chosen environment, and test if it is compliant with the policies
  3. in case it's not compliant, start fixing the errors (by going to the repositories or through the editors) and test again
  4. when satisfied with the result, click on the button to create a new snapshot release (or update the current one)
  5. now open the Release page and click on the draft release you just created/updated
  6. from the detail page see the details of the release, and deploy it on the chosen environment
  7. in case there are errors, go back to the Editor page and repeat steps 2, 3, and 4
  8. in case the deployment goes through, the Data Product is available on the marketplace
  9. when you are satisfied with the result, you can go back to the Release page and promote the release, which can be used for deployment in other environments as well

In case you want to go back to the old deployment page, you can disable this new feature with the catalog.editor.enabled = false configuration.

Access Control Page

In the user's "Settings and Profile" page, you can find a new tab called "Data Access".

This table contains all the Output Ports that the logged user has access to, grouped by the Data Product that contains them. The table shows not only the direct granted accesses, but also inherited accesses: for example, the logged user could have no access to the Output Port directly, but he/she could have access since he/she belongs to a group that has access to it.

Using the aforementioned feature, the logged user can see also when the user has access to an Output Port through different accesses: as an example, the user could have direct access to it, but also because he/she belongs to the groups for which the access is granted.

In addition to this, on this page, the logged user can see all the Output Ports for which he/she has a pending request. In this way the user can check the status of the request access: even if he/she doesn't have the access yet, he/she can monitor the status of the request.

New Provisioning Coordinator's endpoints

The Provisioning Coordinator now exposes some new endpoints that can be used to improve the deployment experience:

  • a preview endpoint that lets you know which components will be removed and which ones will be created with a deploy operation;
  • a terminate endpoint that lets you stop a running deployment operation; there is also the possibility to force terminate an in-progress deployment in case the termination is not supported by the tech adapters;

These functionalities will be implemented also in the new deployment pages (editor and release) in future releases.

EntitySelectionPicker new features

The EntitySelectionPicker now has two additional parameters:

  • mapTo: this specifies a mapping that is applied to the resolved entities. In this property, the platform team can configure which attributes should be loaded from the referenced entity.
  • ui:displayLabel: that specifies which attribute of the mapped object will be used as a label for the field.

With this new feature, we can extract more fields in the existing templates. As an example, we would like to extract some details from the selected users (e.g. their emails and display names):

identities:
title: Identities
type: array
description: A list of users
ui:field: IdentitiesPicker
ui:options:
maxIdentities: 5
allowedKinds:
- User
showOnlyUserMemberGroups: true
userIdentitiesDetails:
title: User Details
type: string
description: users details
ui:field: EntitySelectionPicker
ui:fieldName: identities
mapTo:
email: spec.profile.email
name: spec.profile.displayName
ui:displayLabel: name

The EntitySelectionPicker references the IdentitiesPicker, and in the mapTo property, we selected the email and name of the users. So, if the values that the user selects in the IdentitiesPicker is something like ["user:name.surname_email.com", "user:name2.surname2_email.com"], the EntitySelectionPicker will take the spec.profile.email and spec.profile.displayName fields of the objects corresponding to the user Entities with refs user:name.surname_email.com and user:name2.surname2_email.com.

In this case, the values for userIdentitiesDetails will be [{"email": "name.surname@email.com", "name": "Name Surname"}, {"email": "name2.surname2_email.com", "name": "Name2 Surname2"}], and the user will see as labels "Name Surname" and "Name2 Surname2".

Issues Fixed

  • Fixed the update of a component's deployment status in case of a synchronous response
  • Solved a case when an evaluation report containing some failed blocking policies was not marked as failed
  • Fixed a variant identifier that was not returned in the query methods of the coordinator
  • Allow the EntitySelectionPicker to use also witboost URNs
  • EntitySelectionPicker displays the empty message when no value is selected
  • Fixed an error that prevented the user from using boolean pickers with the "ui:widget: select" option
  • Made the multi-selector available in the table layout
  • Fixed a bug that allowed notifications of access request/response to have a list of objects in the body
  • Non-executed governance entities are now considered as failed in the test panel, in accordance with the CGP specification
  • Fixed broken links for tech docs on the templates page
  • Remove blank space when a picker is set as ‘hidden' in an EditTemplate
  • Fixed the possibility of hiding the Mesh Supervision page by using the mesh.ui.marketplace.meshSupervision.enabled configuration
  • Handled the description of cells in the table layout by putting them in the column headers
  • Made the horizontal layout handle correctly the conditional elements (allOf/if)
  • Display and hide the title/description of objects (also horizontal layout) using a configuration
  • Horizontal layout elements now also have a minWidth parameter that can be used to define how many elements could be displayed per row without going into a new line
  • Fixed the possibility of using the CustomURLPicker inside the conditional elements (allOf/if)
  • Resolved an error that was thrown when the domain was not found
  • Fixed an issue with the PATCH endpoint of the action handler that prevented hookInfo from being updated properly
  • Fixed a small issue of parsing query params for the new coordinator APIs
  • Fixed Custom URL Picker bug that does not render long texts with ellipses
  • After commit, creation, and release of a snapshot, the UI correctly updates the version
  • Remove fromDate as the default filter in the Search Results CGP page. The date filter no longer persists when clicking reset filters
  • Updated the log viewer and aligned the editors in the whole platform
  • Fixed white spaces in tags that made it not clear which ones were used
  • Fixed a bug in the Custom URL Picker which doesn't load any value from the edit-template
  • Fixed a bug that allowed users to register more than one access control request template