How Studio Collaboration Services handles data and metadata

<< Click to Display Table of Contents >>

Navigation:  Bizagi Studio Collaboration Services > Studio Collaboration Services considerations >

How Studio Collaboration Services handles data and metadata

Overview

When you are developing in Studio Collaboration Services, it is important to understand how the synchronization of metadata is executed when you work with co-developers. You need to be aware of how synchronization affects how you manage values of parameter entities managed in both the development and production environment.

 

This article explains how Studio Collaboration Services synchronizes metadata and mentions practices to lookup values of parameter entities used in your cloud development environment.

 

Synchronization of metadata

To understand how the synchronization of metadata is executed, let us recall the difference between metadata and data. Metadata refers to attributes and information that describes and gives properties to the elements being configured and created in Bizagi Studio. For example, visual names of a task, the name of a process, the configuration of services tasks, environment parameters, or business options.

 

On the other hand, data is considered in Bizagi as the values or data that users can register, query, or see in the Work Portal. That includes data from Master, Parameter, or Stakeholder entities.

 

Studio Collaboration Services holds the project metadata in a repository called the catalog,  refer to Service architecture. Additionally, when a user opens Bizagi Studio, a local file containing all the project metadata is created. Hence, all the elements, configured through Bizagi Studio by a co-developer, are considered metadata, and synchronization between a local file and the cloud catalog considers that metadata. Bizagi Studio Collaboration Services never transfers data from a user’s Bizagi Studio to the catalog. Furthermore, the catalog stores metadata, while data is stored in a separate cloud database.

 

Bizagi synchronizes metadata between the user’s local file and the cloud catalog every time the user creates an element within a module in Bizagi Studio. If the metadata affects tables in the database, this information is also updated in the project database store in the environment's data storage. For example, when a user creates an entity, in the expert view, Bizagi synchronizes metadata, to keep the project catalog and the environment database updated, so other users can see what a user has created both in Bizagi Studio, and when they run the Work Portal on the cloud.

 

Data, on the other hand, is transferred from or to the Work Portal. That includes information registered in tasks, and about users, stakeholders, or parameter entities managed from the Work Portal in the admin menu. Furthermore, data stored in the environment database is never transferred to a user's Bizagi Studio local file, because the local file stores metadata. Therefore users never see data in Bizagi Studio.

 

StudioServices_26

 

Synchronization when running the Work Portal

When you run the Work Portal in your cloud development environment, Bizagi makes sure that the metadata is up to date, taking into account all changes done by your co-developers. To make sure that metadata is updated, Bizagi analyzes all changes done in the catalog. This assessment is triggered when you click Run in Bizagi Studio, either on the cloud or locally.

 

note_pin

When you are testing changes on the Work Portal done in Bizagi Studio, you always need to execute the Work Portal from the Run button in Bizagi Studio

 

Maintenance window

There are scenarios when you need to reset the web application or the scheduler to update changes done in Bizagi Studio and display them properly in the Work Portal. However, refreshing the Work Portal directly from the browser does not trigger synchronization of metadata. whether you run the Work Portal on the cloud or locally, you always need to click Run from Bizagi Studio:

 

StudioServices_28

 

Then Bizagi Studio Collaboration Services assesses the metadata, and a three seconds maintenance window is opened if a co-developer makes changes affecting any of the following elements:

 

Entities

Attributes

Facts

Component libraries

Rules

Business options

Environment parameters

Authentication

 

This maintenance window resets the web application and the scheduler automatically. Within the maintenance window, the metadata is synchronized, between users’ local file and the catalog, and then saved in the project catalog and database. After the window closes, the Work Portal displays in run time the latest metadata.

 

note_pin

When you update any of the elements of the previous list, and the maintenance window opens, the web application is reset and affects all your co-developers' Work Portals sessions.

 

If the maintenance window is not opened, Bizagi still needs to synchronize metadata, That is why it is important to start the Work Portal with the Run button in Bizagi Studio. This also applies to a project executed locally, because the metadata remains in the cloud catalog repository, and needs to be synchronized before you can start working.

 

Handling values of parameter entities

When you use parameter entities in a project in the development environment, you can add values in two ways:

 

1. From Bizagi Studio: You can add values of parameter entities in two ways. You can add them from the Expert view:

 

StudioServices_34

 

You can also add them when you create a data model:

 

StudioServices_35

 

note_pin

In Studio Collaboration Services this option is applicable to entities managed in the development environment.

 

2. From the Work Portal: When a Parameter entity is marked to be administered in the Work Portal, you can add values from the admin menu.

 

StudioServices_37

 

Bizagi handles values of parameter entities differently if you configure an entity to be managed in the development or in the production environment. Refer to where to manage Parameter entities to know how to handle parameter entities in different environments, whether the values are handled as metadata or data.  Values are handled differently because Bizagi assesses whether values of parameter entities are considered in a deployment package. Remember that a deployment package contains metadata. Hence, if a parameter entity is managed in the development environment, values of that entity are deployed, from the development environment to the production environment,  as metadata.

 

On the other hand, values of parameter entities managed in the production environment are never deployed in a package, so those values are not considered as metadata.

 

As explained in Synchronization of data, in Studio Collaboration Services only the metadata is synchronized between co-developers’ Bizagi Studio instances and the metadata catalog. Data is transferred from the environment database to the Work Portal. When a user adds values of a parameter entity in the Work Portal, (so they are handled as data) Bizagi does not synchronize those values to users’ Bizagi Studio instances and they are not displayed.

 

The following table sums up how do you need to handle the values of parameter entities in Studio Collaboration Services:

 

Where is the parameter entity managed?

Where do you add values in Studio Collaboration Services?

Are values synchronized as metadata in co-developers’ Bizagi Studio?

Consideration

Development

Bizagi Studio

Expert view

Data model

Yes

Values added from Bizagi Studio are synchronized between all users and the project metadata catalog stored in the cloud.

Production

Work Portal

No

Values are just displayed in the Work Portal, and not synchronized in Bizagi Studio.

 

note_pin

If you change the administration of a parameter entity, values previously registered are clean, and the new values, after the change persist.

 

Using values of Parameter entities in Business Rules

If you need to test business rules to evaluate the values of parameter entities, you can use the Select Parameter Value option to retrieve a value using filters in the getAttrib function:

 

StudioServices_36

 

This option is applicable to entities managed in the development environment. If you need to retrieve values of entities managed in the production environment, look up the business keys values in the Work Portal.