Start a conversation

Database Tables Related to Permissions

Overview

Content and Space permissions in Jive are stored in various database tables. This article explains the purpose of these database tables and how they work together to manage permissions.

 

Description

Permission settings are stored in the application database and distributed in multiple tables. The table below provides a brief description of the permission related database tables. You can also click on the table's name to find its detailed schema.

Table Name

Table Columns

Purpose

jivecustompermlvl

creationdate, permlevelid, creatorid, description, modificationdate Stores the custom permission levels that have been created.

jivepermlevel

system, permlevelid, name Stores the description of permissions against the permission level ID.

jiveobjpermlvl

objpermlevelid, name, description, lvltype, objtype Stores the permission level definitions for objects.

jiveobjpermlvlext

extender, creationdate, objpermlevelid Stores the extension information of object permission levels (jiveobjpermlvl), for example, which plugin extended it and when.

jiveextcontext

name, contextid, type Stores the extension context details such as extender and the type.

jiveobjpermlvlmap

extender, creationdate, objpermlevelid, permlevelid Links the object permission levels (jiveobjpermlvl) to a permission level (jivepermlevel) as well as the extension context.

jivedefobjpermlvl

objpermlevelid, objtype Stores any default permissions that are given to a perm level when it is set on a particular object.

jiveentitlementmsk

 name, mask This is much like object permission levels (jiveobjpermlvl), except you can store individual linking - so it is a mask as well as an object type - useful, for example, for the advanced options when you are creating a custom level.

jiveobjtypemsk

extender, creationdate, objtype, mask Links the entitlement masks (jiveentitlementmsk) to the extension context (jiveextcontext).

jiveobjpermlvlmsk

extender, creationdate, objpermlevelid, mask Links the objects’ permission levels (jiveobjpermlvl), entitlement masks (jiveentitlementmsk), and the permission extension contexts (jiveextcontext).

jivepermlvlmsk

permlevelid, objtype, mask Links the entitlement masks (jiveentitlementmsk) to permission levels (jivepermlevel).

jivegrantedpermlvl

grantedid, permlevelid, grantedobjecttype, targetobjecttype, targetobjectid Stores the permission levels that particular objects (like users) have on target objects (like spaces).

 

 

Below diagram presents a visual overview of how these tables are connected:

 

permissions-tables-relations.png

 

As visible in the diagram above, the majority of the data relations are consolidated within the jivepermlvlmsk and jiveobjtypemsk tables, which in turn end up in the jiveentitlementmsk table. The jiveentitlementmsk table finally relates to jiveentitlement table, which is where the application starts checking for the permissions at the runtime.

 

 

Choose files or drag and drop files
Was this article helpful?
Yes
No
  1. Priyanka Bhotika

  2. Posted

Comments