Alfresco kicked off their fiscal year with a meeting last week in Orlando. About 100 Alfresco employees and 50 partners attended two days of Alfresco-led talks on business and technical topics. As an aside, the conference food at the JW Marriott was maybe the best I’ve ever had at any tech event. Lobster Corn Dog. Enough said.
More importantly, the trip helped clarify in my mind Alfresco’s message around “social content management”. I now see it as taking two different forms: social content management and social content management. The first is basically just marketing what they’ve already got: content services, collaboration, task tracking, wikis, and blogs, exposed through a modern user interface that’s closer to the experience most users have come to expect from using consumer-facing sites and services. The idea is that when you add things like comments, tags, and ratings you go from boring, old-school Enterprise Content Management to fun and exciting social content management. Obviously, there’s other stuff going on here about how when people collaborate, they don’t do it in a vacuum, they do it around content.
The second form–social content management–is when you need to manage content that is published to one or more social channels. For example, Marketing might have a press release, a video, and a tweet that all need to go live at the same time. Order matters, and if one step fails, none of the steps should be performed. Alfresco is building a social publishing framework to handle this kind of use case. So, in this example, “social” doesn’t describe the features of the system–it describes the type of content being managed.
Alfresco didn’t explicitly differentiate between these two forms of social content management but they have current and future functionality that addresses both.
One of my other purposes of the trip was to find out what’s coming in Project Swift, which is the code name for an up-coming release of Alfresco. It sounds like Marketing has the final say on what specific release Swift will be, but after hearing what’s slated for the release, most of us in the room agreed it should be labeled as a major release (4.0). We’ll see.
So what’s going to be in Swift? Lot’s of cool stuff, but here are the top five technical takeaways from the Project Swift Roadmap that jumped out at me:
#5: CIFS, SharePoint, and FTP will be clusterable. CIFS and SharePoint performance are both issues at one of my clients so this one caught my eye.
#4: New Share extension points are coming in Swift including a framework for custom actions, dialogs, and evaluators. The goal is to reduce the amount of copy-and-paste that goes on during typical customizations of Share and to make upgrades a bit easier.
#3: Alfresco is developing a “social content publishing framework” with publishing endpoints for YouTube, Facebook, Twitter, Drupal, and more to address the social content management use case I described earlier in this post. I like this one a lot because I think a lot of people have this problem and because it leverages Alfresco in exactly the “right” way.
#2: Swift will sport a new Apache-licensed workflow engine called Activiti, which is a separate Alfresco-sponsored open source project founded by the creators of JBoss jBPM, which is currently the workflow engine embedded in Alfresco. With Swift, both engines will exist side-by-side. It sounds like you may be able to have jBPM continue to handle running workflow instances and use Activiti to handle new instances if you want to. Activiti will show up in Community soon for people to start playing with.
#1: Apache Solr will be implemented as an optional, separate shared search server and index. As part of this, Lucene will no longer be updated in the same transaction. Instead, the index will be eventually consistent. This should result in a huge performance gain and easier clustering. You’ll also get better control over what gets indexed. In Swift you’ll be able to configure full-text indexing by things like content type and path. The Solr server will accept CMIS Query Language and Alfresco FTS queries but not the current raw Lucene syntax so it might make sense to start moving your queries over to one of these two options if you anticipate leveraging Solr when it is available. Note that it is possible Alfresco may choose to make the Solr server an Enterprise-only feature. It didn’t sound like a final decision had been reached on that.
A Community release of Swift should happen some time in August, but we should start seeing a lot of activity in subversion starting in April. The Enterprise release is slated for mid-November. I predict some late nights ahead for QA and Engineering between Thanksgiving and Christmas. I know there’s not a huge difference between November and January but I’d love to see Swift go GA before year-end.
One comment about Share customizations: I get asked a lot about when I will be updating the Alfresco Developer Guide to include a chapter on Share. I have most of the SomeCo examples ported to Share in an as-yet-unshared code base but, as you can see from some of the changes coming in Swift, Share is still changing a lot with respect to customizations, so I’ve been hesitant to update the book. If you’re looking for Share examples you should take a look at Will Abson’s Share Extras project on Google Code. He’s got about 18 different examples of varying complexity and type. I believe each one is individually deployable.
Not bad for the price of a couple of days in Orlando.
Hi Jeff, thanks for sharing, insightful as always. You might be interested in the fact that there is a patch to enable Sharepoint clustering in current versions of Alfresco: https://issues.alfresco.com/jira/browse/ALF-6535
Basically, this helps to make sessions sticky. You can achieve the same using an Apache httpd as reverse proxy and mod_rewrite, without patching.