powered by Jive Software

Limitations on Database Integration

Reading documentation on this:

<jdbcGroupProvider>
       <groupCountSQL>SELECT count(*) FROM myGroups</groupCountSQL>
       <allGroupsSQL>SELECT groupName FROM myGroups</allGroupsSQL>
       <userGroupsSQL>SELECT groupName FORM myGroupUsers WHERE username=?</userGroupsSQL>
       <descriptionSQL>SELECT groupDescription FROM myGroups WHERE groupName=?</descriptionSQL>
       <loadMembersSQL>SELECT username FORM myGroupUsers WHERE groupName=? AND isAdmin='N'</loadMembersSQL>
       <loadAdminsSQL>SELECT username FORM myGroupUsers WHERE groupName=? AND isAdmin='Y'</loadAdminsSQL>
  </jdbcGroupProvider>

I believe it was a bit short sighted to assume groups have unique names. There should be the option to query “WHERE name=? AND account=?” since two users may have groups with the same name but different descriptions.

Hi,

for centrally managed groups this makes little sense. The JDBC provider is afaik read-only so only you will be able to mange the groups.

LG

I don’t mean for the sake of changing them, though. That same limitation is in effect on any database integration setup (like with accounts).

My concern is this, user A and user B both have a group named “Friends” but with different people in it and different descriptions. I can’t simply query for a group named “Friends” as it would always return one accounts groups (which is wrong).

The way I worked around this was setting the group name to be a unique group id in the table, and the description as the group name, but that means it is no longer possible to retrieve the true group description. I would not need to use the group id since account_id to group name is a unique constraint.

Here is my table’s create structure in case it helps:

CREATE TABLE groups (
group_id bigint(20) unsigned NOT NULL auto_increment,
account_id bigint(20) unsigned NOT NULL,
name varchar(255) NOT NULL,
description text NOT NULL,
group_created datetime default NULL,
group_modified datetime default NULL,
PRIMARY KEY (group_id),
KEY account_id (account_id)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

There groups are use for more than just our chat system, so it would be awesome to be able to fully integrate them.

a quick question over here:

if later on, we add a new group and bunch of memebers to this group to the external database, which openfire integrated with, will openfire pick it up right away without restart?

Alex