I need to vent my anger about Drupal's organic group Module. It all started relatively harmless by noticing, that I am dealing with group owners of low discipline and little technical understanding. You know, that kind of people, who is just not aware of there being a need to do something, if the thing in question does not draw attention to itself by any other means, but showing a big red box on top of the screen, stating: "Take care of me! Yes, it is urgent and yes, you have to click here..."
One of these things, that should come with such a box are membership requests for moderated groups. They don't. The only way, a clueless group owner might notice a pending request is by actually going to a group page, accidentally looking at the sidebar and noticing a tiny number in parentheses in the group details block, next to the membership count. Clicking the link opens the "Faces" tab of the user directory, which is nice to behold, but gives absolutely no clue whatsoever, that there is anything, that requires attention. Hence, attention goes away, until the little number in parentheses reaches N+1 a couple days later, reminding the clueless admin, that it might have some significance after all, resulting in a bit more of poking around and finally getting the application at least noticed.
Clueless admins however don't stop there. Well, actually, they tend to stop exactly there, thinking something along the lines of "oh my gosh, someone wants to join my group. Who is that? Do I know that guy? I can only see his account name and his profile is not set up. Should I accept? Decline? Wait for an epiphany?"
And unfortunately option c) it is...
Ok, we are talking Drupal here and surely, there are must be some way to give membership requests a) more exposure and b) enough detail to figure out, who is actually requesting membership.
First stop: block configuration. Modules just love to throw blocks at you. Organic groups loves to throw blocks. However, Organic group does not throw a block for pending membership requests... Bummer! It does not throw a view for this job either... Bummer squared! There goes our hope of doing some panel magic to easily move pending requests to a highly visible page area.
Well, next stop: do it yourself. It's not too hard to add a view or code a sidebar block and the at least the requesting user is offered the chance to submit a message to the group owner, stating why he wants to join.
Now we only have to figure out, where that message is stored in the database, so we can pull it out again, using a bit of custom code. Looking at the database yields no answer where it is stored. Looking at the organic groups code yields one answer and that answer is: nowhere! That's right, the user is prompted to give a reason, which the system immediately forgets afterwards! The only way a group owner or administrator will ever know, what the requesting user put in the application form is by mailing them the request and this is where the real fun starts...
To mail the request, additional modules are required. A whole stack of them! Not only do they hog more memory, they also add a ton of other, potentially unwanted features. Suddenly, I find my users can subscribe to each and everything going on on the website. Powerusers might delight at the thought, but I am dealing with clueless group admins, remember? For me it's just installing a load of extra modules and than turning off 90% of their functionality again, just to find, that the remaining 10% does not work as intended and half of that is even broken! For about a year now!
I think, I'll just give up on the issue and put more focus on user education. Thanks for reading. Sorry for not being able to provide a solution.