Flat World Knowledge 2.0 Release
Flat World Knowledge, an open source online college textbook publishing company, released version 2.0 this week. Zivtech has worked on the site steadily for over a year, progressing from a Drupal 5 site, to a Drupal 6 1.0 version, to the current version.
The 2.0 version has a new theme, an ajax book reader with paragraph-level annotating, and massive improvements to performance, usability, and automated integration into the company's printed book technologies.
During the 2.0 sprints we wrote over a thousand lines of update scripts to automate an extreme transition that approached a complete rebuild. We added 8 new custom modules and the new theme to the site. The final 4AM deployment at the finish line was a success.
The core of the site's functionality currently is the ability for college professors to customize a textbook by removing and re-ordering sections and adding notes. These changes persist from the free online version of the book into the printed version which their students may purchase.
Because the company is a start-up, the site has evolved and improved over time, which has meant that good code practices have been key to being able to efficiently do drastic refactoring. For 2.0 we made the conscious decision to treat Drupal more as an API than a CMS for this project, coding nearly all new features ourselves, complete with views integrations in many cases. We also implemented a code review strategy for our commits, following the example of the Drupal core issue queue, to ensure high code quality.
New features and fixes will keep rolling out to the site over the next weeks, preparing for the Fall semester.







8 custom modules
Any of those that you could contribute to drupal.org? Were there any contributed modules you used that you were able to enhance as part of the project?
Nice!
I've done a lot of work with online textbooks and when I noticed that Flat World was on Drupal I quickly set out to find out who was behind such a nice implementation. Kudos to Zivtech!
Yes
Our custom modules are very much integrated in the unique environment of the site, even relying on specialized markup in the content in some cases.
However, in the course of development hundreds of contributions were made to core and contributed modules, and some modules were contributed in the past which we no longer use (we migrated away from book module for example, making some of our contributed modules such as book delete irrelevant to us.
To see a partial list of patches that landed so far due to our work on Flat World, see http://www.zivtech.com/community/contributions . Flat World has been our main project for over a year and many of these patches come from our work on it. Our workflow is to always contribute our work upstream whenever possible and to follow up on our patches so that they are committed.
Post new comment