GSoC/GCI Archive
Google Summer of Code 2009

Drupal

Web Page: http://groups.drupal.org/soc-2009

Mailing List: http://lists.drupal.org/listinfo/development

Drupal is a web content management system and web application framework written in PHP. It is also a vibrant, growing, and fun community of programmers, activists and communicators. The core Drupal software is a framework to power community driven web site software, and includes features such as internationalization, tagging, and an extensive roles and permissions system. The highly extensible architecture supports well over a thousand sub-projects in the form of contributed modules and themes, so there's something here for everyone.

Projects

  • 2009 Summer of Code Application -- Jim Berry -- Coder Upgrade My project will produce a Drupal 7 version of the Deadwood module incorporating new features such as 1) a grammar parser to enable more complicated conversions and 2) a Conversion API to enable contributed modules to write conversion routines for non-core APIs. The purpose of the module is to automate as much as possible the task of updating a contributed module for Drupal API changes, and thereby simplify the task of porting contributed modules shortly after a new Drupal release.
  • Adding RDF Support to the ApacheSolr module This project will improve the ApacheSolr module by enabling it to handle (i.e., index and search with a comfortable UI) any kind of RDF data. This will instantly make it possible to provide meaningful searches for all site content that isn't node-centric, as well as content from anywhere else on the web. Only an RDF class description and a way to access the data would have to be provided (apart from the normal Solr requirements) and the module would automatically do the rest of the work.
  • Automatic and Manual Conflict Resolver This project focuses on handling node conflicts. Currently when a user tries to save a node that has been edited (and saved) before they have submitted, an error appears and the edit is blocked. This module aims to resolve these issues automatically if possible. If not, it will provide tools and an interface to interactively merge the two different versions of the node.
  • Boost Drupal Media Module Development There are dozens of modules that handle multimedia in the Drupal ecosystem. This complexity has hindered module maintainers from coordinating more closely, creating duplicate work and maintenance overhead. The media module framework is an effort to unify the many existing projects. To help speed development, I will focus on the following two items from the Media module roadmap to bring the project closer to a beta release: Views integration and Token integration.
  • Bot module extensions and documentation Bot module is a Drupal PHP IRC bot written by Morbus Iff. It runs on many Drupal related channels, providing various tools from code documentation to collaboration between users. It utilizes the CMS as its storage and code handling back-end, but until now not many public modules exploit the potential in this website - IRC interaction, interacting with Drupal content, site users for instance. This project will extend its core in this direction, and by writing tests and documentation for it will make further contribution easier.
  • Completion of Version Control Integration and Deployment to Drupal.org I will be making several changes to Drupal's Version Control System (VCS) integration to make it a viable replacement for the current CVS-only system used. The ultimate goal would be to develop alternate backends such as Subversion and Git to the point that they could be used in lieu of CVS for managing the Drupal core and the contributed modules. Additionally, I will implement web-based support for creating branches of projects, similar to <a href="https://code.launchpad.net/bzr">Launchpad</a>.
  • Drupal Social Network Framework Overview: Create a social framework in Drupal that ties existing contrib modules together so that Drupal social sites can be more easily rolled out Motivation: The Drupal community has built a number of contrib modules to add interactivity into multi-user Drupal sites. Aggregated, they represent most of the features needed and wanted for building a social site. Unfortunately, finding, evaluating, and integrating these modules together is very time-intensive due to the varying quality of contrib modules. Creating a social framework in Drupal will pull together these modules into a cohesive package. Goals: * Non-technical (ie. no coding knowledge) administrators should be able to roll out a social site using this framework * Where appropriate, allow admins to choose which module to implement a particular feature (ie. the various profile modules) like wysiwyg with text editors * Create custom code to bridge contrib modules together and close feature gaps unfilled by existing contrib modules * Document how the contrib modules fit together to form the framework and how custom code bridges these modules together * Create an install profile to configure the framework initially * Create an administrative section to coordinate the configuration of the different framework modules (time permitting) * Include UI and usability improvements like Popups API or Ajax submit to improve the user experience (time-permitting)
  • Drupal-Gapps : Google Apps User Account management Framework The project objective is to build a framework for flexible Google Apps User management from drupal # The Drupal-Gapps framework for user management 1. Complete Google Apps user management (CRUD) from Drupal . The part of framework will implement provisioning API , to synchronize Google Apps user data with current Drupal user management system and hence provide an easy and flexible management of Google Apps account from drupal.
  • Enhancing Drupal Quiz Module I would like to introduce some new features and tweaks to an already existing Drupal Quiz Module (http://drupal.org/project/quiz). These features would make it more robust, feature rich and user friendly. This project aims at improving the usability of Drupal in e-Learning domain.
  • Google Analytics API Integration This module will integrate with the upcoming Google Analytics API. It will connect on the server-side to the Google Analytics server either periodically or on request, and format data in an interesting an accessible way to the Drupal website administrator.
  • Making Drupal Smart: The Recommender Bundle The Recommender Bundle provides a set of modules that generate recommendations and personalized views in a wide range of areas. For example, "Customers who bought this also bought" for Ubercart, Facebook-like new friends suggestions for social network sites, Youtube-like related videos for media sites, or the classical example of generating personalized node recommendations based on users access history, and much more.
  • Overhauling the Vote Up/Down module Vote Up/Down is a popular and widely used module for most of Drupal's voting requirements. The initial design and goal of Vote Up/Down has changed from being a "Digg.com clone tool" to being faster, modular and more generic voting module. This proposal aims to make it the rockstar of all voting modules by accomplishing some very important pending tasks and feature requests, like widget API, Views integration etc.
  • Peer review platform on Drupal forum Bulletin boards are a valid product that came up in 1977, and remain approximately the same until today. This type of forums are generalistic as they could satisfy every need, but the web progresses and expand itself, and it become a little worst with spammers, troll, flame war and other horrible things. My project consists in developing a forum system based on the classic Drupal core forum which uses peer review to highlight better content, penalize worst content and make better moderation with users itself. More on this project: http://groups.drupal.org/node/20098
  • Porting Biblio to CCK Implement the necessary CCK fields and views to be able to initiate the porting of the Biblio module. Biblio is a Drupal module that allows users to manage and display lists of scholarly publications. It is currently used on approximately a 1000 installations (and raising). It's use in projects like The Science Collaboration Framework, however is bound to increase it's use even more.
  • RRD Tool style statistics for Drupal/SQL (community analytics) Create a community dashboard for any Drupal website. The dashboard will display the key performance indicators of your community: number of new members, number of active users, number of new posts, of new comments, etc. The design will be modular and allow plugins for data sources so that any module can publish statistical data.
  • Rules Module extension und perfection (a.k.a. Rules monkey) The Rules module is designed to support actions that are executed depending on events and conditions (ECA rules) in Drupal. This proposal is about extending and enhancing Rules module with new features and ideas.
  • Usability Testing Suite The Usability Testing Suite1 that I created during SoC 20082 needs additional work in order to make it ready for use3. The existing module provides a powerful API that makes writing data collection plug-ins simple, but the user interface needs refinement and a screen recording plug-in would make the module much more helpful. Through this project I intend to finalize the Usability Testing Suite and make it ready for widespread use.
  • Version Control API and family changes Overview This project objective is provide all tools to make it easy a possible drupal.org migration to another Version Control System(aka VCS). By the way, after this, drupal VCS's interaction will be improved, so it provides more flexibility to use it as project managment system for development. This propose started like a jpetso propose[1]. [1] http://groups.drupal.org/node/19469