This is a high-level plan for getting a Drupal 7 release of COD. Additional issues will appear in this section, probably as a link filtering the issues to every relevant to the D7 version of COD.
Setup
- How to download and install COD http://drupal.org/documentation/build/cod/install
- More recent, detailed setup instructions and hit list here: http://groups.drupal.org/node/133524
- COD (the profile) meta upgrade issue http://drupal.org/node/1110138
Sprints
- Join IRC in #drupal-cod to sprint virtually
- The #BADcamp Drupal camp will be hosting a Distributions code sprint on October 21st, 2011 in San Francisco, CA, and since #COD is a distro, we'll be working on it! http://2011.badcamp.net/program/sprints
- The LA Drupal user group organized a COD on Drupal 7 code sprint on October 8 & 9, 2011. Sponsored by LA Drupal Association, Monster Assembly, SoftLayer, Droplabs and Exaltation of Larks.
- A COD sprint happened just before DrupalCamp Colorado on June 11th and 12th in Denver.
- The San Diego DUG sprinted on the D6 --> D7 COD upgrade paths on May 7th in San Marcos, CA. Sponsored by Transparatech and Kohwork'n.
Content types and Views exports
these are simple tasks that anyone can help with
- Have Drupal 6 COD install setup
- Install Drupal 7 and Features, Views, CTools
- Create content types to match the COD Support content types in Drupal 6
- Leave out Signup, Ubercart, scheduling settings, uuid (things that would complicate export or aren't D7 ready)
- Create news, attendees, sponsors Views
- Create features to match the COD support features from Drupal 6
- Export features
- Post Features to an issue in http://drupal.org/project/cod_support
Profile
- Port cod.profile to Drupal 7 so COD can be installed and configured easily (may need to leave out modules that don't have a D7 release yet)
Key architectural issues:
As part of the port to Drupal 7, we need to:
- Update the Signup module (or write an equivalent module) to Drupal 7 (see below)
- Provide integration between Signup and Drupal Commerce
- Provide the ability for sites without E-Commerce needs to provide signups without having to enable Commerce, via 2 separate COD feature modules: One for free events and one that adds paid event support.
Updating the Signup module (or writing equivalent functionality):
Signup currently has a "straight port" in progress of the 7.x-1.x branch.
The "straight port" approach has the benefit of generally being faster to write, but the drawback of not taking advantage of the Drupal 7 Entity API for storing signups. The Drupal 7 entity API may simplify the popular feature request of adding event-specific fields to the signup form, and may also help provide better architectural compatibility with Commerce.
You can help Signup move along in Drupal 7 by reviewing the Registration module and filling patches against it to help provide feature parity with Signup for Drupal 6. See below for a list of key Signup module features that exist in Drupal 6 and should be preserved in the Drupal 7 version of Signup.
The overall meta-discussion about these modules and approaches is at http://drupal.org/node/1285384.
It would be ideal to have a single module that provides Signup functionality so that we can focus development efforts.
Main goals of a signup-type module for Drupal 7 are:
a) Integrates well with Commerce
b) Maintains feature-parity with the existing Signup and UC_Signup modules:
- As an event organizer:
-- I can send an email to everyone who is registered for a specific event
-- I can see how many people are registered for a specific event
-- I can see how many spaces remain in a specific event
-- I can manually sign up or cancel the signup of a user
Provided in Drupal 6 through the Signup status module, but should be possible with a D7 version of Signup (either in a separate module or through the Signup API)
-- I can assign different Signup statuses used to group registrants.
-- Each status can have its own signup limit for an event
-- Each status can count against the total signup limit for an event
Provided in Drupal 6 through the UC_Signup module
- As a user I can:
-- Sign up one or more users for an event
-- Enter profile field (and ideally, event-specific) information for users who have not already provided this information
-- I can create an account for users who do not already have accounts and enter necessary Signup and profile field information for them
-- See a log of all signup IDs and email addresses associated with my order
As a site administrator, I can:
- Control which user profile fields display in the paid event signup form
- Allow existing users to edit their profile information as part of the event signup form
- Customize the order confirmation email to include created Signup IDs
- See a log of all signup IDs associated with an order
User & Admin:
-- Work with purchased signups in the same way as free Signups
c) Provides event-specific fields on the event signup form (or is built in a way that this is possible to add later)
Note: Information below here may be out of date.
Dependencies/patches (last updated 2011-10-08 during LA Drupal code sprint)
Note: Unless version matters, it hasn't been mentioned here. Also, has a release means that Drush downloaded something...doesn't mean it's stable.
(D) Acquia Prosper: NO D7 RELEASE Instead, we'll be using the new http://drupal.org/project/fusion_swimmingly theme.
(D) Admin - has D7 release
(D) Auto Nodetitle - has D7 release
(D) CCK: Omitting; fields are in core now. May be re-added for an upgrade path.
(D) Comment Notify - has D7 release
(D) Context - has D7 release
(D) Chaos tools - has D7 release
(D) Strongarm: has D7 release
(D) Link: has D7 release
(D) Date: has D7 release
(D) Diff: has D7 release
(D) Checkbox Validate: BUG FIXED IN D7 CORE
(D) COD support: Duh, we're porting that ;)
(D) Emfield: NO D7 RELEASE
(D) Fasttoggle: NO D7 RELEASE
(D) Filefield: IN D7 CORE
(D) Flag: has D7 release
(D) Features: has D7 release
(D) Global redirect: has D7 release
(D) ImageAPI: has D7 release
(D) ImageField: IN D7 CORE
(D) jQuery UI: has D7 release
(D) Markdown: has D7 release
(D) Pathauto: has D7 release
(D) Path redirect: has D7 release
(D) Skinr: has D7 release
(D) Signup: has D7 release
(D) Token: has D7 release
(D) Ubercart: SWITCHING TO COMMERCE
(D) UUID: has D7 release
(D) UUID Features: has D7 release
(D) Views: has D7 release
(D) Views bulk operations: has D7 release
(D) Views Send: NO D7 RELEASE
List of modules that need to be removed from COD 7.x-dev
Checkbox Validate
FileField
ImageCache
ImageField
Path Redirect (replaced with Redirect in Drupal 7)
Signup Profile (Depending on whether equivalent functionality is included in Signup for Drupal 7
Views Send (Use Rules instead)
(P) flag (http://drupal.org/node/846826) - WAS COMMITTED TO 6.X, VERIFY IN FLAG 7.X RELEASE
(P) features - export profiles - 6.x issue was http://drupal.org/node/912716, COMMITTED IN 7.X (http://drupal.org/node/873122), VERIFY IN 7.X RELEASE
* http://drupal.org/node/968826#comment-3863422 - VERIFY STATUS
* http://drupal.org/node/1008496#comment-3995594 - VERIFY STATUS
(via @droweski) Here are some extra notes on the module dependencies of D6 COD and the D7 status - may be outdated. Info above is more up-to-date. These notes should be removed once refined.
All
C-Tools: Active dev
Features: Stable beta
Menu: Core (but changes and some bugs)
Strongarm: Early dev version
UUID: Early dev version
UUID Features: Early dev version
Views: Switch to Views 3 (sse notes)
COD Community
Signup: Early dev (ezra-g)
COD Events
Date: Alpha 3 (major changes, see notes)
Signup: Early dev (ezra-g)
UC: Switch to Drupal comerce (uses rules2: early beta)
UC Signup integration: Early dev (ezra-g)
VBO: Dev version
COD Front Page
Content Permissions: Change to Field permissions module
Context: Early beta
Date: Alpha 3 (major changes)
Fasttoggle: No D7 version
Fieldgroup: Stable module
Flag: Beta version
Link: Alpha version
Node Reference: Relation API module, early dev
Signup: Early dev (ezra-g)
User Reference: Relation API module, early dev
COD Session
Automatic Nodetitles: Stable
Content Permissions: Change to Field permissions module
Context: Early beta
Fieldgroup: Stable module
Flag: Beta version
Node Reference: Relation API module, early dev
User Reference: Relation API module, early dev
COD Sponsors
Content Permissions: Change to Field permissions module
Context: Early beta
Fasttoggle: No D7 version
User Reference: Relation API module, early dev
Others
Diff: Early port
Skinr: Unstable dev version
Global redirect: Change to Redirect module
Checkbox validate: None
Notes:
Main areas of concern as I see it:
Signup and signup-integration with commerce package: need major module re-writes, originals both built by ezra-g.
Node and user references: change to relation API module, could be some major code changes.
C-tools/Views/Date: under heavy co-dependent development and changing daily.
Tests
- Test coverage of COD in Drupal 7 would be beneficial, even if its tests for things that don't exist yet (TDD :)
- Tests could be of D6 features, such as creating sessions, voting, visiting pages like speaker lists, sponsors, registering etc
Views-powered schedule
cod_session.module is very much in flux for D6 The alpha3 code could be updated but the BoF code significantly alters it and is not yet committed. See issue http://drupal.org/node/1034482
When will it be released?
When it's ready.