Let me start by saying that I always prefer the dogfooding option. And I tried really hard to put a case together for dogfooding the Eclipse Project Management Infrastructure, but in the end, I decided that implementing the new infrastructure in Drupal was our best option.
The decision was made based on several factors:
- The Eclipse Foundation’s IT infrastructure is PHP-based; our webmaster team are very effective at managing PHP-based solutions. We have several products running on Drupal today, including Eclipse Live and Eclipse Marketplace.
- First-class support for MySQL.
- We also have PHP and Drupal skills in-house: we have two full-time Drupal-savvy web developers and several other Eclipse Foundation staffers who are well-versed in PHP development.
- The Drupal platform provides a lot of out-of-the-box functionality, including rich text editing, revision management, and a very dynamic query framework.
- The Drupal community and eco-system are vast and diverse. There are hundreds of plug-ins available to handle things like authentication through LDAP, Twitter integration, workflows, and more
- Good development tools are available from the PHP Development Tools project.
We’re still in the early stages of development, so there’s not much to show. If you want to have a quick look, take a peek at projects.eclipse.org/.
Our initial work is concerned with representing projects. You’ll see useful things like a breadcrumb trail and a list of related projects in the left-nav (inspired by the automatically-generated project summary/info pages). If you log in, you’ll be able to edit the project information directly. Over the next couple of days, we’re working on implementing an LDAP-based authentication mechanism, and will then sort out authorization (so that only project committers can change project information).
The system is pre-populated with information taken from several sources including project metadata, descriptions provided via project websites, and other things like scope extracted from the project proposal (where possible). Expect updates on an ad hoc basis as new features are added. Note that we may occasionally have to rebuild our database, so any changes you make may be lost.
At this point, I do intend to open source our implementation, but not until we get a little further along in our implementation, and nail down a few software engineering issues. I’m not sure exactly how this will manifest. I’m pretty sure that it won’t be an Eclipse project due in part to licensing issues. That, and there are many aspects of being an Eclipse project that don’t apply here. More on that later…