Porting COD to Drupal 7: A How-To

You are viewing a wiki page. You are welcome to join the group and then edit it. Be bold!

This is a high-level plan for getting a Drupal 7 release of COD.

Are you able to help update COD to Drupal 7 by contributing resources (developer time, financial or other sponsorship)? Please leave a comment on this issue and list the kind of help you can provide!

Setup

Sprints

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):

[This discussion has been consolidated at http://drupal.org/node/1496646.

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: has 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

Feature components to remove (from Features exports)

  • COD Base defines 'site administrator' role, D7 has administrator role already
  • Do we still need the admin module?

When will it be released?

When it's ready.

Comments

Signup features updated, Track issues with tags

ezra-g's picture

I updated the list of functionality we currently provide in Signup and the COD-related integration modules, to help with efforts related to Signup/Registration in D7.

I suggest we tag issues on Drupal.org relevant to COD with "codlove" rather than trying to keep track of them in a wiki. We can always link to a listing of issues with that tag instead, and that listing will always be automatically up-to-date.

I can help some with this effort.

mcannon's picture

I can contribute some development time to this effort. I just might need some focused tasks to get going.

Conference Organizing Distribution

Group organizers

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds: