Among the key enhancements, documentary management and workflows are now more powerful, content editing is lighter and easier, and a new method of storing users enables JCMS-based applications to be accessed by hundreds of thousands of people.
JCMS 6.1 comes with a collection of new plugins that enrich its already extensive functionalities: newsletters, dynamic forms, photo library, integration with MS-Office and Kofax Capture, and others.
The four principal uses of JCMS – content management, portal, documentary management, collaborative working – are now extended to a fifth with the addition of the Enterprise Social Network module Jalios ESN.
1. JCMS 6.1 - The common base
1.1 Simple, convivial editing
JCMS editing forms have been improved and made even more user-friendly. The 'tabs presentation' has been made lighter. For multilingual forms, a global language selector is now found in the "Content" menu and on each multilingual field, which substantially reduces the number of sub-tabs needed.

Fig. 1. New form presentation.
To make it easy to add attachments, the document fields now allow direct file selection. If it is necessary to identify metadata for the document (e.g. rights, categories, resume, etc.), it is still possible to open the usual interface.

Fig. 2. Direct file selection in document type fields.
A widget proposes its action icons only when it is selected. Secondary actions are grouped in a contextual menu.

Fig. 3. Contextual menu offering secondary actions.
Most multivalue fields can be reordered by simple drag’n drop. Items can be added instantly: it is no longer necessary to reload the form.

Fig. 4. Drag’n drop in multivalue fields.
All date fields have a new calendar that appears directly in the page. Dates can be input in several formats (e.g. 15/10/2009, 15.10.2009,15 10 2009) and even be relative (today, tomorrow, yesterday, +3 = in three days, +1y = in one year).

Fig. 5. The new calendar in date fields.
Finally, JCMS 6.1 incorporates the new version 3.2.6 of the TinyMCE editor for rich text fields, which enables full-page editing. A new icon has been added to directly insert documents or images without having to use any intermediate interfaces.
1.2 Content presentation
The default content presentation templates and the document display template have been remodeled to make them better spaced:

Fig. 6. New appearance of default templates.
1.3 Incoming e-mail management
JCMS 6.1 introduces a new communication channel in the form of incoming e-mail. JCMS can manage one or several mailboxes using the POP3 or IMAP protocols. JCMS archives each new incoming e-mail as a publication or triggers a suitable treatment.
A tab has been added to the Properties Editor to configure incoming and outgoing e-mail.

Fig. 7. Setting incoming and outgoing e-mail parameters.
An e-mail supervision interface is provided to see incoming e-mail information: number of messages received, last reading date, account configurations, etc.

Fig. 8. Incoming e-mail supervision interface.
1.3.1 E-mail archiving
For e-mail archiving purposes, a specific address must be defined, for example "archiving@jcms.example.com". JCMS then regularly picks up new incoming e-mails in this mailbox. Each e-mail is stored in JcmsDB in the form of a DBMailMessage publication. JCMS identifies e-mail senders and recipients and can rebuild their interchanges. If there are mail attachments, JCMS decodes them, stores them as FileDocuments and attaches them to the DBMailMessage. Since DBMailMessages are stored in JcmsDB, they cannot be categorized.
Archived e-mails can be consulted from the front-office.

Fig. 9. Incoming e-mails grouped into a discussion.
1.3.2 Actions on e-mails
When an e-mail is received at a given address JCMS can trigger a pre-determined action. For example, the DBForum plugin exploits this principle to enable replies by e-mail. If a user is interested in a particular discussion, he can ask to be notified by e-mail whenever a new message arrives. With JCMS 6.1 the user can participate in the discussion by replying to these e-mails, in which case the e-mail received is not archived but it adds a message to the discussion.
The Newsletter plugin also exploits this functionality to unsubscribe people by means of a simple e-mail sent to a specific address. Similarly, with Jalios ESN users can propose to change their status by sending an e-mail.
1.4 Very large user-bases
1.4.1 DBMember
To optimize the handling of very large numbers of users, JCMS 6.1 supports two types of user which are stored differently:
- Members, already present in earlier JCMS versions, are stored in the "JStore" persistent object database. JCMS can manage several tens of thousands of such members.
- DBMembers are stored in the "JcmsDB" relational database. JCMS can manage several hundred thousand users, even several million if the database is optimized, for example by means of table partitioning.
DBMembers share many characteristics with Members:
- They have the same information fields (name, firstname, organization, job title, e-mail, phone, etc.);
- They can belong to groups and therefore have access to collaborative spaces;
- They can have a Virtual Desktop and use services managing persistent data such as bookmarks and tasks;
- If Jalios ESN is installed, they can be members and assume all management functions (profiles, expertise, relationships, activities, etc.).
There are however some restrictions on DBMembers:
- They cannot access the back-office;
- They have no delegation or audiencing rights;
- They can contribute only user content (forums, reviews, comments);
- They cannot manage categories;
- They cannot delegate authentication.
The administration interface provides separate access to the Members and DBMember lists.
To enable fast textual searching on Members and DBMembers, JCMS 6.1 indexes them using the Lucene engine.
A DBMember can be transformed into a member, but a member cannot become a DBMember.
1.4.2 External contacts
A new option is provided to allow Members and DBMembers to be identified as external contacts. If they are, they cannot be authenticated and will not therefore be able to access JCMS. This new option is used mainly by Jalios ESN to manage information about external people.
Photos of external contacts are accompanied by a small pictogram to distinguish them visually from other users.

Fig. 10. Choice of user type in the member creation interface.
1.5 Workflows
1.5.1 Rôles Ouverts
When configuring workflows, open roles enable contributors themselves to choose which members will be assigned to given roles. Open roles management is enlarged in JCMS 6.1:
- An open role can be mandatory, in which case the contributor must choose a member to assign to the role when he chooses a state that includes a mandatory open role.
- Open roles are now multivalue, so the contributor can choose one or more members for such a role. A notification e-mail will be sent to all the chosen members.
- Finally, in the roles input screen only open roles concerned by the target state are proposed.
1.5.2 Fields status
It may be desirable, even necessary, to control access not only to a whole document but even to specific fields.
Examples:
- The "Title" field must not be editable after the document reaches "Validated" status;
- The "Confidential" field is visible and editable only if the contributor belongs to a certain group;
- The "Introduction" field becomes mandatory only when the publication status changes to "Submitted".
The workflow API has been enriched (since JCMS 6.0 SP1) to enable this control of field attributes – visible, editable, mandatory – according to the editing context (publication, pstatus, loggedMember, external services, etc.).
A detailed description of the API will appear soon on JaliosXperience.
1.6 WebDAV
1.6.1 Jalios Office Launcher
Since version 5.5, JCMS supports the WebDAV protocol which allows office documents to be edited directly on the JCMS server without having to download them to the workstation then upload them again after modification. WebDAV editing was formerly possible only using Internet Explorer, but JCMS 6.1 now makes this possible with all Windows browsers (IE, Firefox, Safari, Chrome) and it improves support for Windows Vista.
To activate WebDAV editing on all Windows browsers, the new Jalios Office Launcher component must be installed on contributors' workstations. Also JCMS must be configured so that it produces compatible WebDAV editing URLs. To do this, see section 6.11 Installation of Jalios Office Launcher of the Installation and Operation Manual.
1.6.2 Minor version increments
When the user quits a document after editing it with WebDAV, JCMS 6.1 checks whether the file content has changed. If it has it increments the document's minor version number.
1.6.3 JSync compatibility
Formerly WebDAV was used exclusive with the 'replicate files by JSync' option. JCMS 6.1 removes this constraint, making WebDAV compatible with all file manager modes when JSync replication is activated: centralized files, replicated by JSync or replicated by an external process such as RSync.
1.7 Search by document type
JCMS 6.1 search engine enables filtering on document type (slideshow, spreadsheet, PDF, image, video, etc.). This new criterion can be combined with all existing ones (text, categories, date, types, author, languages, etc.). The search interface has a new tab for this purpose.

Fig. 11. Choosing the document type in the search interface.
The content manager also has this refinement when the type 'document' is chosen.

Fig. 12. Filtering by document type in the "My Content" page.
1.8 Copying portlets
JCMS 6.1 brings a new option when duplicating portals. In addition to the existing "Copy" and "Reference" options, the new "Reference by workspace" option ensures that when duplicating a complete workspace the portlet will be copied only once regardless of the number of portlets that reference it in this workspace.

Fig. 13. New portlet copy option.
1.9 Calendar Portlet
In JCMS 6.1 the Calendar Portlet has a new display template called "My Diary". This is particularly useful on the Virtual Desktop since it shows the user's next upcoming events and includes an "Add" link to add new ones.

Fig. 14. "My Diary" template in the Calendar Portlet.
1.10 New video player
JCMS 6.1 integrates JW FLV Media Player v4.5 which brings several new features. This player supports the MP4 format and most streaming protocols (this necessitates a streaming video infrastructure on the server side). This new version offers several sets of skins.

Fig. 15. The JW FLV Media Player comes with many skins.
1.11 JCMS Open API
JCMS 6.1 extends its features of the JCMS Open API, which is a REST Web Service API.
1.11.1 Related
When you examine a data item with JCMS Open API, the XML stream returned includes all the fields associated with this item. However, it may be necessary to access other information related to it. For example, when consulting a member you may need to know all the workspaces to which he belongs. However, this information is not shown in member's fields, since it is an index based on the groups to which he belongs.
With JCMS 6.1 it is possible to obtain certain related data simply by using the "related" parameter in the URL. This applies for all the Open API queries that return data.
For example, the following query, which returns all fields of member j_2, adds to the XML stream the list of workspaces in which this member participates:
/rest/data/j_2 ?related=workspaceSet
which produces the following result:
<?xml version='1.0' encoding='UTF-8' ?>
<data class='com.jalios.jcms.Member' id='j_2' url='https://intranet.jalios.net/jcms/j_2/admin'>
<field name='author' id='j_2' class='com.jalios.jcms.Member' login='admin'>Admin</field>
<field name='opAuthor' id='j_2' class='com.jalios.jcms.Member' login='admin'>Admin</field>
<field name='cdate'>2000-06-03T18:38:51+02:00</field>
<field name='mdate'>2009-09-28T12:13:31+02:00</field>
<field name='login'>admin</field>
<field name='name'>Admin</field>
...
<related name='workspaceSet'>
<item id='j_4' class='com.jalios.jcms.workspace.Workspace'>Espace Jaliosnet</item>
<item id='jn1_42455' class='com.jalios.jcms.workspace.Workspace'>$NAME$ Espace collaboratif</item>
<item id='jn1_72601' class='com.jalios.jcms.workspace.Workspace'>Espace Principal</item>
</related>
</data>
The table below lists the "Related" available in JCMS 6.1
Type | Related | Description |
---|---|---|
Data | extraData.foo | Return extraData foo |
Data | extraDBData.foo | Return extraDBData foo |
Data | lockDate | Return locking date |
Data | lockMember | Return member who locked the data |
Data | linkIndexedDataSet | Return all data referenced by the data |
Member | workspaceSet | Return all workspaces to which the member belongs |
Category | childrenSet | Return all the category's children |
Workspace | catSet.loggedMember | Return all the categories authorized for the authenticated member |
1.11.2 Data list
JCMS Open API can be used to obtain a data item via the resource /data. By this same resource JCMS 6.1 enables a set of data to be obtained by stating the identifiers separated by semicolons.
For example, the following query returns in a single reply the Default Group (j_1), the Default Admin (j_2), the Root Category (j_3) and the Default Workspace (j_4):
/rest/data/j_1;j_2;j_3;j_4
1.11.3 TreeNode
For all the classes implementing the TreeNode interface (e.g. Category, Group, Faq, Glossary, etc.), the resource /data/children returns all the descendants.
For example, the following query returns the child of the root category:
/rest/data/children/j_3
1.11.4 FileDocument
FileDocument support has been improved: it is now possible to upload FileDocuments by JCMS Open API, and also to set and release locks.
1.11.5 JCMS Open API Client
JCMS Open API Client is a Java library that simplifies access to JCMS Open API. It has been updated to integrate the new features mentioned previously.
Note: a version of this library is available for the Microsoft .Net Framework.
1.12 API
1.12.1 DBData
With JCMS 6.0, the JcmsDB data could be referenced from the JStore data, but NOT vice versa. JCMS 6.1 now allows referencing in both directions. For example, it is possible to reference a DBMember (stored in JcmsDB) in the participants field of a calendar event (stored in JStore).
JCMS 6.1 also extends the utilization possibilities of JcmsDB data by allowing multivalue fields. The JCMS type creation interface now provides a multivalue option for DBData with a choice between two multivalue types: List or Set of values.

Fig. 16. Choosing the multivalue field type in the Types Editor.
1.12.2 Forms in modal windows
JCMS 6.0 introduced an API to call up modal windows by means of a simple CSS declaration (class="modal"). JCMS 6.1 re-uses this same principle to provide a generic mechanism for forms in modal windows. The main advantage of modal windows is that they preserve the user's visual context and do not perturb his navigation. This new mechanism has been used massively in Jalios ESN.

Fig. 17. Example of a form in a modal window.
JCMS 6.1 makes forms management in modal windows easy with CSS presentation classes and a post-validation redirection system.
By default, after validation, the call to "modalRedirect.jspf" causes a refresh of the current page. It is possible to define a specific redirection with the modal.redirect query attribute.
Example of a form in modal:
<%@ include file='/jcore/doInitPage.jsp' %>
<% if (Util.notEmpty(request.getParameter("opSubmit"))) { %>
<%-- request.setAttribute("modal.redirect", "customRedirect.jsp"); --%>
<%@ include file="/jcore/modal/modalRedirect.jspf" %>
<% } %>
<%
if (Util.notEmpty(request.getParameter("opRefresh"))) {
String text = request.getParameter("text");
jcmsContext.setInfoMsg("Your text: " + text);
}
%>
<div>
<div style="width:500px;">
<img src="images/jalios/logos/powered-by-jalios.gif"/>
<h1>Example of form modal</h1>
<%@ include file='/jcore/doMessageBox.jsp' %>
<div>The introduction...</div>
<form action="plugins/DevToolsPlugin/jsp/debugFormModal.jsp" method="post" name="editForm">
<input name="text" value="Enter some text" />
<div>
<input type="submit" name="opSubmit" value="<%= glp("ui.com.btn.save") %>" />
<input type="submit" name="opRefresh" value="<%= glp("ui.com.btn.refresh") %>" />
<input type="submit" name="opCancel" onclick="return JCMS.window.Modal.close(false);" value="<%= glp("ui.com.btn.cancel") %>"/>
</div>
</form>
</div>
<%@ include file='/jcore/doAjaxFooter.jspf' %>
</div>
1.12.3 Images in modal windows
With JCMS 6.1 any image can be presented very simply in a modal window when the user clicks it, simply by placing it in a link having the modal CSS class.
Example:
<a href="<%= photoPath %>">
<jalios:thumbnail path='<%= photoPath %>'
width='150'
height='130'/>
</a>
1.12.4 Resizing iFrames
iFrames are used to incorporate an external site in a JCMS portal. However, one serious disadvantage of iFrames is that their height is not re-sized, which causes vertical scrollbars to appear. JCMS 6.1 resolves this problem by automatically re-sizing iFrames whose height attribute is set to "100%". For security reasons, the browser will allow this mechanism to operate only if the iFrame's URL is in the same DNS domain as the URL of the page receiving it.
1.12.5 Browser CSS class
In JCMS 6.1 a class representing the user's browser added in the page's <body> tag. The CSS class takes the form "browser-Browser_Name", for example:
- browser-IE6
- browser-IE7
- browser-Firefox
- browser-Safari
This makes it easy to write a browser-specific CSS.
Example:
#page .left-colum {
width: 100%;
max-width: 600px;
}
.browser-IE6 #page .left-colum {
width: 600px;
}
1.12.6 <jalios :media> tag
The <jalios:media> tag provides a very easy means of displaying media of any type. For video content it produces the FLV player insertion HTML code; for MP3 it inserts the audio player; for an image it inserts a thumbnail of the image with the modal display template.
Its use is very simple: just indicate the document or the resource path in the tag:
<jalios:media path="..." />
<jalios:media doc="<%= myDoc %>" />
1.12.7 Favicon Manager
Favicons are small 16 x 16 pixel icons that appear inside the browser's location bar, bookmark menu and tabs when a site is called up. They are a good way of "branding" the site and increase it's prominence in visitors' bookmark menus. JCMS 6.1 provides a favicons manager that finds the icon (if one exists) associated with an URL. The JCMS Bookmarks plugin and Jalios ESN both use this service to add favicons to external links they manage.
Example:
<img src="<%= FaviconManager.getInstance().getIcon(url) %>" />
1.12.8 doMemberPhoto.jsp
The "doMemberPhoto.jspf" JSP is used to display members' photos with a homogeneous presentation, notably a small marker identifying external contact. Before calling it, the photoMember
and photoSize
variables must be created (which must be one of the recognized image sizes: see JcmsConstant.PHOTO_xxx).
Example:
<% Member photoMember = itMember; int photoSize = JcmsConstants.PHOTO_TINY; %>
<%@ include file="/jcore/doMemberPhoto.jspf" %>
1.12.9 HTTP Digest authentication
JCMS 6.1 has new authentication component, HttpDigestAuthenticationHandler, which brings support for HTTP Digest authentication. This authentication handler necessarily involves some development before use.
It is imperative to have recorded a hash (denoted "HA1" in the HTTP Digest specification) specific to each member in an ExtraData that will re-use the handler during authentication.
This HA1 is generated from the non-encrypted user password and the connection realm. Obviously this password must be obtained to be able to invoke the right APIs (for example, in a DataController when editing the profile by accessing "request.getPassword()" directly).
To record the hash:
Member mbr = ...;
Member updated = (Member) mbr.getUpdateInstance();
updated.setExtraDataMap(Util.getHashMap(mbr.getExtraDataMap()));
HttpDigestAuthenticationHandler.putHA1InMemberExtraData(updated, "MyRealm", "clear text password");
updated.performUpdate(admin);
To request an HTTP Digest authentication in a JSP:
<%@ include file="/jcore/doInitPage.jsp" %><%
%><%@ page import="com.jalios.jcms.authentication.handlers.HttpDigestAuthenticationHandler" %><%
if (loggedMember == null) {
HttpDigestAuthenticationHandler.setHttpDigestAuthorizationHeader(session, response, "MyRealm");
return;
}
%>
1.13 Exploitation
1.13.1 Tomcat 5.5.28
Tomcat versions 5.5.26 and 5.5.27 caused some problems for JCMS operation due to a Tomcat bug concerning cookies. Tomcat v5.5.28 corrects this problem, so JCMS 6.1 is compatible with this version. Even so, the migration to this version must be done with great care, since Jasper, Tomcat's JSP page compiler, imposes more restrictions on the use of JSP tags (<jsp:xxx>) and custom tags (<jalios:xxx>). It refuses to compile pages containing tags in which attributes include quotes within quotes or double quotes within double quotes.
Example of code incompatible with Tomcat 5.5.28:
<jalios:link data='<%= data %>' htmlAttributes=' style='font-weight: bold;' ' /> <%-- Ne compilera pas --%>
<jalios:link data='<%= data %>' htmlAttributes=" style="font-weight: bold;" " /> <%-- Ne compilera pas --%>
<jalios:link data='<%= data %>' htmlAttributes=' style="font-weight: bold;" ' /> <%-- OK --%>
If you wish to migrate your site to this new Tomcat version, you should first check that your specific JSPs compile correctly.
1.13.2 Minified JavaScripts and CSS
Steve Souders' book High Performance Web Site proposes a set of very pragmatic rules for improving website performance. His main suggestions were already taken into account in JCMS 5.7 & 6. JCMS 6.1 goes even further by adopting the rule which recommends that Javascripts and CSSs be minified.

Fig. 18. JavaScript and CSS minify option.
1.13.3 Google Chrome Frame
Google Chrome Frame is a component proposed by Google to handle within Internet Explorer (v6, 7 or 8) pages with the Google Chrome rendering engine. This means that users can keep an old version of their browser compatible with their business applications while enjoying the benefits of a modern rendering engine for JCMS 6.1 pages.
Google Chrome Frame support is activated in the Properties Editor (Advanced tab).

Fig. 19. Activating Google Chrome Frame support.
1.13.4 Lucene re-indexing
When JCMS is first started, it checks whether Lucene indexes are present. If not, it performs a re-indexing automatically. This behavior can be deactivated using the "search-engine.auto-indexing-on-first-startup" property.
2. New plugins
2.1 Newsletter
The previous JCMS versions already had a newsletter function, but only one newsletter was allowed and its content was produced dynamically from a JSP. This function has been removed and is now replaced by the Newsletter plugin.
This new plugin can manage any number of newsletters, each one with its own format (however, the models should be designed with care since e-mail readers do not have the same rendering abilities as browsers!).

Fig. 20. Example of a newsletter.
With each newsletter is associated a set of people who have subscribed to it. It is possible to automatically subscribe an entire set of members belonging to a group. Subscriber can stop their subscription either by going to the site (if they have access) or by sending a cancellation e-mail (which requires that incoming e-mail be configured).
Newsletters can be pre-fed with existing content then re-edited by a contributor assigned to this task. It is possible to have dynamic elements in newsletters which are resolved every time it is dispatched (e.g. recipient name, date, etc.)
All newsletters can be displayed on the site, so users can see the content of all past issues.

Fig. 21. Each newsletter has its own layout.
The Newsletter plugin has all the necessary interfacing features to manage subscriptions, dispatching and follow-up. Newsletter distribution is managed in a workflow. The follow-up function enables managers to see how many times their newsletters have been read and which subscribers opened them.

Fig. 22. Newsletter management interface.
2.2 Dynamic forms
The Dynamic Forms plugin is used to build poll and quiz type forms. They can be implemented without restarting JCMS, and their management can be delegated to a contributor. Each form is composed of a set of questions. Each question has a type (checkbox, text field, date, categories, etc.), it can be open or closed, and it can have various attributes (mandatory, right answer, etc.). Form structures are stored in JStore, while form submissions are stored in JcmsDB.

Fig. 23. Creating dynamic forms.
Dynamic forms can be configured to change their presentation (e.g. home page, breakdown of questions into sections, etc.) and their behavior (single or multiple submission, anonymous submissions, etc.). A dynamic form can be attached to a workflow to control its publication on the site. Once it reaches published status, the users can participate and enter their submissions. Finally, the plugin provides interfaces to consult and manage submissions and perform statistical analyses on the replies.

Fig. 24. Display of a dynamic form.
2.3 Task Management
The Tasks plugin provides a portlet used on users' Virtual Desktop to manage their tasks. It is designed to be very reactive and easy to use. Tasks are added by inputting them in the portlet; they can be indented and can be reorganized by a drag’n drop. Additional information (priority, due date, description) can be attached to each task. Users can place as many task lists as they need on their Virtual Desktop. All the tasks are stored in JcmsDB.

Fig. 25. Task Management Portlet
2.4 Directory Portlet
All earlier versions of JCMS provided a users directory which could be separate or coupled with the enterprise directory. Formerly this directory was only accessible in the back-office and was essentially intended for managing members.
The Directory Portlet now allows this directory to be used in the front-office. The user can search for people by name, firstname, company, and e-mail address. When Jalios ESN is installed, the search is extended to the user profile information: field of expertise, interests, training, career, etc. In collaborative spaces the Directory Portlet can be configured to manage only the members of this particular space.
The Directory Portlet allows two views depending on the usage context:
- Reduced view: display in a column or on the Virtual Desktop,
- Detailed view: a full-page display (e.g. in a collaborative space).

Fig. 26. Different views of the Directory Portlet.
2.5 Time Preview
The Time Preview plugin enables the content of a portal page to be seen as it will appear on a given date. This plugin places a new icon in the Menu Portlet icon bar which is used to call up a date/time interface above the portal page. Just choose a date and time then click the Preview button.
This plugin operates by exploiting content publication and expiry dates. It assumes that content under preparation will be validated on time on the programmed date. Therefore content items will become visible if their publication date is earlier than the chosen preview date, regardless of their current status in the workflow. Content items do not appear if their expiry date is later than the preview date. All content is replaced by its work copy if one exists.

Fig. 27. A preview using the Time Preview plugin.
2.6 Photo Library
The Photo Library plugin presents a set of content as small images: photos, videos, office documents, in fact any content type that can be viewed as an image.

Fig. 28. Photo Library display.
The plugin supports full-screen browsing and slide shows. Users can download images in certain resolutions and generate ZIP archives from a selected set of images.

Fig. 29. Browsing images in a Photo Library.
2.7 Microsoft Office
The Microsoft Office plugin brings a new way of working on documents. It is in fact an add-in for all MS-Office programs (Word, Excel, PowerPoint) that gives them direct access to documents on the JCMS server which can then be edited even off-line. This plugin is an alternative to WebDAV editing which is more suitable for short editing sessions and necessitates remaining connected.

Fig. 30. Uploading a new Office document.
The user can browse in the workspaces, categories and perform searches on the documents on the JCMS site.

Fig. 31. Browsing in workspaces and categories via the JCMS panel in MS Word.
When the user opens an existing document, it is locked and a copy is downloaded to the user's workstation. He can then work on this copy for as long as he likes, even in off-line mode. The locking guarantees that the document will not be modified by anyone else. An information tab shows all the document's metadata, which can be completed (title, abstract and categories). Once the Office document has been edited, the user logs onto the JCMS site and clicks "Upload" to update the document on the server then unlock it.
2.8 Thumbnail Generator
The Thumbnail Generator plugin uses an external program to generate a thumbnail image of a document's first page; it can handle PDF, video and audio files. It requires the installation of third-party software (e.g. ImageMagik, Ghostscript, ffmpeg, SoX,…). For office documents that do not have an integrated preview (e.g. Office 2003 format), a PDF conversion module is required.

Fig. 32. The Thumbnail Generator displays a thumbnail of a document's first page.
2.9 Kofax Capture (OCR)
The Kofax Capture plugin enables JCMS to be coupled with the Kofax Capture digitization and character recognition program which is used to digitize paper documents then read them semi-automatically and extract pertinent data. For example, is can digitize invoices then, based on a set of invoice models, extract the supplier's name and address, dates, amounts, etc. Once this processing is completed, Kofax Capture groups the digitized pages in a PDF file and produces a XML file containing the extracted data.
The JCMS Kofax Capture plugin then intervenes to incorporate the PDF document in JCMS and create a content item from the data in the XML file. Like all other JCMS content it can then receive rights, be included in a workflow, etc. The choice of content type and the mapping to be carried out for fields can be configured for simple case or by means of specific developments in others (via a DataController).

Fig. 33. The Kofax Capture plugin integrates in JCMS documents and data produced by Kofax Capture.
3. Upgraded plugins
3.1 Bookmarks Portlet
In addition to saving bookmarks on external sites or internal publications, the Bookmarks Portlet can now save searches using an "Add to my bookmarks" icon in the result list. The portlet can memorize all search types (textual, categories, types, dates, etc.) and refinements. It is possible to attach a name to a search; a specific icon then appears in the portlet for this bookmark type. This allows searches to be repeated later simply by clicking the appropriate search bookmark.

Fig. 34. The Bookmarks Portlet can now save searches.
3.2 Hierarchical Workspaces plugin
This plugin is intended for sites that need to manage a large number of workspaces. It modifies a few parts of JCMS, so it is closely tied to a particular JCMS release.
Version 4.0 of this plugin is compatible with JCMS 6.1. It provides a new interface more suitable for navigating in a multitude of workspaces: the cascaded menus scheme is replaced by a modal window with an auto-completing interface which shows a list of the last workspaces visited.

Fig. 35. New interface for navigating in hierarchical workspaces.
3.3 Technical updates
The following plugins have had technical upgrades to operate with JCMS 6.1:
4. Jalios ESN
Jalios ESN is the Jalios Enterprise Social Network product. Totally integrable into JCMS, it has four broad functions.
4.1 Profile management (who's who?)
Some information about the digital identity of network members is found in the enterprise directory, often the most-used service on the intranet. The directory is completed in a declarative manner by staff who add their fields of expertise, centers of interest, personal bookmarks, training and career path. In consistency with Jalios' usual approach, the profile structure can be easily configured to adapt to the specific needs of the enterprise: the information that can be shared over the network is fully controlled, taking into account the corporate culture, organization, goals and users. All profile information is held in JcmsDB, with the exception of fields of expertise which are stored in JStore.

Fig. 36. Jalios ESN - a member's profile.
4.2 Activity tracking (who's doing what?)
Users can see information about people's activities: publications, comments on content, membership of working groups and forums, and even regular activities such as Twitter-type micro-blogging. However, they see only the activities of their direct contacts, and all usage is subject to rights. For example, a member will be informed that someone has created or updated a document only if he is allowed to access this document. All activity tracking is stored in JcmsDB.

Fig. 37. Jalios ESN - tracking a user's activities.
4.3 Expertise management (who knows what?)
One reason for focusing an ESN on people is to make it easier to find experts to reply to questions or to accept missions. For this Jalios ESN makes use of category branches dedicated to skills management. An experts directory enables browsing and searching in these categories:

Fig. 38. Jalios ESN - an experts directory.
4.4 Relationship management (who knows who?)
When experts are identified by performing searches on their fields of expertise, people can contact them or get information about them through an intermediary thanks to common relationship indicators. One key feature of Jalios ESN is that it manages contacts with partners, customers or suppliers external to the company's social network. For example, employees can see who within their company has contacts with a particular partner or customer (who does not have access to the ESN). Jalios ESN can present such information in several ways: list, relationship cloud taking into account proximity, mapping, etc. To ensure speedy display the relationships graph is held in memory and persisted in JcmsDB.

Fig. 39. Jalios ESN - a relationship mapping.
4.5 Virtual Desktop
Jalios ESN provides several portlets destined for the Virtual Desktop and Collaborative Space plugins:
4.5.1 My Profile Portlet
This portlet feeds suggestions and contact invitations to the user. It also enables him to rapidly change his status.
4.5.2 Member Status Portlet
This portlet list all members belonging to the user's own network of contacts and displays for each of them their connection status, activity status (micro-blogging) and current calendar event (if there is one).
In a collaborative space the portlet can be refined to include only members of this space.
4.5.3 Member Activity Portlet
This portlet aggregates the activities of all the user's contacts. It gives an up-to-date display of the latest documents uploaded, latest contributions, new contacts added, etc.
In a collaborative space the portlet can be refined to include only members of this space.

Fig. 40. Jalios ESN: My Profile, Member Status and Member Activity portlets on a Virtual Desktop.