Skip to content

Commit

Permalink
add editor role and permission (#486)
Browse files Browse the repository at this point in the history
  • Loading branch information
alex-cit authored Jun 20, 2024
1 parent a5352af commit f96bbb5
Show file tree
Hide file tree
Showing 6 changed files with 71 additions and 55 deletions.
Binary file modified src/manage/dashboard-project-permissions-change.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified src/manage/dashboard-project-permissions-change.xcf
Binary file not shown.
4 changes: 2 additions & 2 deletions src/manage/dashboard/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ You can learn more about project history and how to revert to an older version i
### Collaborators
The **Collaborators** tab provides the list of users who have access to the project as well as pending invitations. You can use the **Share** button to invite more people to contribute to your project.

Here, the [**project permissions**](../permissions/#project-permissions) of current collaborators can be changed.
Here, the [**project permissions**](../permissions/#workspace-member-roles-and-project-permissions) of current collaborators can be changed.

![Mergin Maps project collaborators](./mergin-maps-dashboard-project-collaborators.jpg "Mergin Maps project collaborators")

Expand All @@ -64,7 +64,7 @@ In **Settings**, you can:

## Members
The **Members** tab provides the overview of the [members and guests](../permissions/#workspace-members-and-guests) of the workspace, as well as pending invitations.
Here, you can [**invite**](../project-advanced/#add-users-to-a-workspace) users to the workspace and manage the [roles](../permissions/#workspace-member-roles) of your workspace members. If needed, users can be also removed from the workspace.
Here, you can [**invite**](../project-advanced/#add-users-to-a-workspace) users to the workspace and manage the [roles](../permissions/#workspace-member-roles-and-project-permissions) of your workspace members. If needed, users can be also removed from the workspace.

![Mergin Maps dashboard workspace members](./mergin-maps-dashboard-members.jpg "Mergin Maps dashboard workspace members")

Expand Down
116 changes: 66 additions & 50 deletions src/manage/permissions.md
Original file line number Diff line number Diff line change
@@ -1,49 +1,90 @@
# Member Roles and Permissions
[[toc]]

Permissions control access to your <MainPlatformName /> projects. They can be defined for the whole workspace when inviting workspace members or for a specific project.
Permissions control access to your <MainPlatformName /> projects. They can be defined for the whole workspace or for a specific project.

## Workspace members and guests
People invited to a workspace can be invited as **members** or as **guests**.

**Members** have access to all projects in a workspace. If a new project is created, they will be able to access it immediately.
**Members** have access to *all* projects in a workspace. If a new project is created, they will be able to access it immediately. This means you do not have to grant them permissions to new projects manually. The level of access to the workspace is defined by their member roles. There are 5 [member roles](#workspace-member-roles-and-project-permissions) available: *reader*, *editor*, *writer*, *admin* and *owner*.

**Guests** have access only to projects they are invited to. If a new project is created in a workspace, they won't see it until they are granted access.
**Guests** have access only to projects they are invited to. If you want to only share specific projects with someone, you should invite them to your workspace as a guest. The level of access to a project is defined by project permissions. There are 4 [permission](#workspace-member-roles-and-project-permissions) levels: *reader*, *editor*, *writer*, and *owner*.

:::tip
Do you want to invite members or guests to your workspace? Visit [How to share projects and manage user access](./project-advanced/) for detailed steps.
You can find detailed steps on how to invite users to your workspace in [How to share projects and manage user access](./project-advanced/#share-projects-and-manage-user-access).
:::

## Workspace member roles
**Members** of a workspace have access to all projects in a workspace. The level of access to the project is defined by their member roles:
- **Reader**: users with **read** permission are able to see the list of projects, projects data and [history](./project-details.md)
- **Writer**: in addition to the **Read** access, users can also do changes in the projects: [adding/removing/updating features](../field/mobile-features/), change [layer settings and project properties](../gis/features/). Users who are expected to actively contribute to the project need to have the **write** permission.
- **Admin**: in addition to the **Write** access, users with this level of access can [delete the project](./project-advanced/#delete-a-project) or [transfer](./project-advanced/#transfer-a-project) it to another workspace. Admins can also create new projects and manage workspace members.
- **Owner**: in addition to the **Admin** role, owners have access to [invoicing and subscription](./subscriptions/) settings.
## Workspace member roles and project permissions
Member roles and project permissions present similar options in terms of what a user can or cannot do. The difference is whether these options are defined on a workspace or on a project level. Compare the overview of [workspace member roles](#workspace-member-roles-overview) and of [project permissions](#project-permissions-overview) for more details.

| | Reader | Writer | Admin | Owner |
- **Reader**: Users with **Read** permission are able to see projects, projects data and [history](../project-details), but can not make any changes.
- **Editor** (available on <MainPlatformNameLink /> Cloud and <EnterprisePlatformNameLink />): In addition to the **Read** access, users can [add/remove/update features](../field/mobile-features/). They *cannot* make changes in the project properties, add/remove fields in GeoPackage layers or remove GeoPackage files from the project. Editors can:
- *add* files such as photos, shapefiles, GeoPackage files - any file except for `*.qgs`, `*.qgz`, `mergin-config.json`
- *edit* files except for `*.qgs`, `*.qgz`, `mergin-config.json` and non-diff based `*.gpkg` changes
- *remove* files except for `*.qgs`, `*.qgz`, `mergin-config.json` and `*.gpkg`
- **Writer**: In addition to the **Editor** access, users can also change [layer settings and project properties](../gis/features/).
- **Admin**: This role is only available for workspace members. In addition to the **Write** access, admins can [delete the project](./project-advanced/#delete-a-project) or [transfer](./project-advanced/#transfer-a-project) it to another workspace. They can also create new projects and manage workspace members.
- **Owner**: In addition to the **Admin** access, owners can also access [invoicing and subscription](./subscriptions/) settings. **Owner** has full access to the project or workspace.


:::tip
Invoices can be made accessible also to a person that is not a workspace member, such as someone from your accounting department. They can [access the subscription management portal using a link](./subscriptions/#accessing-subscription-management-portal-directly-without-mergin-maps-account).
:::

### Workspace member roles overview

This is the overview of workspace member roles that are related to the whole workspace:

| | Reader | Editor | Writer | Admin | Owner |
|:---:|:---:|:---:|:---:|:---:|:---:|
|see the list of all projects in the workspace| :white_check_mark: |:white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: |
|see project data| :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: |
|see project history| :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: |
|add/edit/delete features in all projects| :no_entry_sign: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: |
|add/remove layers in all projects| :no_entry_sign: | :no_entry_sign: | :white_check_mark: | :white_check_mark: | :white_check_mark: |
|change layer settings and project properties in QGIS| :no_entry_sign: | :no_entry_sign: | :white_check_mark: | :white_check_mark: | :white_check_mark: |
|create new projects| :no_entry_sign: | :no_entry_sign: | :no_entry_sign: | :white_check_mark: | :white_check_mark: |
|delete and transfer projects| :no_entry_sign: | :no_entry_sign: | :no_entry_sign: | :white_check_mark: | :white_check_mark: |
|manage access to projects| :no_entry_sign: | :no_entry_sign: | :no_entry_sign: | :white_check_mark: | :white_check_mark: |
|manage workspace members| :no_entry_sign: | :no_entry_sign: | :no_entry_sign: | :white_check_mark: | :white_check_mark: |
|access to invoicing and subscription settings| :no_entry_sign: | :no_entry_sign: | :no_entry_sign: | :no_entry_sign: | :white_check_mark: |


### Project permissions overview
Permissions to specific projects can be defined for workspace guests as well as for workspace members in addition to their member roles.

This is the overview of <MainPlatformName /> project permissions:

| | Reader | Editor | Writer | Owner |
|:---:|:---:|:---:|:---:|:---:|
|see the list of projects in the workspace| :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: |
|see the project in the workspace| :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: |
|see project data| :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: |
|see project history| :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: |
|add/edit/delete features in projects| :no_entry_sign: | :white_check_mark: | :white_check_mark: | :white_check_mark: |
|add/remove layers in projects| :no_entry_sign: | :white_check_mark: | :white_check_mark: | :white_check_mark: |
|change layer settings and project properties in QGIS| :no_entry_sign: | :white_check_mark: | :white_check_mark: | :white_check_mark: |
|create new projects| :no_entry_sign: | :no_entry_sign: | :white_check_mark: | :white_check_mark: |
|delete and transfer projects| :no_entry_sign: | :no_entry_sign: | :white_check_mark: | :white_check_mark: |
|manage access to projects| :no_entry_sign: | :no_entry_sign: | :white_check_mark: | :white_check_mark: |
|manage workspace members| :no_entry_sign: | :no_entry_sign: | :white_check_mark: | :white_check_mark: |
|access to invoicing and subscription settings| :no_entry_sign: | :no_entry_sign: | :no_entry_sign: | :white_check_mark: |
|see project history| :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: |
|add/edit/delete features in the project| :no_entry_sign: | :white_check_mark: | :white_check_mark: | :white_check_mark: |
|add/remove layers in the project| :no_entry_sign: |:no_entry_sign: | :white_check_mark: | :white_check_mark: |
|change layer settings and project properties in QGIS| :no_entry_sign: | :no_entry_sign: | :white_check_mark: | :white_check_mark: |
|delete and transfer projects| :no_entry_sign: |:no_entry_sign: | :no_entry_sign: | :white_check_mark: |
|manage access to the project| :no_entry_sign: |:no_entry_sign: | :no_entry_sign: | :white_check_mark: |

Although the roles of workspace members define the level of access to projects in a workspace in general, it is possible to grant them *higher* permissions to specific projects. For instance, a workspace member with a *Reader* role can be a *Writer* or *Owner* of a project.

:::tip
Invoices can be made accessible also to a person that is not a workspace member, such as someone from your accounting department. They can [access the subscription management portal using a link](./subscriptions/#accessing-subscription-management-portal-directly-without-mergin-maps-account).
[How to add users to a project](./project-advanced/#add-users-to-a-project) will guide you through inviting a guest to a project. These steps can be also followed to change workspace member's permission to a project.
:::

Members and their roles can be managed through <AppDomainNameLink /> in the [Members](./dashboard/#members) tab:
### Managing member roles and project permissions
Users can be [added to a workspace](./project-advanced/#add-users-to-a-workspace) as guests and members through the [Members](./dashboard/#members) tab on the <DashboardShortLink />.

Here, you can also manage the member roles:
![Mergin Maps dashboard members tab](./dashboard/mergin-maps-dashboard-members.jpg "Mergin Maps dashboard members tab")

### How to transfer ownership of a workspace
Ownership of a workspace can be transferred to another [workspace member](#workspace-member-roles).
Project permissions can be reviewed in the details of a project in the **Collaborators** tab where you can find the list of users who can access the project and their project permissions.

If needed, the project permissions can be changed here:
![Changing project permissions in Mergin Maps dashboard](./dashboard-project-permissions-change.jpg "Changing project permissions in Mergin Maps dashboard")

## How to transfer ownership of a workspace
Ownership of a workspace can be transferred to another **workspace member**.

Users with the **owner** member role have access to the **Subscriptions** page in the <DashboardShortLink />.

Expand Down Expand Up @@ -71,31 +112,6 @@ Be careful when downgrading your own member role!
Only owners and admins can manage user roles so if you assign yourself the writer or reader role, you will not be able to change it back.
:::

## Project permissions
Permissions to specific projects can be defined for workspace guests as well as for workspace members in addition to their member roles. There are three permission levels: **reader**, **writer** and **owner**.

| | Reader | Writer | Owner |
|:---:|:---:|:---:|:---:|
|see the project in the workspace| :white_check_mark: | :white_check_mark: | :white_check_mark: |
|see project data| :white_check_mark: | :white_check_mark: | :white_check_mark: |
|see project history| :white_check_mark: | :white_check_mark: | :white_check_mark: |
|add/edit/delete features in the project| :no_entry_sign: | :white_check_mark: | :white_check_mark: |
|add/remove layers in the project| :no_entry_sign: | :white_check_mark: | :white_check_mark: |
|change layer settings and project properties in QGIS| :no_entry_sign: | :white_check_mark: | :white_check_mark: |
|delete and transfer projects| :no_entry_sign: | :no_entry_sign: | :white_check_mark: |
|manage access to the project| :no_entry_sign: | :no_entry_sign: | :white_check_mark: |

Although the roles of workspace members define the level of access to projects in a workspace in general, it is possible to grant them *higher* permissions to specific projects. For instance, a workspace member with a *Reader* role can be a *Writer* or *Owner* of a project.

:::tip
[How to add users to a project](./project-advanced/#add-users-to-a-project) will guide you through inviting a guest to a project. These steps can be also followed to change workspace member's permission to a project.
:::

Project permissions are managed in the <DashboardShortLink />. Select a project and navigate to the **Collaborators** tab to see the list of users who can access the project and their project permissions or to [invite someone](./project-advanced/#add-users-to-a-project) to contribute to your project.

You can also easily change project permissions of current collaborators.
![Changing project permissions in Mergin Maps dashboard](./dashboard-project-permissions-change.jpg "Changing project permissions in Mergin Maps dashboard")


## Public and private projects

Expand Down
4 changes: 2 additions & 2 deletions src/manage/project-advanced.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,14 +16,14 @@ You can follow our [Working collaboratively](../tutorials/working-collaborativel
### Add users to a workspace
If you want to share all projects in your workspace with a group of users, you can invite them to become members or guests of a workspace.

You have to be the **admin** or **owner** of the workspace to manage access to the workspace. See [Member Roles and Permissions](./permissions/#workspace-member-roles) for more details.
You have to be the **admin** or **owner** of the workspace to manage access to the workspace. See [Member Roles and Permissions](./permissions/#workspace-member-roles-and-project-permissions) for more details.

To add users to a workspace:
1. Log into <AppDomainNameLink />
2. Go to the **Members** tab in the left panel and click on **Invite**
![Invite people to Mergin Maps workspace](./dashboard-workspace-invite.jpg "Invite people to Mergin Maps workspace")

3. In the form, enter the email addresses of people you want to invite and choose their [**workspace role**](./permissions/#workspace-member-roles) from the list.
3. In the form, enter the email addresses of people you want to invite and choose their [**workspace role**](./permissions/#workspace-member-roles-and-project-permissions) from the list.
- If you want to grant them access to all projects in the workspace, select one of the member roles (*Reader*, *Writer*, *Admin* or *Owner*).
- If you only want to invite them to some projects, select the *Guest* option and specify which projects should be shared with them.

Expand Down
2 changes: 1 addition & 1 deletion src/manage/subscriptions/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ If you are interested in <MainDomainNameLink id="pricing-for-ce-and-ee" desc="On

There are three paid plans: *Individual*, *Professional*, and *Team* plan. Students and educators can use our free *Academia* plan and there is also a *Non-profit* plan available to charities and non-profit organisations. Subscriptions are billed monthly or annually.

The overview of your current subscription plan and usage of storage, number of projects and number of users in your workspace can be found in the **Subscription** tab in <DashboardLink />. It is available only to the [owners](../permissions/#workspace-member-roles) of the workspace.
The overview of your current subscription plan and usage of storage, number of projects and number of users in your workspace can be found in the **Subscription** tab in <DashboardLink />. It is available only to the [owners](../permissions/#workspace-member-roles-and-project-permissions) of the workspace.

![Mergin Maps Dashboard Subscription tab](../dashboard/mergin-maps-dashboard-subscriptions.jpg "Mergin Maps Dashboard Subscription tab")

Expand Down

0 comments on commit f96bbb5

Please sign in to comment.