Alfresco 3 Enterprise Content Management Implementation — Save 50%
How to customize, use, and administer this powerful, Open Source Java-based Enterprise CMS
In this article by Munwar Sharrif, you will learn about the basic features of creating, editing, and managing content in Alfresco by using Alfresco Explorer. With Alfresco, you can manage any type of document, such as HTML, text, XML, Microsoft Office documents, Adobe PDF, Flash, scanned images, multimedia, and video files. You will also understand the concepts of creating and using categories and smart spaces. By the end of this article, you will have also learned how to create spaces and load them with documents.
A space in Alfresco is nothing but a folder that contains content as well as sub spaces. The space users are the users invited to a space to perform specific actions such as editing content, adding content, discussing a particular document, and so on. The exact capability that a given user has within a space is a function of their role, or rights.
Let's consider the capability of creating a sub-space. By default, in order to create a sub-space, one of the following must apply:
- The user is the administrator of the system
- The user has been granted the Contributor role
- The user has been granted the Coordinator role
- The user has been granted the Collaborator role
Similarly, to edit space properties, a user will need to be the administrator or be granted a role that gives them rights to edit the space. These roles include Editor, Collaborator and Coordinator.
Space is a smart folder
Space is a folder with additional features, such as, security, business rules, workflow, notifications, local search capabilities, and special views. The additional features, which make the space a smart folder, are explained as follows:
- Space security: You can define security at the space level. You can designate a user or a group of users who can perform certain actions on the content in a space. For example, on the Marketing Communications space in the Intranet, you can specify that only users in the marketing group can add content, and other users can only see the content.
- Space business rules: Business rules, such as transforming content from Microsoft Word to Adobe PDF and sending notifications when content gets into a space, can be defined at the space level.
- Space workflow: You can define and manage the content workflow on a space. Typically, you will create a space for the content that needs to be reviewed, and a space for the content that has been approved. You will create various spaces for dealing with the different stages that the work flows through, and Alfresco will manage the movement of the content between those spaces.
- Space events: Alfresco triggers events when content moves into a space, when content moves out of a space, or when content is modified within a space. You can capture such events at the space level, and trigger certain actions, such as sending email notifications to certain users.
- Space aspects: Aspects are additional properties and behavior that can be added to the content, based on the space in which it resides. For example, you can define a business rule to add customer details to all of the customer contract documents that are in your intranet's Sales space.
- Space search: Alfresco search functions can be limited to a space. For example, if you create a space called Marketing, then you can limit the search to documents within the Marketing space, instead of searching the entire site.
- Space syndication: Content in a space can be syndicated by applying RSS feed scripts to a space. You can apply RSS feeds to your News space, so that other applications and web sites can subscribe to this feed for news updates.
- Space content: Content in a space can be versioned, locked, checked-in and checked-out, and managed. You can specify certain documents in a space to be versioned, and others not.
- Space network folder: Space can be mapped to a network drive on your local machine, enabling you to work with the content locally. For example, by using CIFS interface, a space can be mapped to the Windows network folder.
- Space dashboard view: Content in a space can be aggregated and presented using special dashboard views. For example, the Company Policies space can list all of the latest policy documents, that have been updated in the past one month or so. You can create different views for Sales, Marketing, and Finance departmental spaces.
Why space hierarchy is important
Like regular folders, a space can have child spaces (called sub spaces). These sub spaces can have further sub spaces of their own. There is no limitation on the number of hierarchical levels. However, the space hierarchy is very important for all of the reasons specified above, in the previous section. Any business rules and security defined for a space is applicable to all of the content and sub spaces within that space.
Your space hierarchy should look similar to the following screenshot:
A space in Alfresco enables you to define various business rules, a dashboard view, properties, workflow, and security for the content belonging to each department. You can decentralize the management of your content by providing access to departments at the individual space levels.
The example of the Intranet space should contain sub spaces, as shown in the preceding screenshot. You can create spaces by logging in as the administrator. It is also very important to set the security (by inviting groups of users to these spaces).
eBook Price: $35.99
Book Price: $59.99
Editing a space
Using a web client, you can edit the spaces that you have added previously. Note that you need to have edit permissions on the spaces to edit them.
Editing space properties
Every space has clickable actions, as identified in the following screenshot:
These clickable actions are dynamically generated for each space—based on the current user's permissions on that space. If you have copy permission on a space, then you will see the copy icon as a clickable action for that space. On clicking the View Details action icon, the detailed view of a space will be displayed, as shown in the following screenshot:
The detailed view page of a space allows you to select a dashboard view for viewing and for editing existing space properties, to categorize the space, to set business rules, and to run various actions on the space, as shown in the preceding screenshot.
To edit space properties, click on the Edit Space Properties icon, as shown in the preceding screenshot. You can change the name of the space and other properties, as needed.
Deleting space and its contents
From the list of space actions, you can click on the Delete action to delete the space. You need to be very careful when deleting a space as all of the business rules, sub spaces and the entire content within the space will also be deleted.
Moving or copying space by using the clipboard
From the list of space actions, you can click on the Cut action to move a space to the clipboard. Then you can navigate to any space hierarchy, assuming that you have the necessary permissions to do so, and paste this particular space, as required.
Similarly, you can use the Copy action to copy the space to some other space hierarchy. This is useful if you have an existing space structure (such as a marketing project or engineering project), and you would like to replicate it, along with the data that it contains.
The copied or moved space will be identical in all respects to the original (source) space. When you copy a space, the space properties, categorization, business rules, space users, all content within the space and, all of the sub spaces, along with their content, will also be copied.
Creating a shortcut to a space for quick access
If you need to frequently access a space, then you can create a shortcut (similar to the Favorite option in Internet and Windows browsers) to that space, in order to reach the space in just one click. From the list of space actions, you can click on the Create Shortcut action to create a shortcut to the existing space. Shortcuts are listed in the Shelf towards the left-hand side.
Choosing a default view for your space
There are four different out of the box Space View options (as shown in the following screenshot). These options support the display of the space's information.
- The Details View option provides listings of sub spaces and content, in horizontal rows.
- The Icon View option provides a title, description, timestamp, and action menus for each sub space and content item present in the current space.
- The Browse View option provides a title, description, and a list of sub spaces for each space.
- The Custom View is disabled and appears in gray. This is because you have not enabled the dashboard view for this space. In order to enable the dashboard view for a space, you need to select a dashboard view (refer to the icon in the Custom View box, shown in the preceding screenshot).
eBook Price: $35.99
Book Price: $59.99
Sample space structure for marketing project
Let us say that you are launching a new marketing project called Switch to open source ECM. You can create your own space structure within the Marketing Project space to manage content. For example, you can have a space called Draftsto house all of the draft marketing documents and so on. Go to the Company Home > Intranet > Marketing Communications space, and create a new space called Switch to open source ECM, and then create various sub spaces under it, as shown in the following screenshot:
The new marketing project space and the sub spaces created are used in the remaining examples listed in this article, in order to manage content.
Content can be in any format, as mentioned at the start of this article. By using the Alfresco web client application, you can add or modify content and its properties. You can categorize content, lock content for editing, and can maintain several versions of the content. You can delete content, and you can also recover deleted content.
This section uses the space that you have already created as a part of your Intranet sample application. As a part of the sample application, you will manage the content in the Intranet > Marketing Communications space. Because you have secured this space earlier, only the administrator (admin) and the users belonging to the Marketing group (Peter Marketing and Harish Marketing) can add content to this space. You can log in as Peter Marketing to manage the content in this space.
A web client provides two different interfaces for adding content. One can be used to create inline editable content, such as HTML, text, XML, and the other can be used to add binary content, such as Microsoft Office files and scanned images.
You need to have one of the the administrator, contributor, collaborator, or coordinator roles on a space to be able to create content within that space.
Creating text documents
To create an HTML file in a space, carry out the following steps:
- Ensure that you are in the Intranet > Marketing Communications > Switch to open source ECM > 02_Drafts space.
- In the header, click on Create > Create Content. The first pane of the Create Content wizard appears, as shown in the following screenshot. In this wizard, and in any Alfresco wizard, you can track your progress through the wizard from the list of steps shown on the leftmost side of the pane.
- Provide the name of the HTML file, select HTML as the Content Type, and then click on the Next button. The Enter Content pane of the wizard appears, as shown in the following screenshot. Note that Enter Content is now highlighted in the list of steps on the leftmost side of the pane.
- You can see that there is a comprehensive set of tools to help you format your HTML document. Enter some text, using some of the formatting features.
- If you know HTML, then you can also use the HTML editor by clicking on the HTML icon. The HTML source editor is displayed. Once you update the HTML content, click on the Update button to return to the Enter Content pane in the wizard, with the contents updated.
- After the content has been entered and edited in the Enter Content pane, click on Finish. You will see the Modify Content Properties screen, which can be used to update the metadata that is associated with the content, as shown in the following screenshot:
- If you are satisfied with the properties, then click on the OK button to return to the 02_Drafts space, with your newly-created file inserted in it.
You can launch the newly created HTML file by clicking on it. Your browser will automatically be launched for most of the common file types, which are HTML, text, and PDF. If the browser does not recognize the file, then you will be prompted by a Windows dialog box containing the list of applications, to choose an application. This is the normal behavior if you try to launch a file on any Internet page.
Uploading binary files such as Word, PDF, Flash, Image, Media
Using a web client, you can upload content from your hard drive. Choose a file from your hard disk that is not an HTML or text file. I shall choose the Alfresco_CIGNEX.doc file from my hard disk, for the sample application. Ensure that you are in the Intranet > Marketing Communications > Switch to open source ECM > 02_Drafts space.
To upload a binary file to a space, carry out the following steps:
- In the space header, click on the Add Content link. The Add Content Dialog window is displayed.
- To select the file that you want to upload, click on the Browse button. In the File Upload dialog box, browse to the file that you want to upload, select it, and then click on the Open button. Alfresco inserts the full path name of the selected file in the Location text box.
- Click on the Upload button to upload the file from your hard disk to the Alfresco repository. A message informs you that your upload was successful, as shown in the following screenshot:
- Click on the OK button to confirm. The Modify Content Properties Dialog is displayed
- Verify the pre-populated properties and enter information in the text boxes as required. Click on the OK button to save and return to the 02_Drafts space.
The file that you have uploaded appears in the Content Items pane. Alfresco extracts the file size from the disk properties of the file, and includes the value in the size field. Now that you have two files, you can edit them as you like.
You can edit the content in Alfresco in three different ways: by using the Edit Online, Edit Offline, and Update actions. Note that you need to have edit permission on the content to edit them.
Online editing of HTML, text, and XML
HTML files and plain text files can be created and edited online. If you have edit access to a file, then you will notice a small pencil (Edit Online) icon as shown in the following screenshot:
Clicking on the pencil icon will open the file in the appropriate editor. Each file type is edited in its own WYSIWYG editor. Once you select the option to Edit Online, a working copy of the file will be created for editing, and the original file is locked, as shown in the following screenshot:
The working copy can be further edited, as needed, by clicking on the Edit Online button. Once you are done with editing, you can commit all of the changes to the original document, by clicking on the Check In icon.
If, for some reason, you decide to cancel the editing of a document and discard any changes that you have made, then you can do so by clicking on the Cancel File Editing button. If you cancel the editing of a document, then the associated working copy is deleted, and all of the changes made to it since it was checked out will be lost.
Offline editing of files
If you want to download a file onto your local machine, edit it locally, and then upload the updated version to Alfresco, then you might consider using the Edit Offline option, as shown in the following screenshot:
Once you click on the Edit Offline button, the original file is automatically locked. A working copy of the file is created for download. Then a window is displayed, giving you the option to save the working copy of the document locally on your personal computer, as shown in the following screenshot:
If you don't want to automatically download the file for offline editing, you can turn off this feature. In order to deactivate Offline Editing, click on the User Profile icon in the top menu, and deselect the option for Offline Editing, is shown to be selected in the following screenshot:
The working copy can be updated by clicking on the Update New Version button. Once you have finished editing the file, you can commit all of the changes to the original document, by clicking on the Check In icon. Alternatively, you can cancel all of the changes by clicking on the Cancel File Editing button, as shown in the following screenshot:
Uploading updated content
If you have edit access to a binary file, then you will see the Update action icon in the drop-down list for the More actions link, as shown in the upcoming screenshot. If you click the Update icon, then the Update pane is displayed. Click on the Browse button to upload the updated version of the document from your hard disk. It is always a good practice to check out the document and update the working copy, rather than directly updating the document. Checking the file out avoids conflicting updates by locking the document, as explained in the previous section.
Content has clickable actions (icons), as shown in the upcoming screenshot. These clickable actions are dynamically generated for content, based on the current user's permissions for that content. For example, if you have copy permission for the content, then you will see the Copy icon as a clickable action for that content.
Click on the Delete action, from the list of content actions, to delete the content. When the content is deleted, all of the previous versions of that content object will also be deleted.
Moving or copying content using the clipboard
From the list of content actions, as shown in the screenshot above, you can click on the Cut action to move content to the clipboard. Then, you can navigate to any space hierarchy and paste the cut content into it, as required.
Similarly, you can use the Copy action to copy the content to another space.
Creating a shortcut to the content for quick access
If you need to access a particular content object very frequently, then you can create a shortcut (similar to the way you can with Internet and Windows browser's Favorite option) to that content, in order to reach the content in one click. From the list of content actions, as shown in the preceding screenshot, you can click on the Create Shortcut action to create a shortcut to the content. Shortcuts are listed in the Shelf on the left-hand side.
Managing content properties
Every content item in Alfresco has properties associated with it. Refer to the preceding screenshot to see the list of properties, such as Title, Description, Author, Size, and Creation Date. These properties are associated with the actual content file, which is named Alfresco_CIGNEX.doc.
The content properties are stored in relational database and are searchable using Advanced Search options.
What is Content Metadata?
Content properties are also known as Content Metadata. Metadata is structured data, that describes the characteristics of the content. It shares many similar characteristics with the cataloguing that takes place in libraries. The term Meta derives from the Greek word denoting a nature of a higher order or more fundamental kind. A metadata record consists of a number of pre-defined elements that represent specific attributes of the content, and each element can have one or more values.
Metadata is a systematic method for describing resources, and thereby simplifying access to them. If access to the content is required, then it should be described using metadata, so as to maximize the ability to locate it. Metadata provides the essential link between the information creator and the information user.
Although the primary aim of metadata is to improve resource discovery, metadata sets are also being developed for other reasons, including:
- Administrative control
- Management of information
- Content rating
- Rights management
Typically, in most Content Management Systems, once you upload the content file, you need to add the metadata (properties), such as the title, description, and keywords, to the content manually. Most of the content, such as Microsoft Office documents, media files, and PDF documents contain properties within the file itself. Therefore, it is double the effort, having to enter those values again in the Content Management System, as well as in the document.
Alfresco provides built-in metadata extractors for many popular document types, that extract the standard metadata values from a document, and populates the values automatically.
This is very useful if you are uploading the documents through FTP, CIFS, or a WebDAV interface, where you will not have to enter the properties manually, as Alfresco will transfer the document properties automatically.
To edit metadata, you need to click on the Edit Metadata icon in the content details view. Refer to the Edit Metadata icon shown in the upcoming screenshot, which shows a detailed view of the file Alfresco_CIGNEX.doc. You can update the metadata values, such as Name and Description, for your content items. However, certain metadata values, such as Creator, Created Date, Modifier, and Modified Date are read-only values, and you cannot change them. Certain properties, such as, Modifier and Modified Date will be updated by Alfresco automatically, whenever the content is updated.
Adding additional properties
Additional properties can be added to the content in two ways. One way is to extend the data model and define more properties for a content type.
The other way is to dynamically attach the properties and behaviour through Aspects. By using aspects, you can add additional properties, such as Effectivity, Dublin Core Metadata, and Thumbnailable, to the content.
In this article, we learned how to create and manage spaces, and how to fill the space with documents. We also discussed document management in Alfresco 3 which included creating and editing content, and managing content properties.
About the Author :
Munwar Shariff, as a co-founder and Chief Technology Officer at CIGNEX Datamatics, brings over 20 years of industry experience and proven technical leadership. He oversees the enterprise architecture solution team and provides strategic planning to achieve business goals by identifying and prioritizing technology-based services and solutions. Defining initiatives and setting timetables for the evaluation, development, and deployment of pioneering technologies are his areas of expertise.
He is an entrepreneur, open source technologist, and author of the following four technical books:
- Plone Live
- Implementing Alfresco
- Alfresco3 WCM
- Alfresco3 ECM
He contributes to the open source community by journaling submissions on open source CMS, and has been a featured speaker at AIIM USA, JBoss World, DAM Conference, Plone Conference, Linux World, Gilbane, CTC, Yahoo OSCMS, Saudi Government, and CA World.
Munwar has also served on board at the Plone Foundation and is currently a board member at CIGNEX Datamatics.