Describe the Project (Goals, Requirements, and Outcome):
In upgrading to Drupal 7, Fanlala needed to shed a lot of the custom code and cruft used in the previous Drupal 6 version. Much of this could now be done with either contrib modules, or directly with the core installation.
It was important for us to support as many of the native core and contrib features as possible, to leverage the work of the Drupal community. Features such as custom entities, database abstraction, Rules, Context and Views were relied upon to rapidly build out the product. As a result, we were able to reduce our reliance on custom code dramatically in the upgrade (about a 25% decrease).
Because of the wide amount of functionality to be created, we used a modified agile approach. Developers met daily and discussed the individual components each were working on, and we met weekly with product stakeholders, designers, and managers to keep everyone informed. Our original timeline for the project was approximately 6 months, but it ended up being extended to 8 months, to accommodate for additional functionality that was desired.
Why Drupal Was Chosen:
Previously, Fanlala was developed on the PHP-based social network platform SocialEngine. Fanlala outgrew the capabilities of this platform when additional community features and types of content were desired.
Fanlala extends across a wide variety of content, including original videos, news articles, quizzes, polls, photo galleries and games. Our members want to easily share and interact with the content they love. We require a content management system that allows us to handle a large volume of content, while still being easy to maintain and administer.
After considering alternatives, such as WordPress, or a smaller framework, Drupal was chosen for its focus on content management, a vibrant community, a vast array of contributed modules and powerful extensibility. Fanlala is primarily a content-driven product, making it a perfect fit for Drupal.
While Fanlala was running on Drupal 6 for about four years after the initial migration from SocialEngine, the site was recently upgraded to Drupal 7 to take advantage of all the important API and UX improvements.
Key Modules, Theme, and Distribution Used:
EVA: Entity Views Attachment
File entity (fieldable files)
Why these Modules, Theme, and Distribution were Chosen:
During development, we tried to leverage as many contributed modules as possible, before developing our own solutions. Also, we attempted to use modules in multiple places, such as Flag and Media, wherever possible.