Cross-platform collaboration with Alfresco

Teamwork

Author(s):

The Alfresco collaboration tool lets you track documents, share content, and collaborate with team members – and it integrates nicely with Microsoft SharePoint.

Alfresco is an open source tool you can use to share web content, orchestrate workflows, manage documents, and collaborate in real time [1]. All of these features make Alfresco a suitable alternative for Microsoft's popular SharePoint collaboration system. This article provides a brief tour of Alfresco and shows how you can get started with content sharing and collaboration.

Installation

Alfresco comes in two flavors: the community version, which is free to download [2], and a commercial cloud application that lets you pay as you go. This article focuses on the free version. For more information on the commercial, enterprise version, see the Alfresco website [3].

You can download the Alfresco community edition as a complete package, along with the web server and the database. To avoid incompatibilities with port assignments, make sure you don't already have a web server running on the system, or else take the necessary steps to ensure the ports don't clash.

A custom installation option is available for more complex scenarios, such as network installation on a remote system. You can download the source code from the Alfresco website and upload the files to your web server. Then, just access the Alfresco folder via your web browser. The installation script will then take over and, after you fill in the required details, such as the database and password, the installation is complete!

Getting Started

Alfresco organizes content into sites. A site is actually a form of website with support for Alfresco's many collaboration and content sharing features. You can manage multiple sites from one Alfresco account. For example, you might have a separate site for different internal projects within your company.

When you log in to Alfresco, you will find a link labeled sites, on the upper left side of the web page. All the sites you have created can be accessed via this link, and you can also use the Sites menu to create add a new site to your Alfresco configuration.

To create a new site, just click the Create Site link in the Sites menu (Figure 1) and enter the name, URL, and description for the site in the new window. That's how easy it is – your site is ready.

Figure 1: Select the Sites menu to create a new site.

As you navigate to your new Alfresco site, you will find the site dashboard (Figure 2). On the top, just below the menu bar, is a suggestion bar, which tells you about various available features. Below are several blocks on the site, which display specific information. These blocks are called dashlets. Dashlets provide a summary of the site members, content, features. As the creator of the site on Alfresco, you can customize these dashlets, and users will see the dashboard as arranged by you.

Figure 2: Manage the new site from the site dashboard.

Dashlets are very useful for displaying information about users and resources. For example, the Site Notice dashlet lets you convey important information to the intended audience with minimal effort. To browse the available dashlets, click the Customize Dashboard button on the top right corner of the site dashboard (Figure 2). You can change the page layout, as well as add or remove dashlets.

Your site will also need users. Registered Alfresco users have to be invited before they can use a specific site. Each user has a role in the site, which is assigned when the user is invited to join.

To add a user to your site, click the invite button in the upper-right corner of the site dashboard (Figure 2). Before an invitation is sent to the user, you have to select a role for the user. Based on the role, the user has privileges assigned for the site.

After you create a site and add users to it, the next step is to customize the site to contain the elements you would like to include with the design. Will your team need a blog, links, data lists, or discussion groups? To customize your site, click on the More button in the upper right corner of the site dashboard (again in Figure 2) and select "Customize Site" in the drop-down menu.

The Customize Site page (Figure 3) lets you add elements to the site design. Once these features are added, they appear on the menu bar of your site. You could also enable the corresponding dashlet in order to see the feature on the site dashboard.

Figure 3: Customize your site by adding features such as a blog, wiki, or calendar.

Document Management

When the site and its users are ready, it is time to upload documents. Alfresco allows online/offline editing of documents; document locking, version control, robust document content search, and much more.

By default, all the documents in the document library are available to users with the necessary privileges. Alfresco also offers a way to override the default privilege, and you can even manage permissions for each document separately.

On the site dashboard menu bar, click the document library link. This link takes you to the document repository where documents are stored (Figure 4). Here you can organize the documents in your library by creating folders.

Figure 4: Manage documents and track revisions through the document library.

To manage permissions for a document, just mouse over the document and click More, then click the link labeled Manage Permissions. Alfresco provides an online file viewer for most common file types, so you don't have to download the file to see the content. To view the documents in the online viewer, click on the document, and Alfresco will open it.

To lock a file so that no one else can edit it until you are done, click on More and then select Edit Offline.

Workflow Management

Alfresco lets you associate a document with a workflow. A workflow is a set of steps that the document will pass through. Most of the workflow types available in Alfresco are related to the review of the documents; options include peer review, parallel review, pool review, and group review. However, Alfresco also lets you create ad hoc workflows, with which you can assign arbitrary tasks to your colleagues.

To create a workflow, select a document and then click on the More button, which appears on the extreme right. In the drop-down menu, select Start workflow, which takes you to the workflow editing page (Figure 5).

Figure 5: The workflows feature lets you define the edit and review process for a document.

To view all your pending tasks, and the workflows you created, just click on the More button in the site dashboard. As you click, you get the drop-down with a option to view all the pending tasks and workflows.

Other Features

As mentioned previously, Alfresco lets you add useful features, such as wikis, blogs, discussions, calendars, data lists, and links to your site. Most of these tools are self-explanatory; however, I will mention one innovative Alfresco feature: the data list.

A data list allows you to create lists for almost any kind of data you wish to display on your site. The list could be a contact list, a to-do list, an issues list, an address list, or any other list. Such lists can be a great asset for your Alfresco site, especially when you have forgetful users on your site.

The Discussions feature lets the user create a discussion group on a specific topic, with a post and reply format for the ensuing discussion.

SharePoint and Alfresco Integration

Alfresco lets you integrate the document repository with Microsoft office suite tools such as Word, Excel, or PowerPoint. So, while you work with your favorite document editor, you can leverage your Alfresco repository to store, share, and manage your documents.

The tight integration with Microsoft tools is possible because Alfresco provides support for the SharePoint protocol. This SharePoint support is included out of the box when you download the Alfresco 3a community release. You can also manually install SharePoint support on earlier versions.

SharePoint protocol support is added to Alfresco through the Alfresco WAR (Web Application Archive) file. The vti-module.amp file needs to be installed to enable Alfresco to connect as SharePoint.

The installation steps are as follows (according to the official Alfresco documentation):

  1. Shut down the Alfresco server.
  2. Start the MMT (Module Management Tool) to help you manage the AMP (Alfresco Module Package). Run the command java - jar alfresco-mmt-2.1.jar at the command line to start the MMT.
  3. As the MMT is started, you can run the command install <AMPFileLocation> <WARFileLocation> to install the .amp file to the .war file. Just replace the file location fields with the file locations of the vti-module.amp file and the alfresco.war file.
  4. Copy the ROOT.war file into the Tomcatwebapps folder. To do this, delete the ROOT folder from the webapps folder (if there is one), then copy ROOT.war into the webapps folder.
  5. Start your Alfresco server.

Remember that the installation is only required if you are using a version of Alfresco that doesn't have SharePoint protocol support installed by default.

Imagine one of your team members is editing a document in a favorite word processing tool, which happens to be MS Word. With the SharePoint protocol support enabled, the user can directly save the Word file to the Alfresco repository, and MS Word will think it is talking to a SharePoint server.

Figure 6 shows how to save a file in MS Word for Mac 2011. Choose the File menu in MS Word and select Share | Save to SharePoint.

Figure 6: Alfresco supports the SharePoint protocol and can therefore appear as a SharePoint server on the network.

The next window lets you choose a previous location or add a new one. Click on the + button in the lower left corner of the window to add a new SharePoint server folder path (Figure 7).

Figure 7: Click the + button to add a SharePoint server in MS Word, then enter the server URL.

Conclusion

Alfresco is an easy, flexible, and intuitive tool for collaboration and content sharing. This brief introduction just describes the basic facts. The best way to get to know Alfresco is to experiment – as you start to use Alfresco in a real-world setting, you'll begin to develop your own methods to employ it effectively within your workgroup.

Other Options

Alfresco manages content, and it therefore meets the definition for a Content Management System (CMS). However, Alfresco is different from other popular open source CMS options. A brief comparison with a pair of open source CMS alternatives will offer some clues about what makes Alfresco unique.

  • WordPress – The WordPress CMS can be used to create a single site with lots of content, and WordPress is great for managing content on a single site. Alfresco, on the other hand, can create several logically different websites and help you manage content on all of the sites. WordPress allows you to quickly add content and publish it to your site. The WordPress option is generally suitable for bloggers, news sites, and other such use cases where user needs to get the content online in a hurry. Alfresco, on the other hand, takes things at bigger perspective. Along with content publishing, it supports user management, workflows, and other features. Another major difference is document management support. WordPress doesn't provide a document management service; the only support you get is for online content, whereas Alfresco provides an impressive out-of-the-box document management system.
  • Joomla – The Joomla tool also lets you create single website but differs from WordPress in the way it lets you create a more complete site. Joomla has support for important features such as menu items and slide shows. Joomla would be a better choice if you wanted to build a full-fledged website for a service or product. With Joomla, you get a platform where you can do almost anything you want; however, it lacks the collaboration emphasis of Alfresco.

Alfresco is better suited for an internal website, where the emphasis is not on design or achieving a high traffic volume but is, instead, on managing activities and supporting interaction among team members.

Infos

  1. Alfresco: http://www.alfresco.com/
  2. Alfresco Community Edition: http://www.alfresco.com/products/community
  3. Alfresco Enterprise Edition: http://www.alfresco.com/products/enterprise/trial

The Author

Nitish Tiwari is a software developer in Bangalore, India. He currently works for a FOSS-based startup and also serves as a consultant helping companies implement open source tools. Reach him at mailto:nitish.tiwari@technocube.in