Publicado Thu, 07 Jan 2021 18:24:27 GMT por Joe Kaufman Bell Laboratories Inc Senior System Architect
Hey all,

I am trying to integrate DocuWare with a new ERP system, and the new ERP system allows for  parameterized URLs to be built and summoned via right-click menu options.

I can get everything working by hard-coding the file cabinet guid, and I can grab query criteria from the context of whatever form I am on in the ERP tool. But the "q" parameter in DocuWare URLs is followed by the query that has been Base-64 encoded. The URL creation area in the ERP tool does not have any functionality with regards to encoding any part of the URL.

Is there a way to pass the "q" parameter "in the clear", that is, without any encoding? Is there a setting on the server that would allow the query string to be passed in the clear? Without this I do not know how I am going to get this working...

Thanks,
Joe Kaufman
Publicado Fri, 08 Jan 2021 07:37:59 GMT por Fabian Kall - left 01.22
We have solved this using a webservice, because while being able to build an url from a template, our customer's ERP also wasn't able to base64 encode on the fly.

We have pointed the url template to the webservice instead.
The ERP is sending the parameters it has available to the webservice which in turn queries the DocuWare System for a result list of of documents meeting the parameter criteria. It then uses the URL Integration API to create the encoded URL.
Finally, the webservices answers the ERP System with an http redirect giving the encoded URL as a "new" address.

 
Publicado Fri, 08 Jan 2021 14:40:12 GMT por Joe Kaufman Bell Laboratories Inc Senior System Architect
Fabian,

Thanks for the response and the web service idea. We aren't exactly equipped to start writing web services, so I was hoping for a different answer. But it is what it is. 

I actually already have a WinForms application that I write little command-line snippets for, so perhaps I could use that to pass parameters to and generate a URL to execute on the client side. Same idea as a web service, just an application service. So, I appreciate you sparking the idea for that!

Thanks,
Joe Kaufman
Publicado Fri, 08 Jan 2021 17:44:29 GMT por Joe Kaufman Bell Laboratories Inc Senior System Architect
Fabian,

I really cannot thank you enough for triggering this idea -- we now have integration working via an application that serves up integration functionality via command line programs! I don't when (if ever) I would have had that idea if not for your web service comment!

Have a great weekend!

Thanks,
Joe Kaufman
Publicado Fri, 15 Jan 2021 09:35:34 GMT por Simon H. Hellmann Toshiba TGIS GmbH | IT-Consultant - Document Management Solutions

Hi Joe, 

sorry for the late reply, but actually it is possible to pass a search query without base64 encoding, i regularly use this to build urls in a "data assignment" step in workflow designer.

Here is an example:


https://[MyDocuWareServer]/DocuWare/Platform/WebClient/Client/Result?fc=[FileCabinetGUID]&q=%5BDOCUMENTNUMBER%5D%20%3D%20%22B%12345678%22%20AND%20%5BCOMPANY%5D%20%3D%20%22MyCompanyName%20GmbH%22&queryInInvariantCulture=false&sed=[searchDialogGUID]

This searches the fileCabinet for DOCUMENTNUMBER = "12345678" AND COMPANY = "MyCompanyName GmbH"

As you can see, the query is written in the same way as in a search dialog, you just need to escape the special characters.

Hope this helps. 

Greetings from Germany, 
Simon H. Hellmann
DocuWare System Consultant
 

Publicado Fri, 15 Jan 2021 15:48:27 GMT por Joe Kaufman Bell Laboratories Inc Senior System Architect
Simon,

Don't worry about the late response -- you came through! I got this working!

I had previously noticed that the final URL (that displays in the browser once the document comes up) shows the query "in the clear". But any time I tried to use that URL with an unfound document, it displayed a very nasty system message I did not want users to see that (and I assumed the URL just wasn't working right). But when I switched out "Document" in the URL for "Result" (like in your example), it works to display a nice screen whether a document is found or not. In other words, instead of going directly for the document, it went for the Result List.

And by utilizing displayOneDoc=True in the URL I can make the viewer appear immediately, which is ultimately what I want (this integration works with one document at a time).

This is a much more straightforward integration once one figures out the escaped characters in the URL. And it turns out our ERP system displays the DocuWare viewer right inside its own frame (it is pseudo-browser-based), so it looks much more seamless and doesn;t fire up a new browser tab for every viewed document.

Thanks so much!

Joe Kaufman

You must be signed in to post in this forum.