Migrating BeWelcome to Drupal: Difference between revisions

[[Wiki.trustroots.org]] is an independent wiki with information for people who are actively exchanging hospitality.
(moving back)
mNo edit summary
Line 1: Line 1:
This is an overview of the project to migrate [[BeWelcome]] to Drupal.  This is a work in progress.  You're welcome to edit.
This is an overview of the project to migrate [[BeWelcome]] to Drupal.  This is a work in progress.  You're welcome to edit.


The BeWelcome project was started late 2006, and it has gained considerable respect for the way it's run.  Unfortunately so far this has not materialized into an big active member base.  One possible underlying problem is probably the current code base, which takes an considerable amount of time and effort to get into, experience that is not directly usable on other projects.  So the idea has risen several times to move to a more active platform.  According to a survey among potential and actual BeWelcome developers, taken in October, there is considerable knowledge of Drupal, compared to Zend, Symfony and even the BW Rox framework itself. (See also <a href="http://couchwiki.org/images//en/images/7/70/BW_developers_survey_2010-10.pdf">the developer survey</a>.)  
The BeWelcome project was started late 2006, and it has gained considerable respect for the way it's run.  Unfortunately so far this has not materialized into an big active member base.  One possible underlying problem is probably the current code base, which takes an considerable amount of time and effort to get into, experience that is not directly usable on other projects.  So the idea has risen several times to move to a more active platform.  According to a survey among potential and actual BeWelcome developers, taken in October, there is considerable knowledge of Drupal, compared to Zend, Symfony and even the BW Rox framework itself. (See also [http://couchwiki.org/images//en/images/7/70/BW_developers_survey_2010-10.pdf the developer survey].)  


==Want to help?==
==Want to help?==

Revision as of 09:59, 27 December 2010

This is an overview of the project to migrate BeWelcome to Drupal. This is a work in progress. You're welcome to edit.

The BeWelcome project was started late 2006, and it has gained considerable respect for the way it's run. Unfortunately so far this has not materialized into an big active member base. One possible underlying problem is probably the current code base, which takes an considerable amount of time and effort to get into, experience that is not directly usable on other projects. So the idea has risen several times to move to a more active platform. According to a survey among potential and actual BeWelcome developers, taken in October, there is considerable knowledge of Drupal, compared to Zend, Symfony and even the BW Rox framework itself. (See also the developer survey.)

Want to help?

Some things you can do right now:

  • create an account here and watch this page so you get updates
  • Drupal site building
    • build features according to current BW functionality
    • find out what's working in D7
  • PHP coding
    • fix what's not yet working in D7
    • add needed functionality to Drupal modules
  • Drupal theming => turn the BW layout into a Drupal theme
  • learn Drupal 7

More will follow later, such as testing and bug reporting.

People

  • guaka, d.o - everything but graphic design
  • lemonhead - everything but graphic design. donquixote on d.o.
  • Robin - experienced site builder (hardly any PHP)
  • su2010 - experience with theming
  • Sitarane - Site builder (hardly any PHP)
  • globetrotter_tt - learning Drupal, can help with theming and graphic design
  • crumbking - help with theming and graphic design
  • sign up and <a href="/node/4/edit">edit this page</a> to add yourself


Migration

Main things to migrate:

  • userprofiles (comments / relations / location (geodata) / groupmembership)
    • feature: bw_user_profile
  • messages
  • preferences
    • some things will probably already have stuff set up
  • admin (backend)
    • most things will probably have admin functionality, and permissions.
    • we will need to figure out what needs to be adapted at a later stage
  • page-like content:
    • FAQ => faq content type (multicrud?)
    • tour => content type
    • about pages => pages?
  • blogs
    • now: D7 core Blog module, could become something custom but core might be good enough?

Other:

  • forum
    • in core
  • groups
  • galleries
    • custom content type
  • trips
    • realitygaps was interested in doing this

wiki

  • feature: bw_wiki
  • custom content type: wiki
  • <a href="/wiki/recent-changes">recent changes</a> view
  • diff
  • flexifilter mediawiki style markup, work in progress: http://drupal.org/node/957528#comment-3811718
  • node revision author?
  • revisions are broken now
  • e.g. <a href="/node/4">the migration overview page</a>

Design/Theme

  • http://www.yaml-fuer-drupal.de/de/download (German, drupal 6 only)?!? not really needed, we can take YAML directly, although the non-GPLness is not so great
  • We can turn the current BW layout into a D7 theme
  • Maybe we want make things a bit funkier here and there, e.g. through jQuery

User fields

  • user/register should show more than username/password
  • geo + address: see "geo stuff".
  • User fields settings should be exportable as features: http://drupal.org/node/989900

Geo stuff

We need a combination of geo and address features, as with support for the D7 field api.

Possible modules:

Privacy

Waiting for D7 modules:

Roles

  • authenticated
  • anonymous
  • admin
  • trusted - admin can do anything, trusted will be most stuff from the roles below (except developer)

to do:

  • developer
  • support
  • editor
  • translator
  • forum moderator
  • safetyteam

...

Translation

Drupal is based on "everything is English". We would prefer keyword-based translations. A solution would be creating another language: "real English" or something and rename "English" to "coder English" or "Drupal English".

Drupal can't show translation links, but it might be possible to create a module for that.


Deployment

  • Deployment strategies. We want to have as much as possible to be code-based, but some modules really love the database and auto-increment.

Performance

  • Page load speed
  • Scalability

Let's fix this when we get to something. With 100 visitors a day we don't really have to worry about scalability and server performance.

Technicalities

Code driven development

  • Features module for exporting stuff that lives in db into code
  • Context module: works with features
  • custom modules
    • sites/all/modules/custom
    • but we want to stick with mainstream modules as much as possible


Roadmap

Like Drupal: it's ready when it's ready - no more open critical issues. So no roadmap with dates here. (Yet. Open for change.)

  1. Implement as much as possible on a D7 installation at bw.guaka.org
    • No importing of data yet
  2. Make it distributable
    • git
    • everything should become code
  3. Start importing data
    • With some funky data modules
    • Start with data that has no privacy issues such as wiki
  4. Create alpha D7 BW

Drupal 7

We have chosen to start right away with Drupal 7 (D7).

Con

  • Many modules aren't ready yet.
  • There are still some bugs.

Pro

  • No need to upgrade to D7 ;)
  • D7 has many good things in core that we want.
    • Especially: "Fields in core". In D6, only nodes could have fields. To allow (full-featured) fields for users, one needed modules like content_profile, which brings structural problems.
  • A lot of Great Stuff we don't yet know about will not be for D6

Learning Drupal 7

Some ways: