I was recently offered the opportunity to work with Jeff Potts of Metaversant on a project to distribute the presentations for the Alfresco 2010 Developer Conference. At first we had planned on using a heavily customized version of Alfresco Share for a user interface with a lightly customized version of Alfresco Share for administration. This is something I had done on previous projects and it had worked very well. The problem with this approach is that you end up carrying a lot of code with you that you may or may not use. What we ended up doing was using Alfresco Web Quick Start, a new offering from Alfresco to try and simplify developing a web site on top of Alfresco.
Alfresco Web Quick Start is a Spring Surf project that communicates with the Alfresco repository through CMIS. There are 2 sample data sets included with Web Quick Start, a financial website and a government website. We started off with the financial website and tweaked it just a bit, as it was pretty close to the desired look and feel of our presentation sharing site that we named DeckShare.
Fundamentally we needed a website that allowed a few administrative users to share a lot of content in the form of PowerPoint presentations. There would be many users who would access the presentations and they would not be required to login to the site. In addition, content would be organized by categories (i.e. Audience, Event, etc...), would have a featured content carousel, and document details page with flash preview. Most of these we got for free with Web Quick Start.
What we did need to build was a category browser tree component and a related content component to allow users to download code samples and other content that is linked to a presentation. The category tree component was a simple webscript to return JSON data of a particular category node at the Alfresco repository level and a basic repackaging at the Alfresco Share level. The front end view is just a YUI treeview control. Another custom webscript brings back content results based on the category node that is selected for a list display page. The related content component works in a similar fashion.
The rest of the work involved with the site was tweaking Surf controllers and page templates so that the content was displayed in the way that we desired and in setting up the repository for our content. In Web Quick start we needed to configure our collections so that our content was displayed in the featured items and latest items components.
Stay tuned for more about Web Quick Start and Share customization coming soon.
If you are interested in DeckShare, you can check out the code at our Google Code page:http://code.google.com/p/alfresco-deckshare/