Web Framework 3.0 - Alfresco Surf!
Friday, August 1st, 2008With the Labs release of Alfresco 3.0, we’ve reached a significant summit in our re-engineering effort around the Alfresco presentation tier.
The Alfresco 3.0 Labs release features an interesting, different approach to the Alfresco UI which is focused entirely around ease of use. It meshes together many social computing approaches into a unified productivity application. It’s receiving a great amount of press with focus being on its Web 2.0 approach, its ability to provide a strong alternative to SharePoint and its versatility as a SharePoint complement (via the open source SharePoint connector).
Many in the community, however, will recognize that the engine powering Alfresco 3.0 is non-other than the new Alfresco Web Framework. I find this very exciting because the new web framework originated directly from the community. As such, it incorporated a lot of insight and a lot thought as to how a solid site construction model and page dispatcher should work.
As was relayed in San Jose earlier this year, the Alfresco engineering team looked at what the community built and took several weeks to really challenge and understand the approach. The concepts were strong and our goal was to fit it naturally to the already-extensive scripting and templating facilities provided by Alfresco’s Web Scripts, Freemarker and server-side JavaScript APIs.
We worked on this for several months. The result is the Alfresco Surf Platform. This platform gives application builders a full site construction object model and a way to snap together pieces to build web sites in a way that is very familiar to most. Concepts like pages, templates, components, themes, chromes and more are now introduced. Everything is modeled as XML and left extensible.
The most interesting aspect to this, I feel, is that the underlying mechanics are a natural extension of Alfresco’s architecture. The goal - to leave things very extensible but provide enough context so that things can be glued together very quickly. There is a strong emphasis on scripting. You can build entire web sites, components and applications within Alfresco Surf and you will very likely not even have to restart your server.
This is very fundamental to us as we press forward with the remainder of what we promised in San Jose - a fully functional drag-and-drop application builder. A web studio. A self-assembly tool. The full realization of what we as a community produced with Alfresco Dynamic Website. We’re still considering names for this graphical construction tool but some suggestions have included Alfresco Web Studio and Alfresco Surface. I rather like the latter. Surfacing your Alfresco Content and Services. I’m not a marketing person but I feel that has a nice feel. What do you think?
Alfresco Surf is in Labs right now and we’re looking at having it hit the enterprise release in October along with the rest of Alfresco 3.0.
