What is COD?
COD is the Conference Organizing Distribution of Drupal and is primarily used for building and running conference, barcamp, or event websites. The useCOD.com site outlines a list of available features.
While we have tried to make the interface and documentation useful, learning about fundamental Drupal concepts such as permissions and essential modules such as Views and Ubercart are necessary to get the most out of COD.
Get started with COD for Drupal 7
You can find documentation for COD on Drupal 7 at https://drupal.org/node/1837770
Get started with COD for Drupal 6
- Download and install COD (need help?) as you would any other Drupal site, making sure to choose the "Conference Organizing Distribution" option on the first installation screen.
- The default home page is the COD configuration instructions. You should unpublish it before making the site available to non-admins.
- Create a new home page with Views, Panels or a single node that's configured to be the front page.
Create conference attendees
- There are three additional roles: attendee manager, session organizer, site administrator and sponsor organizer. You may want to add additional roles, such as "attendee" and "speaker", depending on how you expect people to interact with the site.
- COD is fairly restrictive with permissions; adjust them as needed.
- Comments are disabled by default on events, sponsors, rooms, time slots, and schedule items.
COD assumes that a conference can encompass multiple events — for example, sessions at a day-long course. However, you can create conferences that contain only one event (such as a concert).
- Create a node of the Event content type (node/add/event). The SKU is required, and must be unique: It becomes the event's "primary key".
- If you're going to charge for events, install and configure an Ubercart payment gateway. (If not, you can disable Ubercart.)
- Ensure people can find the link to sign up, by creating either a block or primary menu link.
- Check permissions (as in, anonymous users have permission to sign up) and start promoting.
- The COD sponsors feature is enabled by default (admin/build/modules). This also enables the 'Conference administration' admin menu.
- If needed, modify sponsor levels (e.g. platinum) in the allowed values list of the Sponsor content type (admin/content/node-type/sponsor/fields/field_sponsorship_level).
- Adjust permissions if you'd like sponsors to create their own sponsor node (it will remain unpublished until an admin approves and publishes it).
- Modify Sponsor view if you'd like additional sponsor levels to appear on the Sponsor page (by default, only platinum display).
- Or, arrange the blocks (admin/build/block) so the other levels. There are separate sponsor blocks for home page and internal pages.
- If needed, rename sponsor levels in the view.
- Assign Sponsor blocks to regions.
- Check viewing and editing permissions are appropriate for your needs. Note that only published sponsor nodes display.
Create a community for attendees
Full names and photos of attendees are displayed and filterable at /community. Only people who have signed up for the event (i.e. have a signup id associated with their user account) will appear in this list.
- The COD Community feature is enabled by default (admin/build/modules).
- You can perform Views Bulk Operations on anyone with an account.
- The cod_community view displays name, photo and core profile fields of signed up users out of the box, with exposed filters.
- A forum menu link also appears.
User accounts contain any personal information tab. First and last name are required because they display in the community page, and for presenters, their full name will display on schedules and session nodes.
Organization (company) name, job title and interests are optional. You can also modify these or create additional fields at /admin/user/profile.
Add signups manually without payment
In some cases, you may want to give away tickets, and not collect payment from them, like for keynote speakers, sponsors, organizers or other volunteers.
- To do this, you will need the 'administer user's and the 'administer signup' permission.
- Create a user account for the person if there isn't one already.
- Go to the event node and click Signups.
- Click add to create a signup.
- Enter username.
- Click Signup.
- They will be added to the list of attendees, should get an email notification immediately, and will get a reminder notification before the event (if configured).
- The COD Session feature is enabled by default (admin/build/modules). This enables the 'Conference administration' admin menu.
- Update the session Track field allowed values in the Session content type (admin/content/node-type/session/fields/field_track).
- As sessions are created, visit the Session administration (conference-admin/sessions) to manage sessions; review and publish submitted sessions so they are visible to the public.
Voting on sessions
- Voting usually begins once you've finished accepting new sessions, so votes are applied fairly.
- Adjust flag access on the Session vote flag (flags/manage/session_vote) to allow other roles to vote on sessions.
- You will probably want to do some additional theming to ensure the "Vote for this session" links are more prominent on session nodes, or build a view that shows all nodes that haven't been voted on by the current user, filterable by track/experience level.
- Remove the flag access by role (flags/manage/session_vote) when you want to stop allowing people to vote.
Create the schedule
The cod_schedule view is restricted by default to keep it private while organizers are still working on it. It doesn't display anything until rooms and time slots are created, and sessions are assigned to time slots.
Note: Have more than 10 rooms at your conference/event?. You might need a patch
- Create Room and Time slot nodes. These will be the framework for your schedule.
- Sessions and Schedule items are different content types. A Schedule item is something like Lunch, that doesn't have a presenter or track, but needs to be assigned a room and time slot.
- Sessions and schedule items can be assigned to multiple rooms. Assign an item to all rooms for it span the width of the schedule grid and indicate there are not other sessions planned during that time (e.g. Registration).
- Sessions and Schedule items need to have a Room and Time slot assigned to them to appear in the schedule, as well as be Accepted and Published.
- You won't be able to schedule two sessions/schedule items in the same time slot and room; a warning message will appear, explaining the conflict.
- When you are happy with the schedule, change the View access restriction accordingly.
"Your Schedule" display
- When you're ready for people to add sessions to their personal schedule, go to admin/build/flags.
- Edit the session_schedule flag, and assign access to this flag to one or more roles.
- You can add this flag to additional scheduleable content types (e.g. BoF or workshops).
- Make any other configuration changes you wish, then Save.
Checking in attendees
The conference management menu has a "Check in attendees" link to conference-admin/checkin. You must have the Attendee manager role to use this list. This list shows everybody who has a signup ID, along with their full names, username, sign-up time and more.
When attendees arrive to collect their badge and other materials, simply put a checkbox next to their name and click “Mark signup attended”.
You may want to make modifications to this view, including removing the button “Marked sign-up did not attend” if there is a chance the wrong button may be used inadvertently during a crowded registration morning, and you may want to display more than 100 attendee names at once.
Other configuration considerations
COD includes default empty text in the Views. You may want to review and change this text as needed.
Offsite payment systems (such as Hosted Order Pages) are known to cause problems with Ubercart. COD (UC Signup) works around some of these but there may be others that are problems.
COD doesn't handle Cash On Delivery payment method for Ubercart.