Alfresco is the leading Enterprise Content Management (ECM) product based on open source. The company behind the product, also named Alfresco, is based in London, initiated the development in 2005, and since then in addition to creating a great product, created a great user community.
For the end user
The web-based client for Alfresco called Share allows users to easily and intuitively begin to add and manage documents. All documents are version controled, you can add comments to documents, send them for review and approval, and change permissions on files. A site for collaboration (Collaboration) is also available, where you can create a Wiki, Blog, Forum, Calendar, and datalists. Via a message board users get a simple overview of what happened in their website, which documents they work with or information retrieved from external services.
With the support of the windows file server protocol (CIFS), users can directly in Windows Explorer to work with drag & drop to add new files. To edit, just double-click the file, or open it via the application's regular open dialogue.
For users of Microsoft Office 2003 or later, so there is support for the client that usually only shows up when SharePoint is used. Alfresco emulates the sharepoint protocol so that the built-in client becomes available when the user connects to Alfresco. It provides the opportunity for checking out and in documents directly from Office.
E-mail can be saved directly from most email clients. This is done by the user gets an additional alfresco inbox using IMAP protocol. Incoming emails can then be moved directly to Alfresco with drag and drop. Documents located in Alfresco, and not email messages may also appear in the email client, they are embedded into a virtual e-mail message that displays information (metadata) about the document, and links for execution functions.
For the Administrator
Alfresco is a Java-based server application that can be run on most platforms that support Java (J2EE). It does not require any installation of client components. But that does not mean that it is only through the browser that the information can be managed. Alfresco is committed to supporting the established protocols and open standards. In case CIFS so found this on most operating systems today, so just to map a directory in Alfresco. Although protocols IMAP, FTP, NFS, and WebDAV are supported. As a system administrator, you will not have words roll out of client components.
Managing users and groups can be made through the central user directory. Synchronization is done via LDAP, scheduling or synchronization starts automatically if a new user logs on. Authentication can then be via NTLM, Kerberos, LDAP, and some extreme Protocol against the central server. No passwords need to be stored locally. Support is also available for Single Sign On (SSO).
Simple administrative tasks are distributed to site administrators, who themselves can manage the created cooperative website. This includes inviting new members and selecting the layout and content of the message board of the website. They may also have full access to all documents in collaboration web site.
For the developer
Expanding functionality in Alfresco does not necessarily mean you have to be a programmer. Using the built-in rule engine, you can create new functions by capturing events in Alfresco. It may for example be that a new document is added or a metadata field is updated. Then you can choose from several built-in functions such as creating a pdf, send an email message or add the document to a simple workflow. Everything is done directly in Alfresco interface.
If you need some more advanced features, these can be written using Javascript. Then they can be called by a rule engine in Alfresco. For integration with other systems, or to a portal, you can do so using the REST-based Webscripts API. When using the http protocol to call your functions, you can get the answer in a variety of formats such as formatted html, xml or json. Formatting is done using Freemarker, which is also used for templating in several other parts of Alfresco, such as the creation of email templates.
Basically Alfresco a Java application that uses the Spring Framework. So with the help of development in Java, you can make new advanced features, or completely replace existing functionality using Spring Java Beans. That you then have access to the source code easier course. Alfresco has also developed Spring Surf framework that Web client is built upon. This you can use to extend Alfresco, but also completely custom web applications. The integration also supports the Alfresco CMIS, the Content Management Interoperability Services, an OASIS standard for document and information management which is supported by most major ECM vendors.