Implementing Document Management

19 min read

(For more resources related to this topic, see here.)

Managing spaces

A space in Alfresco is nothing but a folder, which contains content as well as sub-spaces. 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 a given user has within a space is a function of their role or rights.

Consider the capability of creating a sub-space. By default, 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, and special views. These additional features which make a space a smart folder are explained as follows:

  • Space security: You can define security at the space level. You can specify a user or a group of users, who may perform certain actions on content in a space. For example, on the Marketing Communications space in intranet, you can specify that only users of the marketing group can add the content and others 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 space level.

  • Space workflow: You can define and manage content workflow on a space. Typically, you will create a space for the content to be reviewed, and a space for approved content. You will create various spaces for dealing with the different stages the work flows through, and Alfresco will manage the movement of the content between those spaces.

  • Space events: Alfresco triggers events when content gets into a space, or when content goes out of a space, or when content is modified within a space. You can capture such events at space level and trigger certain actions, such as sending e-mail notifications to certain users.

  • Space aspects: Aspects are additional properties and behavior, which could 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 the customer contract documents in your intranet’s Sales space.

  • Space search: Alfresco search can be limited to a space. For example, if you create a space called Marketing, you can limit the search for documents within the Marketing space, instead of searching the entire site.

  • Space syndication: Space content can be syndicated by applying RSS feed scripts on a space. You can apply RSS feeds on your News space, so that other applications and websites can subscribe 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, using CIFS interface, 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 the latest policy documents which are updated for the past one month or so. You can create different views for Sales, Marketing and Finance departmental spaces.

Importance of space hierarchy

Like regular folders, a space can have child spaces (called sub-spaces) and sub-spaces can further have sub-spaces of their own. There is no limitation on the number of hierarchical levels. However, the space hierarchy is very important for all the reasons specified above in the previous section. Any business rule and security defined at a space is applicable to all the content and sub-spaces underlying that space by default.

Use the created system users, groups, and spaces for various departments as per the example. 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 giving access to departments at individual space levels.

The example of the intranet space should contain sub-spaces, as shown in the preceding screenshot. If you have not already created spaces, you must do it now by logging in as administrator. Also, it is very important to set security (by inviting groups of users to these spaces).

Editing a space

Using a web client, you can edit the spaces you have added previously. Note that you need to have edit permissions on the spaces to edit them.

Editing space properties

Every space listed will have clickable actions, as shown in the following screenshot:

These clickable actions will be dynamically generated for each space based on the current user’s permissions on that space. If you have copy permission on a space, you will notice 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 next screenshot:

The detailed view page of a space allows you to select a dashboard view for viewing and 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, 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 while deleting a space as all 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 required 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 it contains.

The copied or moved space will be identical in all aspects to the original (source) space. When you copy a space, the space properties, categorization, business rules, space users, entire content within the space, and all 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, you can create a shortcut (similar to the Favorite option in Internet 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 left-hand side shelf.

Consider a scenario where after creating the shortcut, the source space is deleted. The shortcuts are not automatically removed as there is a possibility for the user to retrieve the deleted space. What will happen when you click on that shortcut link in the Shelf? If the source space is not found (deleted by user), then the shortcut will be removed with an appropriate error message.

Choosing a default view for your space

There are four different out-of-the-box options available (as shown in the screenshot overleaf). These options support the display of the space’s information:

  • Details View: This option provides listings of sub-spaces and content, in horizontal rows.

  • Icon View: This option provides a title, description, timestamp, and action menus for each sub-space and content item present in the current space.

  • Browse View: Similar to the preceding option, this option provides title, description, and list of sub-spaces for each space.

  • Dashboard View: This option is disabled and appears in gray. This is because you have not enabled the dashboard view for this space. In order to enable dashboard view for a space, you need to select a dashboard view (Refer to the icon shown in the preceding screenshot).

Sample space structure for a marketing project

Let us say you are launching a new marketing project called Product XYZ Launch. Go to the Company Home | Intranet | Marketing Communications space and create a new space called Product XYZ Launch and create various sub-spaces as needed. You can create your own space structure within the marketing project space to manage content. For example, you can have a space called 02_Drafts to keep all the draft marketing documents and so on.

Managing content

Content could be of any type, as mentioned at the start of this article. By using the Alfresco web client application, you can add and modify content and its properties. You can categorize content, lock content for safe editing, and can maintain several versions of the content. You can delete content, and you can also recover the deleted content.

This section uses the space you have already created as a part of your Intranet sample application. As a part of sample application, you will manage content in the Intranet | Marketing Communications space. Because you have secured this space earlier, only the administrator (admin) and users belonging to the Marketing group (Peter Marketing and Harish Marketing) can add content in this space. You can log in as Peter Marketing to manage content in this space.

Creating content

A web client provides two different interfaces for adding content. One can be used to create inline editable content, such as HTML, text, and XML, and the other can be used to add binary content, such Microsoft office files and scanned images.

You need to have either administrator, contributor, collaborator, or coordinator roles on a space to create content within that space. 

Creating text documents HTML, text, and XML

To create an HTML file in a space, follow these steps:

  1. Ensure that you are in the Intranet | Marketing Communications | Product XYZ Launch | 02_Drafts space.

  2. On the header, click on Create | Create Content. The first pane of the Create Content wizard appears. You can track your progress through the wizard from the list of steps at the left of the pane.

  3. Provide name of the HTML file, select HTML as Content Type and click on the Next button. The Enter Content pane of the wizard appears, as shown in the next screenshot. Note that Enter Content is now highlighted in the list of steps at the left of the pane:

     

  4. 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.

  5. If you know HTML, 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.

  6. After the content is entered and edited in the Enter Content pane, click on Finish. You will see the Modify Content Properties screen, which can used to update the metadata associated with the content.

  7. Give some filename with .html as extension. Also, you will notice that then Inline Editing checkbox is selected by default. Once you are done with editing the properties, click on the OK button to return to the 02_Drafts space, with your newly created file inserted.

You can launch the newly created HTML file by clicking on it. Your browser launches most of the common files, such as HTML, text, and PDF. If the browser could not recognize the file, you will be prompted with the windows dialog box containing the list of applications, from which you must choose an application. This is the normal behavior if you try to launch a file on any Internet page.

Uploading binary files – Word, PDF, Flash, Image, and 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 chose Alfresco_CIGNEX.docx from my hard disk for the sample application. Ensure that you are in the Intranet | Marketing Communications | Product XYZ Launch | 02_Drafts space.

To upload a binary file in a space, follow these steps:

  1. In the space header, click on the Add Content link. The Add Content dialog appears.

  2. To specify the file that you want to upload, click Browse. In the File Upload dialog box, browse to the file that you want to upload. Click Open. Alfresco inserts the full path name of the selected file in the Location textbox.

  3. 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.

  4. Click OK to confirm.

  5. Modify the Content Properties dialog appears. Verify the pre-populated properties and add information in the textboxes. Click OK to save and return to the 02_Drafts space.

The file that you uploaded appears in the Content Items pane. Alfresco extracts the file size from the properties of the disk file, and includes the value in the size row.

Editing content

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 permissions 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, 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 its editor. Each file type is edited in its own WYSIWYG editor. Once you select to edit online, a working copy of the file will be created for editing, whereas the original file will be locked, as shown in the next screenshot.

The working copy can be edited further as needed by clicking on the Edit Online button. Once you are done with editing, you can commit all the changes to the original document by clicking on the Done Editing icon.

For some reason, if you decided to cancel editing of a document and discard any changes, you can do that by clicking on the Cancel Editing button given below. If you cancel editing of a document, the associated working copy will be deleted and all changes to it since it was checked out will be lost.

The working copy can be edited by any user who has edit access to the document or the folder containing the document. For example, if user1 created the working copy and user2 has edit access to the document, and then both user1 and user2 can edit the working copy.

Consider a scenario where user1 and user2 are editing the working copy simultaneously. If user1 commits the changes first, then the edits done by user2 will be lost.

Hence, it is important to follow best practices in editing the working copy. Some of these best practices are listed here for your reference:

  • Securing the edit access to the working copy to avoid multiple users simultaneously editing the file

  • Saving the working copy after each edit to avoid losing the work done

  • Following the process of allowing only the owner of the document edit the working copy. If others need to edit, they can claim the ownership

  • Triggering the workflow on working copy to confirm the changes before committing

Offline editing of files

If you wish to download the files to your local machine, edit it locally, and then upload the updated version to Alfresco, then you might consider using the Edit Offline option (pencil icon).

Once you click on the Edit Offline button, the original file will be locked automatically and a working copy of the file will be created for download. Then you will get an option to save the working copy of the document locally on your laptop or personal computer.

If you don’t want to automatically download the files for offline editing, you can turn off this feature. In order to achieve this, click on the User Profile icon in the top menu, and uncheck the option for Offline Editing, as shown here:

The working copy can be updated by clicking on the Upload New Version button. Once you have finished editing the file, you can commit all the changes to the original document by clicking on the Done Editing icon. Or you can cancel all the changes by clicking on the Cancel Editing button.

Uploading updated content

If you have edit access to a binary file, you will notice the Update action icon in the drop-down list for the More actions link. Upon clicking on the Update icon, the Update pane opens. 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 actions

Content will have clickable actions, as shown in the upcoming screenshot. These clickable actions (icons) will be dynamically generated for a content based on the current user’s permissions for that content. For example, if you have copy permission for the content, you will notice the Copy icon as a clickable action for that content.

Deleting content

Click on the Delete action, from the list of content actions, to delete the content. Please note that when content is deleted, all the previous versions of that content will also be deleted.

Moving or copying content using the clipboard

From the list of content actions, as shown in the preceding screenshot, you can click on the Cut action to move content to the clipboard. Then, you can navigate to any space hierarchy and paste this particular content 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 have to access a particular content very frequently, 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 existing content. Shortcuts are listed in the left-hand side Shelf.

Managing content properties

Every content item in Alfresco will have 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, named Alfresco_CIGNEX.docx.

The content properties are stored in a 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, which 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 predefined elements representing specific attributes of content, and each element can have one or more values.

Metadata is a systematic method for describing resources, and thereby improving access to them. If access to the content will be 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.

While the primary aim of metadata is to improve resource discovery, metadata sets are also being developed for other reasons, including:

  • Administrative control

  • Security

  • Management information

  • Content rating

  • Rights management

Metadata extractors

Typically, in most of the content management systems, once you upload the content file, you need to add the metadata (properties), such as 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. Hence, it is double the effort, having to enter those values again in the content management system along with the document.

Alfresco provides built-in metadata extractors for popular document types to extract the standard metadata values from a document and populate the values automatically.

This is very useful if you are uploading the documents through FTP, CIFS, or WebDAV interface, where you do not have to enter the properties manually, as Alfresco will transfer the document properties automatically.

Editing metadata

To edit metadata, you need to click the Edit Metadata icon () in content details view. Refer the Edit Metadata icon shown in the screenshot, which shows a detailed view of the Alfresco_CIGNEX.docx file. 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 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 in a content type. 

The other way is to dynamically attach the properties and behavior through Aspects. By using aspects, you can add additional properties, such as Effectivity, Dublin Core Metadata, and Thumbnailable, to the content. 

Packt

Share
Published by
Packt

Recent Posts

Top life hacks for prepping for your IT certification exam

I remember deciding to pursue my first IT certification, the CompTIA A+. I had signed…

3 years ago

Learn Transformers for Natural Language Processing with Denis Rothman

Key takeaways The transformer architecture has proved to be revolutionary in outperforming the classical RNN…

3 years ago

Learning Essential Linux Commands for Navigating the Shell Effectively

Once we learn how to deploy an Ubuntu server, how to manage users, and how…

3 years ago

Clean Coding in Python with Mariano Anaya

Key-takeaways:   Clean code isn’t just a nice thing to have or a luxury in software projects; it's a necessity. If we…

3 years ago

Exploring Forms in Angular – types, benefits and differences   

While developing a web application, or setting dynamic pages and meta tags we need to deal with…

3 years ago

Gain Practical Expertise with the Latest Edition of Software Architecture with C# 9 and .NET 5

Software architecture is one of the most discussed topics in the software industry today, and…

3 years ago