Warning: You are viewing old, legacy content. Kept for posterity. Information is out of date. Code samples probably don't work. My opinions have probably changed. Browse at your own risk.
Apr 10, 2008
I couldn't get the available event content types or CCK to do what I wanted, so I've made a simple meeting module for Drupal that allows you to create a number of meeting templates with various roles, and then create meetings on specific dates, with users assigned to each of the roles.
There are tons of different ways to create events using Drupal, and I was previously using CCK and user-reference fields to do this, but I wanted some more flexibility and came up with this.
What I need to do was have a pre-defined meeting template, in which various members of the community perform different roles at a meeting. For example member x might be the chairperson and member's y and z might be speakers. I could set up events using the Date API and Date CCK fields and User Reference fields. Some roles had an extra field (such as speech title for a speaker). I created a content type using CCK that did all of this without too much difficulty.
But, then, if I needed to change the meeting template - I couldn't do so without affecting all the previous meetings, unless I created a new content type using CCK. This starts to get a pain, and it's not something I could delegate to someone without knowledge of CCK or Views.
The solution was to create a new module, that had a simple interface for creating a meeting template with various roles, and auto-lookup user fields. At any time you can create a new template, and change the current active template. This only changes the template for newly created nodes - as all old templates are remembered for the correct presentation of previous meetings.
If you need to create a meeting content type, or create events in your Drupal site that may have multiple roles, then this module may be of use to you too.
You can download the code below. I have only tested this with version 5.7 of the Drupal core.
The basic usage is as follows:
- install the module
- configure a meeting template, and then set this as the active template.
- create a meeting. You can now add users to your meeting and assign them specific roles.
I have some code to put a users upcoming and previous roles on their profile. I will be merging that code into this module.
Let me know if you find this useful.