Bizagi Studio provides a collaborative environment where you and co-workers can work simultaneously on the implementation of processes.
It is very typical for users to download Bizagi Studio and build their processes on their workstation by using a desktop personal computer or laptop for a quick start setup.
Eventually when an enterprise-level initiative for processes automation starts, a larger group of people will need to get involved and work as a team on the same set of processes.
To accommodate this, Bizagi supports a teamwork collaborative setup for the Development/Authoring environment, so that you can move an existing Bizagi project into a central server anytime (or create a new one), and have several users work on it from their workstations.
As a result, everyone can work at the same time on the same set of processes.
In the image above, the Bizagi Server is the central server hosting the Bizagi project.
The database can be set separately in a dedicated database server (recommended), though it is possible to set it at your central server as well.
Teamwork collaboration features
Bizagi enables coordinated interaction amongst users and presents the following features to empower teamwork collaboration.
1. Applications and categories to group processes (a hierarchical structure)
A Bizagi project may contain as many processes as you need to successfully accomplish your organization's automation initiative.
Bizagi allows you to organize your processes by defining a hierarchical structure in which applications and categories are used to group processes (e.g according to the different business units).
An Application is the highest level in the hierarchical structure, to group processes interrelated with one another to achieve a business objective.
In turn, each application created in Bizagi partitions your processes into subordinate components of Categories, and these will serve as a logical sub-classification of processes.
For more information, refer to Defining your company's project structure.
Application definitions reflect on how end users will browse and access the corporate processes in execution, and it will allow you to use authorization settings to determine if specific people (according to roles or other criteria) will not be able to start or use a given set of processes.
Defining the structure of your project is also very helpful in terms of organizing your working team, especially with an increasing number of processes. A well-defined structure allows you to identify, manage and control processes in a faster and more efficient way.
2. Bizagi Studio security for access control
When having several processes in your project you might want to restrict access to some of the project definitions (i.e processes), to control which users can modify the implementation of specific processes, in order to prevent unauthorized access or to avoiding affecting in turn other processes depending on those processes.
For more information about access control settings for team members working on the same Bizagi project, refer to Bizagi Studio security.
3. Check-in, Check-out controls
Bizagi avoids conflicts in the stored information when users work at the same time on the same process diagram, by using a Check-in and Check-out control.
When a user is editing a process diagram, in the first step of the Process Wizard, it will be checked-out for that user only, and blocked for editing for everyone else.
As soon as the user closes the diagram, it will be checked-in and thus, available for everyone else.
For more information about this control in the process model definition, refer to the Processes module view.
This same concept applies when users work in the definition of the user interfaces.
When creating or editing the forms to be presented to end users, automatic Check-in and Check-out control is provided.
For more information about this control in user interfaces, refer to Forms security.
Alongside with the above features, we strongly recommend that you establish rules with your development team and communicate with each other, specially when planning to delete objects or to do important changes (i.e in business rules, the data model, or other modules), in order to avoid overwrites or applying changes with are not consequent with others' work.
There are 2 major options when setting up the infrastructure supporting a teamwork collaboration project of Bizagi:
1. Through Bizagi Studio connectivity features (recommended).
This means using Bizagi Studio both at the server to host the project, and used to connect to and work on that project from workstations.
This is the recommended setup for teamwork collaboration in the implementation of processes, the one most widely used in corporate automation initiatives since it easily enables people with different profiles and skills to work together.
This setup requires that the network connection between workstations and the central server hosting the project presents an optimal latency and bandwidth (usually for on premise installations, when having the workstations on the same network of the central server). No special considerations required when installing Bizagi both at the server or at user workstations and no special hardware or appliances are required.
For more information about this setup, refer to Teamwork collaboration through Bizagi Studio.
2. Through Terminal Services at the host.
This means relying on host-enabled services such as Terminal services (Windows Remote Desktop services), in order to allow workstations to do a remote connection to that server, and use Bizagi Studio in it.
The locally installed Bizagi Studio in the server would be used to open that hosted project and work on it, and use a central IIS for the Work portal (applies to a .NET platform).
This setup is recommended when the network connection between workstations and the central server hosting the project, does not present an optimal latency (i.e specifically on scenarios having the central server at the cloud). To install Bizagi Studio at the server for this setup, you would need a domain admin account, and to rely on the Terminal Services options for a multi-user setup.
For more information about this setup, refer to Teamwork collaboration through Terminal Services.
With Bizagi Studio, you may have multiple Bizagi projects being hosted on the same server (by using any of the two setup options described above), and work on implementations separately.
Recall that each Bizagi project can contain any number of processes, and multiple projects are not usually needed nor ideal in most cases. Merging information spread in multiple projects is not supported.
Multiple projects should be only needed to deliver different implementations, which is when you do want to have separate databases for each project, a different set of end users accessing each project and possibly using a different type of authentication.
When deploying processes to a production environment (using Bizagi Engine), note that it is recommended to have a dedicated server running one Bizagi project, so that you can have a most accurate sizing for that project, and so that resources consumption or the execution of admin tasks related to the platform of one project do not affect others.