This article explains the format that a URL must have so provides a java application, it's use format as well as the application's source code to create a URL that, when sent to the a browser, will cause downloading and opening of a document from within the DMS will be opened by DocIntegrate using the default handler for the document file type and, once . Once the document is closed again by the application used for editing, the modified document is again uploaded back to the DMS by DocIntegrate.
The java application is this:
View file | ||||
---|---|---|---|---|
|
The parameters for the application call are:
$nuxeoUrl
$username
$token
$pathInPatriciaWorkspace
To invoke the applet, cd into the directory where the above applet is stored and call the following command in a shell:
Code Block | ||
---|---|---|
| ||
java -jar di_url_generator.jar <nuxeoURL> <username> <token> <pathInPatriciaWorkspace> |
An example call is as follows:
Code Block | ||
---|---|---|
| ||
java -jar di_url_generator.jar localhost:8080 Administrator 01975403-ead4-42ba-8c48-da737beefe3d Documents/2/13483/EP/00/20170727154551-20151222220725-SIGN_ME.doc |
The source code for the above java application logic for generating the URL to open a document is as follows:
Code Block | ||
---|---|---|
| ||
package com.pi.docintegrate; import java.io.UnsupportedEncodingException; import org.apache.commons.codec.binary.Hex; public class Main { public static void main(String[] args) throws UnsupportedEncodingException { if (args.length < 4) { System.out.println("One of the parameters is not provided. " + "Please provide dms url, username, token and document path"); return; } String nuxeoServer = args[0]; String username = args[1]; String token = args[2]; String fullDocumentPath = args[3]; String targetPath = "n:\\Patricia" + fullDocumentPath.replace("/", "\\"); String targetPathHex = Hex.encodeHexString(targetPath.getBytes("UTF-8")); String adminPassHex = Hex.encodeHexString((username + ":" + token).getBytes("UTF-8")); String url = String.join("/", new String[]{ "pinuxeo:/", nuxeoServer, adminPassHex, "", targetPathHex}); System.out.println(url); } } |