Why Alfresco and not Closed Source Software?

When thinking about electronic document management system, firstly, expensive solutions from famous vendors, such as Microsoft, EMC, 1C etc. come to our mind. But there is an alternative to closed source – Open Source Enterprise Content Management System Alfresco.

A number of world famous companies, such as Toyota, KLM, SNCF, La Poste, FOX, SAP AG and others have begun to practice systems based on open source Alfresco. In the list of those who use Alfresco there are also administration of Catalonia (Spain), administration of Nebraska and Louisiana states (USA).

Alfresco peers are closed source software, such as EMC Documentum, Open Text, Sharepoint. The Alfresco developers themselves say about their rivals like about 90’s heritage that is:

  • too expensive
  • too difficult to use, to unwind, to scale
  • too difficult to be modified to your needs
  • too proprietary

What is actually Alfresco?

Initially Alfresco was planned as a Microsoft Sharepoint alternative with an open source. But during the development process Alfresco has taken the sideline and now perform some unique functions that are exclusive for other similar systems. It’s enough to say that Alfresco sustainably works with Sharepoint protocol through HTTPS.

The main advantage of Alfresco I see in its open system: there is no lock-in for some vendor, the system itself is free. Another Alfresco advantage, as far as I see it, is that it is built with the help of modern Java technologies, such as Spring Surf, JSF, Hibernate, Lucene.

Users work with the system through browser. It is also possible to work with the files through Windows explorer, as with a usual network folder (CIFS protocol) or through FTP.

Alfresco provides you with the possibility of creating, storing, modifying documents and many others. You can create a document right in the system, an empty one as well as based on your company patterns. The system allows content based retrieval, supports document version control. Change history is stored, you can always look it through and see, who has made the changes, when, and which changes exactly.

Is Alfresco suitable for your tasks? Expandability.
Alfresco is fully ready to use. You can download free Community Editiion, install and start using it right today. It’s all very easy. There is also commercial Enterprise Edition. The main difference is technical support availability.

The delivery includes built-in OpenOffice to convert between various types of documents, extract of text data for indexing and the possibility of full-text search. Also, there is Tomcat in the package that can be replaced if needed with any suitable web-container.

Although Alfresco has its own users database, it is possible to practice users auto-creation while the first logging on or reconciliation with an external source: LDAP, Microsoft Active Directory, company domain etc.

Already accepted in the industry ECM standards are supported. So, the system of data storage slips smoothly from its own realization of JSR-170 to data access through CMIS, consequently removing the last limitations for using the deliverable storage from Alfresco.

The system works with all the document formats: Microsoft Office, Open Office, pdf etc. If there is no needed format in the list, you can add your conversion module to one of the supported ones, and conversion strings to all the needed formats in output will be built.

The advantage of Alfresco as an open system is a full access to source codes, the possibility to change any part of the system, as the license allows this.

The system allows enhancing its functionality with the help of add-in modules. Modules can contain anything you want: business logic, pages styles, new pages, extension of data models, new services. Extension modules can work with Alfresco using a range of protocols. Best of all the protocol REST is supported. User interface can be realized through Spring Surf, and there are no limitations for everything else. Most often Java is used, server Javascript, Groovy, Jruby – less frequently.

It is also possible to refuse from standard web-interface and realize your own. In this case Alfresco will be used only as storage.

Various types of authentication are supported to be integrated with other software; and it is also possible to catenate them. For example, a user can get into the system with the help of single sign-on. If the user comes unauthorized, Alfresco will try to authorize him (will ask for login and password, or the certificate – it depends on how the system is set).

There is a very flexible data model in Alfresco, many possibilities for its extension, but this is a topic for another article :). Shortly, it is worth mentioning that the model supports multiple inheritance (with the help of aspects). The inheritance is dynamic which means that some aspect can be added to any object, and the object obtains all the characteristics of this aspect.

Access to the data and functionality can be flexibly set. Authoring system operates with such notions as: data object, authorization, user, group, role. Roles are appointed to users and groups while the application works. Besides, you can appoint the roles factorably, for the whole data subtree.
There are a number of ready Alfresco extensions as well.

The number of users. Scalability.
Due to the openness and free-of-charge Alfresco basis you are not restrained by the quantity of client access licenses. It’s more likely that you are restrained by your servers and databases productivity, possibility of system scalability.

Basing on our experience, a server Intel Core 2 – 2,4 GHz with 8 GB will be enough for maintenance of up to 1000 registered active users. When the quantity of users grows, it is necessary to analyze which parts of the system are mostly loaded. The system works securely in cluster, ensuring data completeness and relevance.

Alfresco is a good base for building up the company’s document system. I think in the nearest time Alfresco can substitute many obsolescent systems. As in all the other systems there are still some unsolved problems, and its hardly possible that Alfresco will capture the whole world, but, in my opinion, it is fairly possible for it to occupy essential part of the corporate document storage market.
It would be great to see your Alfresco implementation experience in the comments!

Thank you 🙂