Cmis connectivity to Documentum - alfresco

Is there any guidelines to connect to Documentum via Java code. My whole scenario is to copy files from Documentum to Alfresco 5.2 using Java code (need to copy all metadata too)

As you guessed, CMIS is the best way to do this.
Documentum implements CMIS relatively well, you will be able to extract data and metadata from all documents.
Alfresco implements CMIS greatly, you will be able to create the documents using the data and metadata from Documentum.
Obviously, your Java code will need to have a mapping telling it how to match metadata between the two servers.

Related

Azure CosmoDB Core (SQL) backup from external backup tool

Does anyone know how can I extract DocumentDB data to an external backup tool? I mean using dumps, ad-hoc tools or API.
One possible way for you to do this is to query your container to list all documents in your container and save them locally in json files. You could use any available Cosmos DB SDK to do so.
If you're looking for a tool to do that, may I request you to take a look at Cerebrata Cerulean (Disclosure: My company is behind this tool)? This tool has a feature to download documents from a container to the local computer. You can download all documents in a container or documents matching a query from a container using Cerulean.

Activiti use with CMIS

Can any one give me a simple exemple of how to use activiti workflow engin with CMIS (even a very small user task with activiti and how to use it in CMIS standard)
P.S :I'm working with alfresco
I'm not exactly sure what you are trying to do. The easiest way to use Activiti and CMIS together is to write a Java Delegate class that leverages Apache Chemistry OpenCMIS to work with Alfresco. You might do this if you want to have an Activiti business process that has one or more tasks that involve creating, accessing, or updating content in Alfresco (or any other CMIS repository).
Writing a Java Delegate class is really easy and using OpenCMIS is pretty easy too, so you should have no trouble putting them together.
Here is a video from Alfresco Summit that talks about Java Delegates:
https://www.youtube.com/watch?v=phju1Lru7kI
Here is a link to the Java Delegate documentation:
https://www.activiti.org/javadocs/index.html
And here is a site that documents a variety of CMIS examples:
https://chemistry.apache.org/docs/cmis-samples/

cmis or web scripts use?

I want to build a JavaEE GED application using alfresco and activiti Workflow engine which manages and monitors the mail of an organization (Letter, Fax, mail etc.). Since I am new with alfresco I want to know the best way to communicate with alfresco in my case : the use of CMIS or web scripts (I'm building a third-party application ) .
I can suggest two solutions using Using the REST API or CMIS with a library like Apache Chemistry
Apache Chemistry is very well documented and you can find good pointers on the official website for pretty much any thing you would want to do !
If you want to get a session from your Alfresco Repository for example follow this post : How to retrieve 'repository root' id/children from CMIS repository?
Alternatively, you can find a lot of resources around for interacting with alfresco using REST (either the new REST API, or old restful endpoints). Check the platform integrations portal from the official docs, it would be a very good starting point.

Alfresco: Get list of nodes with updated ACL/permission

I am exploring Alfresco Web scripts and CMIS API's, and looking for an API or some way to figure out the nodes whose ACL/permission is modified after some specified time/timestamp in Alfresco.
I am able to get nodes with modified metadata using CMIS QUERY API, but regarding only ACL/permission modification its not working.
For now, I am crawling all nodes and checking its modification date with respect to earlier/last crawl datetime. This doesn't seem to be a proper approach.
For more details, here is the link of query posted earlier on alfresco forum:Fetch the list of nodes whose permission is updated/modified
Could anyone please assist.
I have figured out the solution, using CMISChangeLog application, which need to be enabled on Alfresco server. Also, with the help of CMIS 1.1 Atom Api's, the CMIS change log query works fine on both the Alfresco version, 4.x and 5.x.

How to browse jackrabbit repository using spring-mvc

How do I browse a jackrabbit repository using a spring-mvc webapp?
How do I map incoming URL requests in the spring web controllers to nodes in the repository? I'd like the users to be able to open a word document in OpenOffice or Word by opening a URL like the following and save back to it via webdav.
http://localhost:8080/my-app/my-doc.doc
Thanks in advance for any ideas.
Éamonn
the Jackrabbit Repository and the associated JSR standard for Java Content Repositories alone provides a fairly low level persistency API, which you could probably use to build Repositories for Domain objects, mapping the data to repository structures such as JCR nodes/properties. You will use the JCR API located at the javax.jcr.* package to manipulate the repository (and for maximum portability). In a sentence, you can use Jackrabbit to replace your database.
A quick google search showed that there are indeed projects that aim to provide similar convenience wrappers to the ones you probably know and love for JDBC and Hibernate, only for JCRs. I found for example the Spring Modules project: http://java.net/projects/springmodules/ which was unfortunately last updated about two years ago, so it is still on JCR 1.0. For sample usage take a look at http://java.net/projects/springmodules/sources/svn/content/trunk/samples/jcr/src/org/springmodules/examples/jcr/JcrService.java?rev=2110
Still, you could probably write your own JCR2Template without a lot of effort, and encapsulate the repetitive tasks such as connection and exception handing by using the Template Method pattern.
So as for the request mapping, you can run the JCR on a separate server, just like you would with a relational database, and connect to it via RMI. Here's an example: http://dev.day.com/content/docs/en/crx/current/developing/accessing_jcr_connectors.html
I would consider this the "clean" way to use a JCR in Spring MVC applications.
As for the WebDAV saving part... I know Jackrabbit does indeed support the mounting of Repositories as WebDAV drives, but I don't really have any experience with it and I honestly can't imagine a way to tell Word to upload a file upon edit somewhere... But I am not a Word expert at all, sorry....
Now ... the Apache Sling Framework on the other hand provides an interesting approach to build RESTful applications, that integrate well with the repository model and some higher level abstractions of the Repository structure. The way Servlets are resolved in Sling, however is completely different from plain Spring MVC (see http://dev.day.com/content/ddc/blog/2008/07/cheatsheet/_jcr_content/par/download/file), so it would a bit of work to reconcile both approaches.
Hope there's some info in there you can use.
Cheers,
Johannes

Resources