posted 17 years ago
I did something like this when I integrated my application with JForum. So it can be done. However, it's not a quick task.
Things you will need to look at are:
How tightly to integrate your app's "groups" with JForum's groups. Can it be a batch process or do you want to generate group membership automatically. In my case, I modified the various Group DAO objects to pull membership info from my apps groups (and disallowed changing group info via JForum).
How do you plan on managing your "security" issues? E.g., making sure the correct groups only have access to the specific forums. This is possible to do via the JForum admin screens, but you need to make sure anyone creating new forums knows the correct process. And it's very easy to miss a step and expose a forum to the wrong people this way.
In my case, I wrote my own forum creation code that automatically sets the correct rights based on some simple choices. The hardest part of doing this is understanding the underlying jForum security mechanisms (which required digging around in the code a lot). Also, there are some repository (classes that keep info in memory) that need to be considered.
Finally, as to duplicate user id's. We use a similar structure here for our id's. E.g., the "real id" is client.username. Our login process includes either manually or automatically selecting the client, having the user enter a user id and password, and then using javascript to concatenate the two into a hidden field that's used to authenticate them.
In JForum, we don't display the user id, instead the templates have been modified to display the from User object property (Full name) rather than the username property. Since we require a full name to access our main app, this gets around the user id problem and makes the look better because posts say: Jean Doe rather than jdoe.
One other thing to consider are things like the member listings. Do you want different groups to see each other? We "solved" this by simply removing the member listing links.
Bottom line is that it's all possible but it's on the order of a 1-4 week project (depending on how much you know about JForum/can decypher other people's code).
One final thing to think about: If you need total separation and have just a few groups, it might be easier to run multiple instances of JForum than to add in the security. (We didn't because we have many clients and client subgroups, with some overlap).
[originally posted on jforum.net by monroe]