Month: January 2010

Alfresco Subsystems – A Breath of Fresh Air

Posted by on January 19, 2010

One of my favorite new features of Alfresco 3.2 is the concept of subsystems. Alfresco defines a subsystem as:

A configurable module responsible for a sub-part of Alfresco functionality. Typically, a subsystem wraps an optional functional area such as IMAP binding, or one with several alternative implementations, such as authentication.

In essence it’s like having mini child servers, each with its own Spring application context which makes configurability a lot more intuitive.

My first encounter with Alfresco’s subsystems was due to an AWPr jira issue that someone raised saying that STAr doesn’t work with Alfresco 3.2 because they “changed” the way authentication components are chained. To be honest my first reaction was “Oh no! More re-factoring!”. But then when I looked into how the Authentication Subsystem works it was clear that this new direction is better and allows for easier extensibility.

Remember how painful it was to chaining multiple LDAPs? Now it’s as simple as adding the following to your global properties file:

authentication.chain=ldap1:ldap,ldap2:ldap

then you create the following file/folder structure:

$TOMCAT_HOME/shared/classes/alfresco/extension/subsystems/
Authentication/ldap/ldap1/ldap-authentication.properties

and

$TOMCAT_HOME/shared/classes/alfresco/extension/subsystems/
Authentication/ldap/ldap2/ldap-authentication.properties

So what about custom authentication components like STAr? Piece of cake. All that needs to be done is create the following file/folder structure:

$TOMCAT_HOME/shared/classes/alfresco/extension/subsystems/
Authentication/star/star-authentication-context.xml

star-authentication-context.xml would basically contain the definition of the authentication component and authentication service with very minor differences from what it looked like in Alfresco 3.1. I documented the exact syntax on STAr’s wiki page.

The final step would be to modify alfresco-global.properties to add STAr to the authentication chain like so:

authentication.chain=alfrescoNtlm1:alfrescoNtlm,star1:star

It seems though that Alfresco 3.2r2 has a bug where it doesn’t pick up authentication subsystem entries from the extension folder on the shared classpath. So I had to release a new version of STAr (1.2.0) where the -context.xml file is in the STAr AMP and ultimately ends up inside alfresco.war. When Alfresco fixes this bug then STAr 1.1.0 will be sufficient.

To learn more about Alfresco’s subsystems and how to configure authentication components visit the following links:

http://wiki.alfresco.com/wiki/Alfresco_Subsystems
http://wiki.alfresco.com/wiki/Alfresco_Authentication_Subsystems

Alfresco Lunch & Learn Series Coming to a City Near You

Posted by on January 18, 2010

Alfresco is running a 20-city Lunch & Learn series to review the new Enterprise 3.2 release, along with implementation best practices and solution demos.

Rivet Logic will be hosting the Washington DC, Orlando, and Boston Lunch & Learns over the next couple of weeks.

Click here to learn more and to register. We hope to see you there!

Open Source Licensing and Community

Posted by on January 16, 2010

Open source licensing, community and contribution are important topics. This week there were a number of interesting blog posts and tweets on the subject which might be summarized by a tweet from Matt Asay (#mjasay)

@maslett moral of story? platforms flourish on permissive licensing. GPL is a capitalist’s best friend. Apache/EPL are a community’s

Related blogs (along with several others):

I agree, license and copyright are factors in creating and fostering communities but I don’t think it’s the most important set of factors. License and community, while related are very much separate issues. Open source tends to fetish license and thus it’s over-emphasized in conversations where it at best a contributing factor.

Apple, Google, Drupal, Linux, Microsoft and many, many other examples demonstrate just how little restrictive license and copyright of the core software matters to the size and contribution of the community. Permissive licenses can increase adoption as well as forks and closed derivative works, all of which cannot so simply be considered community.

Relevancy, utility, inclusion, opportunity, transparency, recognition and common vision / interests are what drive the size and output of community. It’s leadership in a project that sets the tone for the priority of these aspects. A small or under-performing community (proportionate to its potential) is more likely related to its leadership than its license.

Related:

An incomplete identification and factoring of some areas around open source that support the ideas in this post:

Alfresco in the Cloud

Posted by on January 11, 2010

Alfresco has been working on various ways to bring its enterprise content management platform into the cloud. It started with its Cloud Content Application Developer Program back in September of last year, which “provides an open source Amazon EC2-ready stack and developer kit for customers and partners to develop, deploy and monetize cloud service architecture (CSA) content applications on the EC2 platform”.

More recently, Alfresco teamed with Right Scale to offer a solution that speeds deployment time and automates scaling of Alfresco in the cloud.

As cloud computing continues to buzz in the industry and as more and more enterprises are venturing into the cloud environment, it’s no surprise that Alfresco is expanding its capabilities into that arena.

To test out Alfresco in the cloud for yourself, click here for an Alfresco Cloud trial with a full implementation of Alfresco Share running on the Amazon Cloud.