Shared and Private projects in the Team Edition

There are currently five different roles in Team Edition: Administrator, Developer, Manager, Editor and Viewer. By assigning them, you can determine the access level of a user to certain application features. A new question arises immediately: how do you share data with users who have different roles? Today we will tell you how to solve this issue with the Shared Projects help.

How do Shared Projects work?

Shared Project represents a logical storage with a particular set of connections. Within it, each team member can get everything they need for their work and freely collaborate with colleagues.

Let’s look at working with Shared Projects. We will use the example of a specific team that is collaboratively working on several online stores:

– 1 technical lead who manages all processes in the team;
– 1 DBA who is responsible for the design and maintenance of databases;
– 1 software engineer who develops websites;
– 1 business analyst who collects and analyzes sales data, generates reports, and identifies possible issues in a business strategy;
– 2 content creators who are engaged in filling websites with new positions and keeping the data fresh;
– 5 marketing specialists who analyze the effectiveness of advertising campaigns based on marketing reports.

Since all of these specialists must have access to the same databases, we will create a common team for them in Team Edition. But first, we need to assign roles for each user. Based on their needs and responsibilities, the team will consist of:

– 1 Administrator – technical lead.
– 2 Developers – DBA and software engineer.
– 1 Manager – business analyst.
– 2 Editors – content creators.
– 5 Viewers – marketing specialists.

Then the Administrator can use the administration panel to create a team in Team Edition and add all users to it.

The next step is to create a Shared Project and give the team access.

This can also be done only by a user with the Administrator role. By opening the new project, he can configure the necessary database connections.

Administrators can create as many Shared Projects as they need and give as many teams as necessary access to them.

After all the settings are completed, teammates can log in to the system, open the Shared Project and start working simultaneously. Changes made by each of them will automatically appear to the entire team in real-time. At the same time, the Project itself will look different depending on the role and provide users with a different set of features. By switching between users, we can take a look at this difference.

Tech lead, DBA & software engineer

Specialists from the technical team can open the Shared Project in the web or desktop app and use it the same way as any DBeaver project. They not only get access to all connections, scripts, ER Diagrams and tasks added by their teammates but also can create new ones inside.

No user outside the team will have access to connections and resources within Shared Project,
and this ensures safe data collaboration.

Access to all these resources is necessary for our technical specialists. For example, DBA is responsible for managing and maintaining both online store databases and company internal databases. Since he has the Developer role, he can find everything he needs for his work inside the Shared Project.

Business analyst

Now let’s look at how the same Shared Project looks for a user with the Manager role that we have assigned to our business analyst.

As you can see, he can work with all connections created by technical specialists, but cannot configure new ones. Since a business analyst needs to process data and create analytical queries, he can edit, add and update data through the Data Editor and SQL Editor. When he needs to perform complex analytics, it is possible for him to use pre-made SQL scripts created by DBA.

Specialists from the marketing and content part of the team can ask a business analyst to create datasets based on the results of SQL queries executing. The dataset is a ready-made result set in a table form which allows non-technical specialists to work with data and create reports easily.

Content creator

By switching to the user with the Editor role, which we assigned to content creators, we will no longer see the navigation tree. Generally, the interface has become much more straightforward, and it saves our specialists from being overwhelmed by technical features. But it’s still the same Shared Project, and content creators can open, view and edit the dataset created by their teammates and then export it into a file.

Thanks to the concept of datasets, working with data become much easier for content creators from our team, as everything they need is already set up and configured for them.

Marketing specialists

And finally, let’s log into the system on behalf of the Viewer who is assigned the role of a marketing specialist. They can use ready-made datasets to analyze data and create reports based on it. The main difference between the content creator who has the Editor role is that the marketing specialists cannot edit values in the dataset cells to avoid accidental changes. However, they still have full access to all the data they need.

Private Projects are still available

Specialists from the technical part of the team who have the Developer role can also use their own Projects to set private connections and keep scripts and tasks inside. No one except them has access to these connections. A Private Project serves as a sandbox for the Developer to create and test their scripts and investigate data without affecting the shared resources.

Our business analyst, content creators and marketing specialists do not have Private Projects
since they work directly with data and are not required to configure new connections.

As you can see, with the help of Shared Projects, a team of 11 specialists with different needs and responsibilities can conveniently and safely work on data together. They no longer need to use git, and data collaboration becomes easier and more seamless.