PHPackages                             torqnorth/pimcore-role-creator-bundle - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. torqnorth/pimcore-role-creator-bundle

ActivePimcore-bundle

torqnorth/pimcore-role-creator-bundle
=====================================

v5.2.0(1w ago)068proprietaryPHP

Since Oct 28Pushed 1w agoCompare

[ Source](https://github.com/Torq-North/pimcore-role-creator-bundle)[ Packagist](https://packagist.org/packages/torqnorth/pimcore-role-creator-bundle)[ RSS](/packages/torqnorth-pimcore-role-creator-bundle/feed)WikiDiscussions main Synced today

READMEChangelog (1)Dependencies (1)Versions (20)Used By (0)

Pimcore Role Creator bundle
===========================

[](#pimcore-role-creator-bundle)

Getting started
---------------

[](#getting-started)

1. This bundle is easily installed via composer: `composer require torqnorth/pimcore-role-creator-bundle`
2. In your config folder, add a `roles.yaml` file. Instructions on how to set up your roles is given below in the Roles Setup section.
3. Make sure you register the `RoleCreatorBundle` in your `AppKernel.php` located at `\src\pimcore-root\app\AppKernel.php`. Registering the bundle is as easy as adding a line in the registerBundlesToCollection function, like so: `$collection->addBundle(new \TorqNorth\RoleCreatorBundle\RoleCreatorBundle);`
4. Run the bundle, with the command: `./bin/console torqnorth:generate-roles`

Role Setup
----------

[](#role-setup)

For this example, let's say we want to add `Manager` and `Employee` roles to our app. In your config folder, add a `roles.yaml` file with the following layout:

```
system_roles:
  Manager:
  Employee:
```

This will create `Manager` and `Employee` roles, both with no permissions, workspaces or allowed classes.

### Basic Permissions

[](#basic-permissions)

Using the permissions specified in the `user_permission_definitions` table, you can specify basic permissions per role using one of three variables:

- `included_permissions: []` An array of allowed permissions
- `excluded_permissions: []` Include all permissions on a role *except* for the ones specified
- `all_permissions:` Include all permissions

So for example, if we wanted our manager to have full access to the app, but only allow users to see documents and assets, we would configure it like so:

```
system_roles:
  Manager:
    all_permissions: true
  Employee:
    included_permissions: ["documents", "assets"]
```

### Workspaces

[](#workspaces)

You can specify data object, asset and document workspaces using the following structure per role.

```
workspaces:
  data_objects:
    /folderName:
      permissions: []
      special_configs:
        localized_edit: "fr_CA"
        localized_view: "en,fr_CA"
        custom_layouts: "object_ProductLayout,object_SupplierLayout"
  assets:
    /folderName: []
  documents:
    /folderName: []
```

Where `folderName` is the full path to the folder for that workspace. Each workspace array can be populated with the following currently supported permissions:

- `list`
- `view`
- `save` (Documents/Data Objects Only)
- `publish`
- `unpublish` (Documents/Data Objects Only)
- `delete`
- `rename`
- `create`
- `settings`
- `versions`
- `properties`

> *Note:* in order to make the entire structure available, you can supply `/` as the folder, which will make a workspace at the root.

Going back to our example, if we wanted to make it so that the `Employee` role can only operate in the `articles` folders for documents and assets, we might set up our config this way:

```
system_roles:
  Manager:
    # Manager Permissions
  Employee:
    workspaces:
      data_objects:
        /articles:
          permissions: ["list", "view", "create", "save", "publish"]
      assets:
        /articles: ["list", "view"]
```

Alternatively, you can pass `true` to a workspace, which will enable all of the permissions

```
 ...
    workspaces:
      data_objects:
        /articles:
          permissions: true
```

You can specify special configurations per data object workspace:

- Custom layouts
- Localization

```
 ...
    workspaces:
      data_objects:
        /articles:
          special_configs:
            localized_edit: "fr_CA"
            localized_view: "en,fr_CA"
            custom_layouts: "object_ProductLayout,object_SupplierLayout"
```

### Allowed Document Types &amp; Classes

[](#allowed-document-types--classes)

You can specify the allowed document types and classes per role using the following structure:

```
allowed_types:
  classes: ["MyClassName"]
  document_types: ["Document Name"]
```

Where the both values accept the class/document type **name** (and not the class/doc type *ID*). For example, if we wanted to make it so that the `Employee` role could only create `Article`'s, we would simply specify the following:

```
system_roles:
  Manager:
    # Manager Permissions
  Employee:
    allowed_types:
      document_types: ["Article"]
```

> **Note:** The default behavior for pimcore is that if no allowed class/doc types are specified, then *all* classes and doc types are allowed. If you need to restrict all creation, you may need to configure it at the workspace level.

### Allowed Perspectives

[](#allowed-perspectives)

You can specify the allowed perspectives on a role by adding perspectives to an array of strings:

```
perspectives: ["Default"]
```

If you don't specify a list of perspectives, than it will clear all previously selected perspectives.

License
=======

[](#license)

This bundle is licensed under the Pimcore Open Core License (POCL) and is intended for use with Pimcore Platform 2025.1 and newer.

See LICENSE.md for full license text.

###  Health Score

49

—

FairBetter than 95% of packages

Maintenance98

Actively maintained with recent releases

Popularity12

Limited adoption so far

Community12

Small or concentrated contributor base

Maturity62

Established project with proven stability

 Bus Factor1

Top contributor holds 52.6% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~115 days

Recently: every ~64 days

Total

18

Last Release

12d ago

Major Versions

v1.0.5 → v2.0.02021-05-19

v2.2.0 → v3.0.02023-10-10

v3.1.0 → v4.0.02024-06-06

v4.1.0 → v5.0.02025-05-07

### Community

Maintainers

![](https://www.gravatar.com/avatar/85e9ffa5092017101650f30f5fedeb12da6d48344373f33d56e02fa9f1c2d92b?d=identicon)[torqnorth](/maintainers/torqnorth)

---

Top Contributors

[![lukemacausland](https://avatars.githubusercontent.com/u/58705994?v=4)](https://github.com/lukemacausland "lukemacausland (40 commits)")[![nick-compassaq](https://avatars.githubusercontent.com/u/68865874?v=4)](https://github.com/nick-compassaq "nick-compassaq (24 commits)")[![evanjamesjackson](https://avatars.githubusercontent.com/u/5866481?v=4)](https://github.com/evanjamesjackson "evanjamesjackson (5 commits)")[![Jonathon-Meney-Torq](https://avatars.githubusercontent.com/u/253076990?v=4)](https://github.com/Jonathon-Meney-Torq "Jonathon-Meney-Torq (5 commits)")[![cameronfromtorq](https://avatars.githubusercontent.com/u/105230931?v=4)](https://github.com/cameronfromtorq "cameronfromtorq (1 commits)")[![rjjackson22](https://avatars.githubusercontent.com/u/38430762?v=4)](https://github.com/rjjackson22 "rjjackson22 (1 commits)")

### Embed Badge

![Health badge](/badges/torqnorth-pimcore-role-creator-bundle/health.svg)

```
[![Health](https://phpackages.com/badges/torqnorth-pimcore-role-creator-bundle/health.svg)](https://phpackages.com/packages/torqnorth-pimcore-role-creator-bundle)
```

###  Alternatives

[pimcore/data-hub

Pimcore Datahub

1351.2M9](/packages/pimcore-data-hub)[pimcore/customer-management-framework-bundle

82483.7k2](/packages/pimcore-customer-management-framework-bundle)[pimcore/data-importer

Adds a comprehensive import functionality to Pimcore Datahub

44732.1k1](/packages/pimcore-data-importer)[elements/process-manager-bundle

The Process Manager allows you to manage (define,execute...) arbitrary processes/commands in the Pimcore backend.

48616.7k5](/packages/elements-process-manager-bundle)[pimcore/admin-ui-classic-bundle

171.1M38](/packages/pimcore-admin-ui-classic-bundle)[pimcore/perspective-editor

Pimcore Perspective Editor

22361.1k](/packages/pimcore-perspective-editor)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
