Liferay Portal 6.1 introduced the ability to mount multiple repositories into the Documents and Media portlet (previously named the Document Library portlet). One of the protocols it uses to mount third-party repositories is CMIS 1.0. This knowledge base article will show how to add repositories to Liferay and what it's able to to do.
Resolution
Credentials
Most configurations are fairly straight forward. The first thing you need to know is credentials. In order to log into a CMIS repository, we need to basically pass the credentials you used in Liferay through to CMIS. So, you need to make sure to set your portal-ext.properties to allow Liferay to store your password in the session:
session.store.password=true
Next, you need to make sure that the means in which you login to Liferay is the same as for your repository. For most, this means that you need the same screenname. So, in portal-ext.properties, we have set:
company.security.auth.type=screenName
This can alternatively be configured in the control panel under Portal Settings > Authentication. Of course, what this means is that if one logs into Nuxeo, for example, using "joeblogs" and "secretpassword", then I have to login to Liferay with those same credentials as well. Most people would have some kind of an LDAP or something like this anyhow, so that should be fine. Without the same credentials, you will have a principal exception and your users will be complaining about why they can't see their data.
Mounting Your Repository
Now, startup your server and login as the administrator. In the Documents and Media control panel, you will see under the "Add" menu a selection to add a repository. After selecting that, you will be given a form that looks like you are adding a folder -- but instead, you are adding a new repository. Select your repository type. Most would use CMIS AtomPub, but we have provided CMIS WebServices as well. For CMIS, all of the entries are required with the exception of repositoryId. If you do not enter a repositoryId, then it will just look for the first repository using the given parameters and set it to that -- many systems only have one.
Supported Repositories
Liferay can connect to the following repositories. Note that repositories marked with (EE) are for Liferay Enterprise Edition only and requires deploying a hook to work.
- Alfresco repository
- Documentum repository (EE)
- Nuxeo repository
- SharePoint repository (EE)
Additional Information
When testing multiple repositories at once, instead of creating a new user for each of the repositories in Liferay Portal, create the user test test in each of the repositories. That way all you have to do is Sign In as test test in Liferay Portal to test all of the repositories at once.