My favorites | Sign in
Project Home Issues Source
Project Information
Members
Links

What is it

The Confluence CMIS Plugin is an extension for the widely spread collaboration tool Atlassian Confluence which allows editors to embed informations coming from other repositories supporting the CMIS specification.


Why shall I use it

Wiki frameworks have introduced a very straight approach to knowledge-sharing; they (commonly) provide a very easy, simple and straight interface to fill contents in, avoiding complex templates and processes that can potentially discourage users to share their knowledge.

On the other hand, contents filled in a Wiki are not structured (in most cases) and lack (sometimes) an enterprisey support for documents, assets and structured content.

This specific use case needs an integrated solution which allow

  • Users to edit the contents in the way they prefer - typically the Wiki way
  • Assets/documents to be handled (not only stored) by ECM systems

The Confluence CMIS Plugin aims to fill this gap.


How it works

The Confluence CMIS Plugin provides a way to configure one or more CMIS Repositories as sources using the Confluence Administration Console; by using a predefined set of macros (see below) an editor can embed any content coming from the CMIS Repository.

The content rendered in the front page of a Confluence document is

  1. Requested by a Confluence macro (i.e. {cmis-doclink:id=workspace://whatever/123456})
  2. Intercepted by the CMIS Plugin which invokes the OpenCMIS client API
  3. Rendered as Wiki Markup language to the Confluence rendering engine
  4. Delivered to the end user as HTML

Each link that refers to CMIS Documents is proxied via a Java Servlet deployed on Confluence (and shipped with the plugin); if you want, for example, to render a link to a PDF file stored in your ECM (say http://localhost:8080/alfresco/service/cmis/s/workspace:SpacesStore/i/096a6cc4-9c03-4606-afe0-16278ca484f6/README.txt), you want the link to point to the Confluence server - since you can access to it - and not directly to the ECM system, which might be behind firewall (or you might access through a strict proxy); this is why the Confluence CMIS plugins will reroute the links for you (in this case - http://localhost:8085/confluence/plugins/servlet/CMISProxy/alfresco/service/cmis/s/workspace:SpacesStore/i/096a6cc4-9c03-4606-afe0-16278ca484f6/content.txt?servername=alfresco)

You can still avoid the usage of the ProxyServlet by using useproxy=no as a parameter of your macros; for more details, check our README.

Enough talking, let's see it in action!


Configure your plugin

Access the Configuration perspective from the Confluence Administration panel and define your connection with the CMIS Repository; as you can see, the Repository ID is optional and should be used only if you want to connect with a specific CMIS repository (in case of multiple) of the configured realm. The Search Configuration checkboxes define the default CMIS properties that must be rendered using the {cmis-search} macro.


Fetch a Document reference within the CMIS Server

By browsing your CMIS-enabled repository (in this example Alfresco 3.3 Community) we can easily fetch its reference (currently the id)


Edit your Confluence page

You can now use Confluence CMIS Macros to show the content previously located


Enjoy the result

This is the result; if you want to know more about features and syntax, checkout our README


Downloads and releases

You can find a nightly build release in the Downloads section. The nightly builds (SNAPSHOT) are provided by the Sourcesense Repository Manager; we're working to provide a full release (and a clearer roadmap) soon.


Dependencies

This project makes use of

  1. The standard Confluence Development Plugin Kit
  2. OpenCMIS 0.1-SNAPSHOT - we're waiting for their first official release in order to bundle the first official version of this plugin.

Testing

The plugin has been tested with

  • Confluence 3.2.1_01
  • Alfresco 3.3 Community (not tested with Enterprise yet, but expected to work the same of Community)
  • Maven 2.0.9+

You can run a quick test of the Plugin with the following simple commands

svn co http://confluence-cmis-plugin.googlecode.com/svn/trunk/ confluence-cmis-plugin
cd confluence-cmis-plugin && mvn clean test

The first time it might take a while to download Maven dependencies, but the testing phase goes smooth and doesn't need any CMIS Server or Confluence to be up and running locally (test is performed using cmis.alfresco.com which adheres with the CMIS 1.0 specs)


What's next

Checkout our TODO list and join our Discussion Group to get involved! We're looking for some feedback in order to establish a better roadmap, based on the mostly popular use cases.

Powered by Google Project Hosting