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 events

Add to calendar

Group notifications

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

Hot content this week