
We were contracted by Produxs Inc. to develop Thoughtbox, a multi content data store for all things related to Charlotte, NC funded by the Foundation For The Carolinas’ Center for Civic Leadership. Produxs provided design, UX, and project management while we were the key to the sites implementation.
Thoughtbox was developed using Drupal 6 and Apache Solr.
Faceted Search

Thoughtbox needed a very usable and powerful search system to allow the end users to find all relevant information they maybe seeking. We chose to integrate Apache Solr with Drupal. At the time of the development the Apache Solr module was in a very beta state. We took the module's base code and patched it to provide the functionality defined by the client's design vision.
Solr provides faceted search which allows the site to "drill-down" into categories and other data points to find items that are relevant. Put another way, faceted search allows a user to access a collection of information using faceted terms and taxonomy, and allows the user to explore by filtering available information. A faceted search system allows the assignment of multiple terms to content and enables the system to order the content in multiple ways, rather than in a single, pre-determined order.
Pop Up Sign In

Thoughtbox's design called for a pop up sign in form. Drupal does not have this functionality built in and the available contributed modules provided quite a bit more functionality than what the design called for. We opted to instead develop the functionality ourselves, utilizing Drupal templating preprocess functions to add the required form to all of the site's pages. Using jQuery and CSS we were able to make the popup act as required by the design.
Dynamic Content
Content on Thoughtbox is user submitted and quite variable. Because of this requirement, we developed a custom content type that supports many different file formats. Depending on the file format chosen, the site does a number of things. Video content is processed by a custom-built video transcoding suite that can take in a number of formats. Word documents and other "textual" content is processed to text and then sent to an admin to validate the content prior to publishing. Original documents are provided by download links. All of the data that results from processing the uploaded content then drives the Apache Solr search system.

Video Transcoding
Thoughtbox has a custom video transcoding process. The process is based around open source tools and asynchronous processing. We leveraged the open source FFmpeg library for actual processing of the incoming video files. As files are uploaded the site, code is executed that identifies the MIME type of the file and determines if it is video content. If so, the file is sent off to FFmpeg to determine what video format and how to proceed. All of this is done by the server in the background so that the user experience is very fast.



