Question:
I'm tring to install public extension for mediawiki "Translate" that add multilanguage feature to the wikipages.
This extension require some permission to user, I have added it on LocalSettings.php but seems that during loading of pages, something override this permission. So i'm tring to add it from BSPermissionManager but it can't add new permission, only assign default.
Is there a way to add custom permission to a group and avoid overriding of BSPermissionManager?
Answer:
BlueSpice since version 3.0 implements a custom access system using roles. This system still supports using 3rd party permisisons, but they must be registered with BlueSpice role system.
When registering new permission you define to which roles that permission will belong to, and all user groups assigned that role will be also assigned that permission.
Example:
- to register new permission "mypermission" you would add following code to LocalSettings.php:
<code><nowiki>
$bsgPermissionConfig["mypermission"] = [
"type" => "global",
"roles" => ["admin", "reader" ]
];</nowiki></code>
Of course, substitute "mypermission" for the permission name required for Translate extension. If there are multiple required permission, create one of these entries for each one.
This means that roles "admin" and "reader" will now also contain "mypermission". To verify this, go to PermissionManager and click on the "i" icon in front of the role name (one of the roles you assigned permission to). In dialog that opens you should see your new permission listed.
If permission is there just make sure those roles are assigned to desired user groups and that is it. (By default, "reader" role is assigned to "*" group, so by adding the permission to "reader" role, all uses on the wiki will receive this permission)