Defining open source isn't always easy. Some vendors offer limited-function "community" editions, and then push enterprises toward closed source, full-featured versions.
Alfresco doesn't pull these tricks with its CMSes (content management systems): you get the same functionality across all three versions. The difference in the paid versions (Small Business and Enterprise) is commercial-level support. A secondary benefit is that your investment is protected because you receive source-code access.
Economics and licensing aside, Alfresco Enterprise Edition is a well-honed CMS with many attributes of more expensive commercial products, including EMC Documentum. Alfresco 1.2.1 improves administration, adds document-level permissions and team collaboration, and supports important standards such as JSR-170.
Installing Alfresco is a breeze, with database setup and other configuration done for you after answering a few questions -- I had my test setup running on a Windows 2003 Server in about 15 minutes.
Like most CMSes, Alfresco uses folders (spaces) to organize and manage content. Therefore, little end user training is necessary. For example, I quickly uploaded files via the browser interface; there's also desktop file access (WebDAV) where I interacted directly with the Alfresco repository from Windows Explorer.
These Smart Spaces give administrators a lot of important control, especially in the security area. Using a simple user interface, I hid and exposed individual objects. This undertaking would be especially valuable where employees and partners both have access to one shared space but you want to restrict certain files to your internal users. For large implementations, Alfresco supports Active Directory and now LDAP, so placing even thousands of users in the desired roles and groups should not be too difficult.
Smart is an apt name for these spaces because of the assortment of rules you can build. In my test, by easily selecting from drop-down lists and menus, I specified that if an Adobe Acrobat document had a specific word in its title, then the PDF was converted to a text file and placed in a specific folder. In this way, users don't have to be concerned with finding the right spot to upload their content or build it in an approved format. Similarly, I created a rule where each edit to a document created a new version, a valuable function for auditing. In addition, these changes can be tracked via an RSS feed.
In the same way, Alfresco rules let me build a fairly robust workflow. I instructed the system to place a document in a Pending Approval folder after it was edited. If approved, it was moved to another location; rejected items were placed in the Drafts area for rework.
Alfresco did a good job reading the meta information from my documents and automatically categorizing them. Version 1.2.1, in addition to quick search, adds an advanced search function. This function helped me tune searches by specifying document category, spaces, file name, and other attributes. Furthermore, searches can now be saved.
Besides the innate collaboration aspect of shared spaces, Alfresco introduces discussions. These can be attached to specific spaces or even individual objects and are fully searchable.
Two hallmarks of open source products are standards support and extensibility. Alfresco measures up with JSR-170 Level 2 compliance. JSR-170, by definition, also lets your developers create applications based on Alfresco and then use the repository with another CMS product in the future -- though I found Alfresco's overall performance high and thus enterprises should have little reason to look elsewhere.
On the flip side, Alfresco now supports JBoss Portal 2.2. In this test, I took a JBoss Portal and replaced its CMS component with the Alfresco CMS. What's more, Alfresco is JSR-168 compliant, so developers could publish Alfresco content as a portlet. Other technologies in Alfresco that coders can use to extend it include Spring and MyFaces.
If your organization is not heavily into Java, or if you're looking for an SOA platform, Alfresco includes a Web services starter kit. It contains examples of how to integrate Alfresco with PHP and .Net applications.
Alfresco is a ready-to-run CMS with high usability and a 100 percent open source model. Compared to commercial content management and portal offerings, however, Alfresco lacks advanced workflow and the capability of publishing Web sites. To compensate, adhering to Java and Web services standards permit enterprises to extend Alfresco and integrate it with other systems.