###############################################
Cmis Connector Module
###############################################
Maintainer Contact
Marcus Nyeholt
<marcus (at) silverstripe (dot) com (dot) au>
Requirements
SilverStripe 3.1.x
External Content module
Alfresco > 3.0 (community or enterprise), KnowledgeTree
Documentation
Ensure that you have the external-content module installed.
Place the cmis-connector module in your SS root directory and run
/dev/build.
See http://doc.silverstripe.org/doku.php?id=module:alfresco-connector for
getting started with the connector module
Licensing
This connector is licensed under the BSD
Quick Usage Overview (with alfresco)
- Browse to http://localhost/external-content/admin and login
- Create a new CmisContentSource from the tree on the left menu. Set the
following field values:
name - Cmis Content
API Url - The top level URL of your Alfresco instance's webscript API. Typically
this is something like http://localhost:8080/alfresco/api/s (there's a publically
accessible Alfresco demo install at http://joomla.demo.alfresco.com/alfresco/s).
Username - The alfresco instance's username (the public demo system is 'demo')
Password - The alfresco instance's password (the public demo system is 'demo')
** Root Path - Leave as blank
- Once saved, you will need to reload the External Content page for content to
start coming through
Be aware that the username and password provided should be a generic 'read-only'
user of the system. Per-user access is on the TODO list.
== Accessing content on the frontend ==
- Navigate to the "Site Content" tab
- Create a new 'External Content Page' in your site tree
- Change the External Content Source value to the Cmis Content source created
earlier
- Save and view the page on the frontend; its url should look something like
http://path.to.silverstripe/extcon/view?ID=1 or similar
- You can also link to external content directly in the WYSIWYG content areas by
selecting "External Content" as the "Link To" option when the Insert Link toolbar
is displayed
== Importing content ==
- First, make sure you have an empty folder called "Incoming" created in the
"Files & Images" section
- Navigate back to the External Content section, and expand the "Cmis Content"
node created earlier.
- Navigate to a folder (eg Data Dictionary/Scripts) and click on its name, then
click on the Migrate tab.
- Select the "Incoming" folder, then click the "Include Selected Item in Migration"
option.
- Click the Migrate button down the bottom. An alert box will shortly appear when
the migrate is complete.
- Navigate to the "Files and Images" section and click the "Incoming" folder.
API
There is no specific API available for working with content from Cmis
as yet.
SeaMist
SeaMist is an early stage PHP library for working with CMIS repositories over
via Atom format. It is currently in its early infancy, but provides enough
functionality for the Cmis Connector module to work. Over time, it is hoped
that other SeaMistRepository implementations will be created that mean client
code can simply use the SeaMist library for interacting with CMIS repositories
(which will then mean that this Cmis Connector instead becomes a
CMIS connector).
See the 'SeaMistRepository' interface to see where the API is currently at;
further work will be done to flesh out this functionality over time, and
this library may be spun off into a separate project.
Troubleshooting
The main problems that arise with this module are to do with the connection
through to Alfresco. Make sure that
- The URL to connect to alfresco is correct, including the port and URL path
to the 'api' layer.
- The user and password entered is valid for being able to view the
Company Home space within Alfresco.
- The system you are trying to connect to is actually viewable from the server
that SilverStripe is running on. Test this by trying a command like
wget http://alfrescoserver:8080/alfresco/s/api/login?u=user&pw=pass
- Check your PHP error log for any additional information