Skip to main content

Version 2.0.0+

These are the release notes for the v2.0.0 release of Witboost.

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

Features

Practice Shaper

The Practice Shaper is a new Witboost setting that models all the structural entities (domains, systems, components, templates) as nodes of a fully configurable property graph.

This enables data-oriented organizations to shape Witboost based on their unique use cases, structure, and needs: the Witboost installation in Organization A could be completely different from the Witboost instance running in Organization B.

Thanks to the Practice Shaper, a company can approach any project scenario in data (Data Landscape), such as Data Mesh, Data Lake, Machine Learning Sandbox and others, by defining which practices are enabled and regulated, with the possibility to define technological and methodological guardrails.

With the Practice Shaper, a platform administrator can define:

  • the structure of the organization, with domains, systems, components, and taxonomies (data landscapes);
  • the relationships between the structural entities, with the possibility to define which entities can be connected to each other;
  • the attributes of the structural entities, by specifying for example which kinds of components can be visible in the marketplace or for which ones the user can request access;

Once configured, the Practice Shaper will let the users choose their desired data landscape for the different pages of the platform, like the Marketplace Catalog, the Marketplace Graph, the Builder projects, and the Governance.

Notifications

Witboost notifications have been re-designed to improve the way they are generated and delivered.

Notifications can now be delivered through different channels, depending on the platform settings. A platform administrator can configure the notifications such that they can target different groups of users (recipient types), on different channels, based on their preferences.

A Witboost notification can be delivered through different channels, to different recipient types.

Witboost now supports three channels:

  • Push channel: which can be viewed from the UI inside the Notification Center
  • Webhook channel: which can help you integrate with third-party communication tools (e.g. Slack, Microsoft Teams, Mattermost, etc.). The webhook channel will be connected to a custom microservice that will receive the notifications, and deliver them to the third-party tool.
  • Email channel: you can integrate your own SMTP server, via OAuth2 or user-password authentication, to send notifications from it.

With the introduction of new notifications, we expanded also the number of recipient types available to them. Among the new recipient types, we list here a few of the new ones: System Owner, System Developers, System Access Control List, Consumer Systems Owners, Builder Users, Governance Team, etc.

Custom Views

Custom Views are a new feature that allows platform administrators to define custom views for the different pages of the platform, like the Marketplace Details and the Builder Details pages. Platform administrators can define which fields and cards should be displayed in each custom view page, and in which order.

Custom Views are defined with YAML files, that can be loaded into the platform by the platform administrators. The YAML files define the structure of the custom view, with the fields and cards that should be displayed on the page, and the order in which they should be displayed. Custom Views use a YAML schema that allows the platform administrators to use all the widgets and components available in the platform: those can be configured and styled to adapt to the specific needs of the organization. In the future, we will continue releasing more widgets and components to be used in the custom views.

The platform administrators can define multiple custom views for the same page, that will be displayed depending on the element type and/or template. This allows the platform administrators to define different views for different types of elements, and to have more granular control over the information displayed on the page. For example, the platform administrators can define a custom view for the components created with a specific template, another for a specific type of component, and a fallback view for all the other components.

Azure DevOps Integration

With this release of Witboost, we have introduced a new integration with Azure DevOps. With this new integration, you can now connect your Azure DevOps organization to Witboost and use it to manage your projects and repositories directly from the platform.

By integrating Azure DevOps with Witboost, the users will be able to create new projects with their relative repositories in Azure DevOps. All the platform-level entities (like templates, blueprints, and domains) can be stored in the Azure DevOps repositories as well.

The integration with Azure DevOps works in the same way as the existing integration with GitLab, and Bitbucket. The platform administrators can connect their Azure DevOps organization to Witboost by providing the necessary credentials, and each user can specify their tokens to perform actions on the repositories.

Sub Components

From this release, you can now define sub-components in the component descriptor. Sub-components are components that are part of a parent component and will be treated as part of the parent component in the platform. With sub-components, you can now define a more complex structure for your components, and have a better representation of complex components (e.g. a storage component with multiple folders, or an external table component containing the view and the storage as two different sub-components).

Sub-components can be defined in the component descriptor, using a template that defines them at creation time. Once deployed, they will be displayed in the marketplace as part of the parent component. The user can request access to the parent component, and the platform will automatically grant access to the sub-components as well.

The sub-components are indivisible from the parent component, and they will be managed as a single entity in the platform. This means that you can't unregister a sub-component without unregistering the parent component. At deployment time, you will see every sub-component as an independent step, since they can be associated with different technology adapters.

Improve RBAC permissions

To let the platform administrators have more fine-grained control over the actions and visibilities, we have introduced some new permissions that allow them to decide who can see and perform actions on platform-level entities. In particular, we have introduced:

  • a permission that allows the user to see the software catalog, with all the platform entities;
  • a permission allows the user to create platform-level entities; with platform-level entities, we mean entities that are not related to a specific project, like templates, blueprints, domains, and so on. When this permission is not granted, the users will still see the platform-level entities, but they will not be able to create new ones (they will not see the buttons to register new templates, the template editor, and so on);
  • a permission that allows the user to refresh the platform-level entities;
  • a permission that allows the user to delete platform-level entities;

All the permissions above require the user to have also the basic entities permissions: create, refresh, and delete respectively.

With these new permissions, the platform administrators can now decide who can see and perform actions on the platform-level entities, giving them more control over the platform's configuration.

Updated the Product UI

With this release, we have updated the UI of the product to make it more user-friendly and intuitive. In particular, we have made some changes to:

  • all the pages have a new structure, with a dynamic breadcrumb at the top of the page, that allows you to navigate to the upper-level sections.
  • the main menu is now a new sidebar that allows you to navigate between the different sections of the product. You can collapse it to have more space on the screen, and expand it to see the full menu.
  • the search bar is now available on the specific pages of the product, to allow you to search for specific items on the page you are in.
  • some pages have been moved or renamed to be more consistent with the product's structure. We are still working on improving the user experience with menus, pages, and breadcrumbs, so you may see some changes in the future.

Issues Fixed

  • Azure DevOps correctly fallback to private project visibility if the organization is disabled
  • Fixed a bug that prevented to use the dry-run functionality in the template editor
  • Rename Marketplace Catalog/Projects Catalog to Search (url changes from projects-catalog to search)
  • Rename Graph/Project Graph to Visual Discovery (url changes from projects-graph to visual-discovery)
  • Update Breadcrumbs for Search (ex catalog) page, Visual Discovery and Project Detail
  • Move Mesh Supervision from the marketplace to settings
  • Change the layout of the Marketplace Graph not to be wrapped by Extra Card
  • Rename the Supervision tab in platform settings to Platform Supervision
  • Fixed some bugs within the EntitySelectionPicker: sometimes the field was rendered as filled (with a previous value) even if it had no actual value set, sometimes it would have an empty array as the value, and sometimes some onChange calls were skipped
  • Fixed the sizing problem in sideInfo in general info of data products and the drawer results
  • Solved a bug in the text field selector where the divider would overlap with the text
  • Fixed wrong request accesses sent for a Consumable Interface without type which would fail by sending a default type if no type is available
  • Markdown rendering in templates has been fixed
  • Headings now follow the size hierarchy of the ObjectFieldTemplate
  • Added authentication token to the access request the notification router makes to the action handler
  • Added shoppable and consumable attributes to models and queries
  • Now the policy name gets displayed correctly when in test mode
  • Changed the naming convention in components
  • Adjusted the following screens to cover the full page: the data product graph page, the data contracts page, the taxonomy page, the edit and test page, and the governance test page
  • No more Environment not set when opening the edit and test tab
  • The back button is now clickable in the processing step
  • The skeleton of the edit template takes priority if defines the witboost.parameters
  • Solved an inconsistency that when starting a partial provisioning operation from the UI requests sent to the backend did not reflect what is selected in the UI
  • Removed selectors when trigger change from active to passive and added default value during change from passive to active
  • Prevented the component from disabling the input of the custom cron expression when the user goes back to previous steps
  • Fixed the error message when unregistering non-empty domains or entities in the marketplace
  • When editing a policy, the button was changed from create to update
  • Fixed configuration visibility for Custom URL Picker
  • Fixed equality check for dynamic fields in the CustomURLPicker
  • The Marketplace UI does not break anymore if some values are undefined in the YAML or if Nunjucks is misspelled
  • Fixed a bug that was causing the app to crash in case Consumable Interface was not parsing a valid descriptor
  • Info Flag Color Fix: The info flag color has been updated across relevant sections to maintain consistency with the application's styling guidelines. This ensures that the info flag is visually distinct and accurately reflects the information it conveys.
  • Result search in policy test details is now able to filter based on policy severity
  • Fixed an error that prevented the audit plugin from returning any response in some circumstances
  • Added a missing field on the policy creation form (infrastructure template id) when resource type is 'Data product' and _trigger_is 'active'
  • Resolved the 'unexpected-end-of-json-input' error in the access control page when one component is selected
  • The logs drawer does not become blank anymore when a deployment finishes
  • It is now impossible for the user to enter arbitrary values for the DescriptorPicker
  • Fixed a bug that prevented the display of a metric result if the value was 0
  • Fixed the date filtering in the catalog table when selecting only one day
  • Fixed a bug on the task page with wrong navigation on "Start Over" click
  • Pickers can now fetch the information regardless of their position on the form
  • Configurations from branches different from master are now fetched correctly
  • The edit button in the Edit and Test component responsive view is now disabled when the regular one is disabled
  • Use the right token in the native git publish operation
  • In BitBucket, you can now create an entity not in a root directory
  • You cannot test/update or create a new release anymore if the version in the descriptor is not the same as the one in the current data product
  • Reset the background color to white after closing the task drawer
  • Fixed the appearance when the structure panel would be very narrow when the test panel is open and long-named components might overflow
  • The descriptor drawer now takes full height and opens without a scrolling effect
  • The Clear filters button in the Search Results page now works correctly
  • You can now check tests while the provisioning is still running
  • Fixed a crash if the data sharing agreement field does not exist in the component descriptor
  • Fixed a bug that caused a no refresh on the microfrontend page when switching between microfrontends
  • Allow the user to enter manual values in the EntitySelectionPicker when allowArbitraryValues is true
  • Fixed a bug that forced users to click out of the box to close the autocomplete suggestions in the IdentitiesPicker
  • Fixed a bug where the scheduler did not correctly handle waiting tasks for all dependencies
  • Fixed a focus problem in the edit panel
  • Fixed a crash in the test panel
  • Fixed a bug that prevented the creation of new versions of components in a monorepo
  • Undeploy from quick actions now correctly works
  • Fixed a bug where custom view elements were displayed even if non-existent
  • Values inside the release_details column in the acl_requests table are now converted to jsonb
  • When a system or component contains a branch name, it now correctly computes the view source url
  • During advanced provisioning, you can now choose between undeploy and undeploy and remove data, in the clean-up operations
  • Fix a bug where the recipient type System Access Control List was not working
  • The Visual Discovery graph now contains all subdomains
  • The parent descriptor is now included in the reverse provisioning request
  • Fixed an authentication bug with some resolvers and helper functions