Alfresco Community Conference

Posted by on October 11, 2008

Today I am back in Boston after spending most of the week in Washington DC. I was there for the Alfresco Community Conference and also to spend some time at Rivet Logic’s new headquarters. We have a lot more room for our team in our new digs. Every time I have a chance to spend time with the group in Reston I am reminded of what an awesome team Rivet Logic has put together and why joining this team was such an easy decision.

The DC Conference was absolutely awesome. I left DC with the same excitement I had for Alfresco the first day I read about it on the web back in early 2005. This coming release is a Landmark release for Alfresco and a springboard for really big things in the future.

Last year Alfresco gave us Web Scripts. Web Scripts was raw functionality / capability for binding web-based functionality hosted in the repository to a parameterized, ReSTful URL. Web Scripts allowed Alfresco to easily integrate with other platforms, participate in mash-ups and to some extent get around the issues with the traditional alfresco web client (it’s much slower to develop for and a bit “click” intensive.) Web Scripts by it’s very nature is AJAX friendly which leads to better, more rich user experience and the javascript / freemarker construction makes building Web Scripts a whole lot easier than writing, compiling and deploying heavy Java code.

This year Alfresco gave us:

  • A better core repository
  • SURF
  • Alfresco Share
  • A peek at SURF Development Studio
  • CMIS

It’s clear that without the foundational work of Web Scripts and the capabilities in the WCM product the items above would not have come to pass in a single year without a massive team at Alfresco. Web Scripts has enabled an explosion of capability. Last years release of Web Scripts may have seemed like a powerful but merely additional capability but it laid the foundation for a huge growth explosion. The game board was set up with last year’s release and it is evident with 3.x that the game has changed.

As Alfresco’s application architecture is refactored they are able to also refactor their team a bit and more cleanly dedicate resources to specific areas of the architecture. We now have a dedicated team of strong developers with a focus on repository scalability and stability. This week we were told we can expect better performance, scalability in both the DM and WCM repositories. We also heard that harmonizing the APIs and capabilities for these repositories is a goal and is underway. Alfresco has also added a new remote interface to the repository that allows Microsoft Office to use the Alfresco repository as if it were a Share Point server. Something good just got better. I like the direction the engineering is heading by cleanly separating the repository from the applications that work on top of it. I also like what I have heard about the focus on key areas like performance and scalability. New features are always important but are a distant second to improved performance and scalability of something as core and foundational as the repository and its content services.

SURF is an application platform for aggregating and delivering Web Scripts (and other components.) SURF is an MVC for site / application composition. Alfresco has taken Webscripts, templating, and URL addressability and parameterization capabilities out of the core repository, combined them with a set of new capabilities and re-organized them in a entirely separate framework. In essence SURF is entirely independent of the Alfresco Repository. The key here is that while SURF is entirely separate, creating Alfresco client capabilities in SURF is a snap.

Alfresco Share is a new application that Alfresco has developed, which, for many people will eliminate the need to use the traditional Alfresco web client for anything other than repository administration. Share is a collaboration platform similar to something one might expect from Share Point but with much more Enterprise 2.0 and social features. Share is really impressive and it demonstrates what can be built with SURF and how quickly and easily one can build it. Share was developed in less than a year but has features and capabilities of other systems that have been under development for years. Best of all, Share will continue to get better at a similar rate and because it is so easy to write new components with Web Scripts the community can contribute and accelerate this growth.

Development Studio is a SURF based application that integrates with Alfresco WCM, the Alfresco Network and your SURF application to provide you with a visual (WYSIWYG / drag and drop / edit in line) environment for developing SURF applications. I truly believe that Alfresco WCM is an awesome platform with advanced features and capabilities not found anywhere else in Open Source and in some cases even in the world of the proprietary giants. WCM is a new platform with groundbreaking capabilities but without a something like SURF or the Development Studio to demonstrate these capabilities, it was hard for customers to recognize the value sitting right in-front of them. Early on in WCM, Rivet Logic had developed similar capability to what you see in SURF for the exact same reason. SURF and the Development Studio help to round out the Alfresco offering and will really help to highlight the unique and powerful value in Alfresco WCM.

CMIS (Content Management Interoperability Standard) is a new standard for ECM platform interoperability. Today it is in DRAFT status with OASIS but according to John Newton, CTO of Alfresco there is a strong probability of its adoption with the backing of the like of Microsoft, Documentum, Open Text, Alfresco and several other key players. CMIS supports both Web Service and REST based protocal bindings making it very easy to integrate in to an existing platforms. Alfresco’s REST implementation provides nearly full coverage of the specification. Web Scripts played an important role in the lightning-fast turn-around time for this implementation. Again we see the foundational work of Web Scripts delivered last year providing big results less than a year later. CMIS will allow developers to write repository agnostic applications that will work against any repository which supports CMIS including Alfresco. CMIS also specifies a SQL like query language. Unlike previously proposed standards that pushed XQUERY and XPATH, CMIS is adopting a well understood paradigm which I believe will only encourage its adoption.

It was a fantastic week and an exciting conference. If you have not looked at Alfresco lately it is definitely time to take another look. This is truly an exciting release for this product! I really enjoyed the opportunity to see everyone in the community, Alfresco, and at Rivet Logic HQ.

Alfresco SURF: The next wave in enterprise WCM

Posted by on September 25, 2008

Alfresco WCM (Web Content Management) has traditionally focused on the core “management” aspects of web content.  This focus has facilitated the open source development of world-class WCM management capabilities. The versioning, workflow, preview and deployment capabilities offered by Alfresco WCM are found nowhere else in the open source space. Similar features found in the proprietary space cost an order of magnitude or so more than the Enterprise licensing (for services and support) offered by Alfresco.

Today, choice of delivery platform is left completely open the consumer.  The Alfresco WCM platform makes very few assumptions about the type of website is being managed. It possible to manage static sites, .Net sites, PHP based site, Java based sites, Ruby sites and so on.  While this choice is important, many customers would like a complete solution from a single vendor that covers both management and delivery of web content.  Furthermore, because today, the product is management focused it can be difficult for customers in the evaluation phase to quickly download and identify the true value inside WCM without a lot upfront work.

Many websites today require dynamic and personalized components.  The more dynamic the site is, the more complex the solution tends to be.  Typically costs and the required technical skills needed to maintain the site track closely with the level of complexity. Businesses today continue to look for easy to deploy, simple to maintain WCM solutions that minimize the technical skills needed to produce and manage sites. Large, full-time development staffing is expensive, difficult to hire for and hard to maintain.  The more work that exists which requires a strong development skill set, the less users are enabled to care for their own needs and the greater the constraint on throughput and agility. Simplicity and agility are key success factors on the Internet today.

Alfresco, having established a strong foundation in core web content management capabilities has now begun to focus efforts on making it very easy to construct and deliver sophisticated, web 2.0 dynamic websites.  Alfresco hopes its new platform named Surf will enable knowledge workers to manage enterprise class, dynamic websites with little or no deep technical skills required.

What is Surf?  Surf is an application framework for developing and delivering dynamic websites. Surf leverages existing Alfresco technologies including Alfresco templating and Webscripts.

Surf has been designed from the ground up to leverage web-enabled tooling that exposes powerful capability such as inline editing, drag and drop positioning of content, point-and-click template selection and so forth.  These tools make it possible for users with very limited technical training to manage significantly sophisticated dynamic websites.

Under the hood is a powerful engine for aggregation of content and application behavior.  The Surf architecture shows a deep appreciation for the Web 2.0 inspired architecture and web application mash-ups.   It’s important to point out that while tools exist to reduce the need for technical skills the platform does not eliminate or discourage access to it’s internals for those who need it.

Surf and the tools designed to help manage Surf based websites represent an exciting and powerful, next generation WCM platform that covers both core management aspects and delivery capabilities.   Alfresco continues to bring enterprise class features to the open source ecosystem, improving on proven concepts with groundbreaking innovation, modern technologies and leading development approaches.

Enterprise Social Networking: The Next Big Thing

Posted by on September 05, 2008

When people think about social networking, websites like Facebook and MySpace immediately pops to mind. It’s a way for Gen Y’ers to connect with each other for pure entertainment purposes, right? Or is it?

With Web 2.0 already a staple in the consumer web world, Enterprise 2.0 is quickly gaining momentum within businesses and enterprises. Social networking is going beyond teens connecting in cyberspace. It’s about enabling businesses to collaborate and work together as a community, both internally amongst employees and externally with customers and partners. Instant messaging, wikis and blogs are being used as tools to encourage communication, knowledge sharing and collaboration.

Facebook is venturing into enterprise applications with the help of Ringside Networks, an application server company, which offers an open source “social application server”. “Ringside Social Application Server is the first open-source platform that enables Web site owners to build and deploy social applications that operate with existing Web site content and business applications while seamlessly integrating with social networks such as Facebook.”

“It has a range of cool features like the ability to gather ‘social intelligence’. In other words, the Ringside platform allows business owners to gain insight into the social graph of users, relationships, groups, interactions, and sharing that is occurring on their Web site. Suddenly, socializing becomes smart business.”

In fact, investors see so much potential in the future of social networking that a couple of Facebook investors, Accel Capital and The Founders Fund, created the Facebook Fund for start-ups, which “offers grants to new ventures that specifically develop applications using the Facebook Platform.”

How’s that for enterprise social networking??

Baby Boomers Helping With the Enterprise 2.0 Boom?

Posted by on September 05, 2008

With the baby boomers fast approaching retirement, the workforce is making room for a new slue of younger Gen Y employees. What affect will this have on the technologies enterprises currently employ? Along with the influx of a younger generation of workers, will come an increase in the adoption of new technologies. This younger generation of workers grew up using computers and the internet, with “blogs”, “social networking”, and “instant messaging” a part of their daily vocabulary. Gen Y comprises the bright minds of tomorrow. They’re not going to want to work in an environment where the technologies are behind. They’re going to expect the tools at their companies to mirror what they use in their personal lives. Gen Y is going to change the Web in more ways than one.  It would in a sense almost force enterprises to come up to speed with Enterprise 2.0 technologies to recruit and retain the best of this generation.

Out with the old, and in with the new!

WebOS, the next big thing in collaboration?

Posted by on September 05, 2008

With cloud computing and Web 2.0 being all the rage in today’s tech world, it’s no surprise that somewhere would emerge a product that utilizes both technologies. Introducing WebOS, “a software platform that interacts with the user through a web browser and does not depend on any particular local operating system”. What does that mean? It basically means that you can run a desktop through a browser, almost like remoting into your computer, except this “desktop” is hosted by the provider.

Although I was familiar with the concept of WebOS, I never really paid much attention to it until a friend brought it up and said he’d be playing around with Cloudo. I decided to see what the craze was all about. After viewing a demo of Cloudo, I must say I’m impressed by the concept and see where it could eventually lead. I don’t think WebOS would ever completely replace personal or work computers, but I do foresee WebOS being a great collaboration tool. It reminds a little of Facebook, but on steroids. In addition to photos, you can store documents, music and all other files in a file system structure like your current desktop. Since everything is online, documents and files can easily be shared between friends or colleagues.  And the best part is, Cloudo features an open platform, so developers can develop their own apps or widgets, which can also be shared.

Although some of the security concerns involving WebOS may not make it immediately practical for enterprise use, what if enterprise versions of WebOS became available? Enterprises could build their own custom WebOS tailored to their business and only allow employees, customers, and partners access. It would behave similar to portals, but on steroids.

Does Social Media Equate To Company Growth?

Posted by on September 05, 2008

A study conducted by the University of Massachusetts Dartmouth Center for Marketing Research found that the fastest growing companies in the US are rapidly adopting social media. The study “compares corporate adoption of social media between 2007 and 2008 by the Inc. 500, a list of the fastest-growing private U.S. companies compiled annually by Inc. Magazine.”

Not only are these companies seeing an increased awareness of social media strategies, but also an increase in the adoption of social media as well as perceived importance of social media for business/marketing strategies.

The interesting part of this study is that the growth in the usage of social media amongst the fastest growing companies far surpasses Fortune 500 companies. For example, while Fortune 500 companies have only seen a 3.6% increase in blogging, Inc. 500’s companies have seen a 20% increase within the same time frame.

Are fast growing companies just more open to the adoption of new technologies, or could there actually be a reversal affect, where the adoption of social media technologies have actually helped with the growth of these companies?

Alfresco Blog Integration

Posted by on August 28, 2008

A little while back I was tasked with solving a problem that went something like this:

Create content in a blog engine and have that content show up in Alfresco transformed to a predefined canonical form.

Motivation
Blog users, not necessarily within the corporate wall, can author content using familiar tools of choice (like WordPress), something would pull that content into Alfresco. If that content were to be pushed through some approval process then pushed from Alfresco to some content delivery infrastructure, say the corporate web site, then effectively any external blogger can contribute content to a website without the need for VPN setup nor corporate accounts.

Assumptions
Assume a setup where Alfresco is already being used to store enterprise content and it already has a model for content representation. Furthermore there exists a publishing mechanism to push that content to the edge for serving.

Solution
Obviously the first thing to do was to look at what Alfresco has out of the box in terms of blog integration. A quick look at the code shows something related to blog integration, and the wiki explains:
http://wiki.alfresco.com/wiki/Blog_Publishing_User_Guide

This basically allows one to take a piece of content within Alfresco, add some blog specific meta-data to it, and publish it to Typepad or WordPress. This is the reverse of what I was trying to do, so I had find another way.

Basically, the problem can be distilled to: Pull new blog entries from one or more blogs, transform the content to the designated canonical form, then store in Alfresco based on rules (more on that later).

The first thing that came to mind was to check if Mule had an RSS or ATOM transport, and indeed it does. Mule has a community transport for RSS that is able to pull down an RSS feed into ROME feed objects, the transport can be found on the Mule Forge here: http://mule.mulesource.org/display/RSS/Home

All that was needed then is pull down the feed, split it into messages, one message per post. Run it through an XSLT, easily done in Mule, and drop the transformed blog entries into Alfresco over CIFS.

However, that left me with 2 problems: (i) the blog poller needs to be idempotent (don’t pull down the same blog entry twice); (ii) handle custom namespaces/custom fields in the feed.

The first problem was addressed by writing an idempotent receiver inbound router. The router quite simply remembers the date and time of last blog post it received and uses that to pull down newer posts only.

The second problem was a bit tricker to solve. Extending ROME with custom modules is certainly possible, and though it would solve the problem of pulling in custom fields, it’s a bit cumbersome and I would have to update these modules every time the RSS feed source fields change.

What I was really after is segmentation of the RSS feed into individual blog posts, and the transformation of those individual snippets of XML into a predefined canonical form.

So all I really needed was to write a simple XML feed splitter. So another simple outbound router that splits the RSS XML feed into individual posts and a couple of transformers that transform messages from XMLByteArray to JDOM Document and back is all it took to make it happen.

Mule pulled everything together quite nicely with an HTTP connector polling periodically for posts, an XML Splitter segmenting the RSS feed with an idempotent router insuring only new posts make it through. Next was an XML transformation responsible for transforming the blog posts to the canonical representation, and finally a file transport to drop the blog post into Alfresco.

Alfresco Community Conference

Posted by on August 28, 2008

Word is that over 90 companies will be attending next week’s Alfresco Community Conference in San Jose. Along with many others, we’ll be there demonstrating a few real-world examples of Alfresco implementations.

Should be a great show.

JBoss World 08

Posted by on August 28, 2008

As a sponsor of JBoss World this year, we’ve had a chance to talk with many JBoss users — both new and old. The conference is focused on a few major themes:

- Next Generation Web Applications with JBoss Seam, Richfaces, AJAX, Facelets, Portal, and more.
- Integration and SOA with JBoss’s new SOA platform that includes JBoss jBPM, ESB, and Rules
- Core technologies such as EJB3, Hibernate, and Cache
- Security and Management of large-scale, enterprise deployments

This is the largest JBoss World event yet, with almost 800 attendees. In our booth we’ve been showing off new web applications built with JBoss Seam/Facelets backed by the Alfresco content management platform and jBPM. Definitely a lot of excitement about using these technologies for next generation Enterprise 2.0 applications.

JBoss Innovation Award Winner!

Posted by on August 28, 2008

We are honored to be selected as a JBoss Innovation Award Winner for our work with Kaplan Test Prep and Admissions using a healthy combination of JBoss and Alfresco to reinvigorate kaptest.com.

Working with the outstanding team at Kaplan, we used the JBoss Application Framework (including JBoss Seam) and the Alfresco Web Content Management platform to dramatically improve web operations, increase website performance, and decrease cost.

 Read more about it here.