Dashboard > Penrose > Use Cases > Confluence
Log In   View a printable version of the current page.
Confluence
Added by Jim Yang, last edited by Jim Yang on Nov 05, 2007  (view change)
Labels: 
(None)


Tables Listing in Confluence

mysql> show tables;
+----------------------+
| Tables_in_confluence |
+----------------------+
| ATTACHMENTDATA       |
| ATTACHMENTS          |
| BANDANA              |
| BODYCONTENT          |
| CLUSTERSAFETY        |
| CONFANCESTORS        |
| CONFVERSION          |
| CONTENT              |
| CONTENTLOCK          |
| CONTENT_LABEL        |
| CONTENT_PERM         |
| CONTENT_PERM_SET     |
| DECORATOR            |
| DRAFT                |
| EXTRNLNKS            |
| INDEXQUEUEENTRIES    |
| LABEL                |
| LINKS                |
| NOTIFICATIONS        |
| OS_PROPERTYENTRY     |
| PAGETEMPLATES        |
| PLUGINDATA           |
| SPACEGROUPS          |
| SPACEPERMISSIONS     |
| SPACES               |
| TRACKBACKLINKS       |
| external_entities    |
| external_members     |
| groups               |
| hibernate_unique_key |
| local_members        |
| os_group             |
| os_user              |
| os_user_group        |
| users                |
+----------------------+

How Confluence Stores Its Users and Groups

Confluence stores its users and groups information in four tables, namely users, os_user, os_group and os_user_group.

mysql> describe users;
+----------+--------------+------+-----+---------+-------+
| Field    | Type         | Null | Key | Default | Extra |
+----------+--------------+------+-----+---------+-------+
| id       | bigint(20)   |      | PRI | 0       |       |
| name     | varchar(255) |      |     |         |       |
| password | varchar(255) | YES  |     | NULL    |       |
| email    | varchar(255) | YES  |     | NULL    |       |
| created  | datetime     | YES  |     | NULL    |       |
| fullname | varchar(255) | YES  |     | NULL    |       |
+----------+--------------+------+-----+---------+-------+
mysql> describe os_group;
+-----------+--------------+------+-----+---------+-------+
| Field     | Type         | Null | Key | Default | Extra |
+-----------+--------------+------+-----+---------+-------+
| id        | bigint(20)   |      | PRI | 0       |       |
| groupname | varchar(255) |      | UNI |         |       |
+-----------+--------------+------+-----+---------+-------+
mysql> describe os_user; 
+----------+--------------+------+-----+---------+-------+
| Field    | Type         | Null | Key | Default | Extra |
+----------+--------------+------+-----+---------+-------+
| id       | bigint(20)   |      | PRI | 0       |       |
| username | varchar(255) |      | UNI |         |       |
| passwd   | varchar(255) | YES  |     | NULL    |       |
+----------+--------------+------+-----+---------+-------+
mysql> describe os_user_group;
+----------+------------+------+-----+---------+-------+
| Field    | Type       | Null | Key | Default | Extra |
+----------+------------+------+-----+---------+-------+
| group_id | bigint(20) |      | PRI | 0       |       |
| user_id  | bigint(20) |      | PRI | 0       |       |
+----------+------------+------+-----+---------+-------+

Reference

I think it's more the tables "local_members" (which describes the link between the userid and the groupid), users (which describes the users) and groups (which describes the groupid and the groupname).

From the documentation I read on your site, the better is to use nested mapping to link the tables (user:id =>local_members:userid, group:id=>local_members:groupid).
I don't really understand the principle.
Let me explain :
In my mapping.xml file, if I have 3 sources :

  • the first one is groups
    • the fields in groups are "id" and "groupname"
  • the other one is usergroups
    • the fields in usergroups are "groupid" and "userid"
  • the third one is users
    • the fields in users are "id", "name","fullname", and other fields

When I bind the field groups.id to usergroups.groupid, and users.id to usergroups.userid . When I try to reach groups.groupname, will I get the groupname of the groupid which is linked to the users' id group, even if there is more than one field related to the users's id ?
example :
user "carlos" has an id of 3324.
group "administrator" has an id of 5555.
group "confluence-users" has an id of 6666.
If I browse the usergroups table, for userid=3324 (carlos), I have 2 fields : groupid = 5555 and groupid=6666 because carlos belongs to confluence-users and administrator.

When mapping all the values and creating ldap groups, I should have in the confluence-users' group the attribute "member" : cn="carlos,ou=Users,dc=example,dc=com"
AND in the administrator's group also an attribute "member" : cn="carlos,ou=Users,dc=example,dc=com" because carlos belongs to the 2 groups.
Is it possible to do so ?

(I'm stopping here because I don't even know if I will get an answer posting here... ask for further details if you want)

Thanks.

Steeve

Site running on a free Atlassian Confluence Open Source Project License granted to Safehaus. Evaluate Confluence today.
Powered by Atlassian Confluence, the Enterprise Wiki. (Version: 2.5.4 Build:#809 Jun 12, 2007) - Bug/feature request - Contact Administrators