I've been busy using the Moshe's organic groups module to make a 'group' feature for my site. But finding that it lacked some features I needed, I ended up pretty much forking it and creating my own module. Called 'groups.module', I'm afraid, for those worried about a potential nameclash if I ever submit it as a contributed module.
http://beta2.postcarbon.org/groups/example
... shows it in action.
On top of the organic groups module, I've
-----
1. Added three new content types: group events; group news; group pages. I chose to do this rather than using existing content types, or even flexinode, because it enables more control, the possibility of extra custom fields, and most importantly the ability for groups to exist within a larger site, and the main site admin can edit 'pages' which appear in the main site, whilst a group coordinator/manager can only add pages within their site. For the 'group page' content type, I've added the ability to order those pages when shown in lists.
2. Done a lot of work with blocks the module generates. Added a new block 'group header' which appears at the top of the page (not in a block down the right or left). Added a block which lists 'group pages'. And edited the 'group details' block so it shows 'group features' which I think is more user-friendly.
3. Made the groups' home pages more rich. I've added a body field to the 'group group' node type, which acts as a kind of introduction to the group on the group home page. Below that, x number of group news node teasers are shown, with x number of group events and forum discussion topics by the side in a box.
4. Nifty display of group events. The events module must be installed for group events to work. On the group home page, the most recent x events are shown, going back to up to a month in the past. Past events have a line through them. The module is clever about how it displays events which span different periods of time/days. It *should* also work as expected with timezones now.
5. Below the news on the home page are x items from the community blog. This uses the standard blog node type (forum discussion topics also use the standard forum discussion node type).
6. A new role called 'group coordinator' has been added. Users with this role can submit group events, group news and group pages, whilst normal group members can't (they can only do blog entries and forum topics). However, one thing I don't like is that say a user is a member of two groups, but is only meant to be a coordinator of one, this isn't yet possible. They're automatically a coordinator/manager of both, as it is defined in a general site-wide role. Adding roles for each individual group may be an idea, but will result in the admin role page being massive if there are a large number of groups. Any ideas here?
7. For usability, added a box at the top of the group home page to tell users how to join etc.
8. Various other usability improvements
-----
Some things I hope to add soon:
a) get the group image to work. I believe this may be a problem with the organic group module as well. Any feedback on this Moshe?
b) Extending the 'group page' module so that groups can either be subdivided into subpages or have an option whether or not they're listed in the block which lists group pages.
c) better control as to keeping a coordinator of one group from being a coordinator of another group
d) ability to add multiple coordinators per group... though I haven't thought about how this can work yet seeing as currently the coordinator is the owner of the 'group group' node type, and you can't have more than one owner for a node type
e) maybe allowing group members to email all members within a group, or something generally to do with group emailing... I haven't really looked into this much yet, but can imagine the groups on my website asking for extra features like this
f) integration with the world cities database, to enable people to find the group closest to them. this will be a killer feature, and something I've worked on before to great success :)
g) any other ideas??....
h) the extra node types are in their own .inc files. It'd be good to extend the module so that its easy to plug-in whatever node types people want.
-----
If there's interest in this module, I can consider adding it as a contributed module. But it'll take me a lot of work to clean up the code, get it to the drupal coding standards, debug, add lots of admin settings/options, make it universal rather than based purely around its current need (the website I've made it for) etc.
But I'm quite pleased with my work so far :) This is the second Drupal site I'll be launching, the first being www.peakoil.ie . Eventually , this beta site I'm launching today will take over from www.postcarbon.org , and I also hope to move www.globalpublicmedia.com over from my own custom-built CMS to drupal, and integrate all the sites (and a couple of others) together.
On another note... how does licensing work with the work I've done? e.g. if I do a module based upon someone elses module, do I have to release that new module to the community? What about if I start a new module from scratch?
Jake.
Comments
pager queries
i also want to add pager queries or at least '...more news' etc. links to the group home page which lead to pages with past news etc. on them. That'll probably be the next addition in fact.
Very Cool!
Hi Jake,
Very Nice! There is definite interest in this module, at least from my end! It's very cool what you have done and it would be very kind of you to release it to the public. If you don't have to time to clean it, I am sure we could find people to help you with that. The organic groups module, is licensed under the GPL. As such if you ever decide to release that module it must be released under that license or one which is compatible with the GPL. If you write your own module from scratch you may license it as you please.
Regards,
Sami
--
Etopian (Consulting, Development, and Hosting)
http://drupal.etopian.net
Your work certainly looks
Your work certainly looks like a fine value add to the OG module.
In our non-profit network with more than 110 member organisations, we have several communities of practice based on the cause for which they work - for instance, geriatric care, health care, cancer support (awareness, treatment and palliative care), organ donation etc. I have been looking for a solution to give each of these communities a collborative workspace and I feel your work on top of OG might be the answer.
Thanks!
Glad there's some
Glad there's some interest!
I'll see what I can do about contributing the module in the near future. Perhaps in 2 or 3 weeks when I get a chance. I'd also need to apply for a CVS account and all that.
Any particular features which I haven't already added which you'd be looking for if I did release it as a module?
Also... if its released, how do we get over the name clash with the existing 'groups' module? I don't feel like changing the module name again... last time I changed it by search-and-replacing it resulted in no end of problems which took hours to fix.
License
As your module uses Drupal APIs, and Drupal is licensed under the GNU GENERAL PUBLIC LICENSE, your module must also be licensed under the GNU license.
Under the GNU license you can do whatever you like with your module - yes, anything!
The only restriction is that if you distribut it, either by selling or giving it away, you must include the source code of the module.
Also, if you do distriibute the module, you must license it under the GNU license.
[MegaGrunt]
------------------------------------------
Drupal Specialists: Consulting, Development & Training
Robert Castelo, CTO
Code Positive
London, United Kingdom
----
thanks for the info. i
thanks for the info. i wasn't looking to sell it, but just understand how it works.
Really?
Robert, I am just curious, I do not mean you are not correct. But do you have some good links regarding the topic? I thought that this "virality" only applies to code which are based on GPL code and not for code using the APIs defined by GPL'd code.
Also, is it legal if I do not make my module public but sell a few copies it, along with source code? (Which is quite natural with PHP, if you do not run Zend Encoder or ION or such over it, you need to hand over the source code anyways.)
--
Read my developer blog on Drupal4hu.
--
Drupal development: making the world better, one patch at a time. | A bedroom without a teddy is like a face without a smile.
GPL FAQ
I'm not a lawyer, so I could be misunderstanding the issue. My opinion is based on these topics from the FAQ:
http://www.gnu.org/licenses/gpl-faq.html#GPLInProprietarySystem
and
http://www.gnu.org/licenses/gpl-faq.html#MereAggregation
[MegaGrunt]
------------------------------------------
Drupal Specialists: Consulting, Development & Training
Robert Castelo, CTO
Code Positive
London, United Kingdom
----
Using an API of a GPL program.
We should discuss this and document our in our handbook if linking via Drupal's API would constitute the creation of a "derivative work".
My understanding is that programs that interact through data using a published API does not constitute a derivative work. How this applies to Drupal's module system is what I have not fully understood. But as I understand it exchanging data between two programs, even if that data influences the behavior of the programs, does not necessarily constitute a derivative work of either program.
---
Code0range: Drink Your Juice
contributing the module
As there appears to be some interest in this, I intend to contribute the module. On my current timescale, probably in about a month's time.
Looks good
I need to launch a new site in about three week's time, and I'm currently evaluating the OG module, but yours looks better :).
If it's not out by then, will there be an easy upgrade path? Or should I just wait? I volunteer for testing if you need anyone.
Similar to Tomoye Simplify
Very good. Reminds me of Tomoye Simplify. Tomoye's communities of practice (COP) is generally organized by categories. Each category can have limited membership and includes various user levels, including editor. Members of the community share stories, downloads, comments, and events. Not a very unique concept and many other products do the same, thought I would share one offered by a company to compare and demonstrate the quality of your module, and Drupal overall.
Tomoye Killer
Spot on Drupal, with a good groups module will be a Tomoye Killer, or at least a real boon to all those orgs who cant afford Tomoye simplify.
Id suggest that those people in the drupal community who "get" the group/community of practice perspective, get together and start creating a Drupal distro for Cops. Im ready to jump in, anyone else interested?
We have DrupalEd, DrupalBlog, Civicspace (for fundraiing/volunteer orgs) what about DrupalCoP or DrupalKM? or Just DrupalGroups.
Banding together may allow drupal people to capture some good business in the CoP niche.
Knowledge may be the door, but communication is the key
available for anyone who wants it
anyone wanting the code for this can email me and I'll send you a zipped up copy. No, its not perfect, but you may be able to work with it, particularly if you're a coder
Progress
How's the progress going for submitting it?
No work done at all in last
No work done at all in last couple of weeks. Hopefully lots of progress in the coming week though. And in about two weeks I'll look at officially contributing it.
Anyone wanting the module can email me and I'll send you a zipped up latest version.
Reminds me of my promise to
Reminds me of my promise to test this out and send you the results. Sorry I haven't been able to do it so far. Should be possible in the next few days.
Thanks for the module.
Yeah, definitely interested!
We're just setting up community-oriented club pages and will be delighted to deploy this module on a large scale. Looking forward to progress. Meanwhile can test it out for you. Just send me a pm on how to get the source.
The GhanaThink Foundation
Just email me through the
Just email me through the site at http://drupal.org/user/15674/contact and i'll email you a zipped up copy of the files in return
I'm interested!
This sounds like what I'm looking for.
Where can I get this module?
Is it still a very buggy beta?
Should I try Organic Groups first?
Is this project still active or a dead end?
this project is dead really.
this project is dead really. if you're a *coder* and would like the code then email me and I'll send it to you (i've already sent to about a dozen people). But if you just want to install a module and can't look inside it then stay clear!
what you outlined sounds good
Hi Jake, What you outlined sounds good. Even if the development here has stalled the concepts you have already provided are valuable in of themselves and something I hope that the OG module can move towards if nothing comes from your own code. Anyway please do email me a version, I sent you an email or 2 but havent heard anything back yet.
thanks. have i emailed it to
thanks. have i emailed it to you yet? i've emailed at least a dozen people with the code so far, and it'll be good if anyone is able to develop it at all, or incorporate some ideas into og.
Great work - can you send me what you've got?
Hi, I'm trying to make some modifications to OG and I think your code would help greatly! Can you email me a version?
Thanks a bunch,
Kevin
Can you send me a copy of this Groups Module?
Thanks.
- Anim
Roles and Rights
There are three things I do not like with drupal, whereof two are part of mostly all CMS:
a.) The funny words they use here for things (nodes etc).
b.) The way most coders coding the profiles and
c.) The way the roles (or similar functions at other cms) are work.
The problem is that roles are not 3D. They include functions which are fixed or sidewide.
If a role would be a singular thing which included the user or group and actions or functions, it would be easy to set-up roles for nearly every administration function to every group and/or user.
E.G.: The role No. 1 would include all member of group A and the function to add members to Group A. The role No. 2 would include member Hercule_Poirot and the function to delete members from Group A.
This would mean: No clashes within the roles, finetuning down to any level, easy set-up etc.
:-)
any progress on this module
any progress on this module from anyone? It sounds really good.
I haven't made any and don't
I haven't made any and don't expect to, but I've emailed the code to about 10 or so people who wanted it now, so hopefully one of them may have made some progress? If you want my code, email me through http://drupal.org/user/15674/contact
Working Site
Hi all,
I've now emailed the code to about 20 Drupalers. It would be good to see if anyone has used it at all. I haven't edited the code for months, and don't really intend to now either. However, you can see a working version of the code at:
http://www.postcarbon.org/groups
I don't maintain the site any more, but I think the site is still running the same code I give to people who email me asking for it.
Thanks for your
Thanks for your contribution. A site I am working on has a Communities of Practice section, so I am tempted to use your code and see how it goes.
Just to be clear. Do I need to first install Organic Groups module and then your module or your module will work on its own?
just mine
just mine
Thanks!
Thanks!
peakoil site
Hi Jake,
I just found this thread. I'm sorry to hear that you are not planning to work on this module. I'm very interested in having such a module and will look forward to someone else finishing it.
I do want to say that I think it's terrific you are one of the people doing the peakoil.ie site. The postcarbon site looks great and I'll explore it some more.
I don't know if your domain name expired but the links to you on the peakoil site links to an advertising site.
ae2005
Code
Hi Jake,
I emailed you couple of times. Please send me your code.
If anyone has it downloadable please let me know.
Thanks
VK