Page 1 of 1

Readydoc merge, publish and distribute to attachments

Posted: Thu Mar 25, 2021 10:49 am
by cporter
Hi Bob,

I'm trying to write an automation code snippet that when triggered will go into a Readydoc Tree, navigate to a specific folder, grab all of the documents in that folder and then merge them into one .pdf to place in the order attachments folder.

I've been looking through the sdk but I've as of yet been unable to find the objects and interfaces I need. I was wondering if you could point me in the right direction?

1. Can I use the IDocumentTreeManager to access the document tree folder I need? And if so how do I find the GUID for the tree? Currently I've only been able to find the name for the tree.

2. Once I have the documents in the folder, how do I render them, merge them into one document and publish them to a .pdf? I haven't been able to find any interfaces or methods that specifically deal with rendering readydocs into documents. Do you know which namespaces I should be looking in?

If you could point me to a wsdl, some UML or any other information resources I can read through that would also be greatly appreciated (We're using version 4.3.6).

The conditions for triggering this automation code snippet are as follows:

Code: Select all

First time a task is added or updated
	and task status is 'Completed'
	and task name contains 'Title Exam'
Thanks for your help!

Re: Readydoc merge, publish and distribute to attachments

Posted: Thu Mar 25, 2021 2:36 pm
by BobRichards
While what you are asking for is possible using IronPython in an automation snippet, it is beyond the scope of this forum to provide this level of information regarding document generation. The development experience for this effort will be long and painful because of the lack of tools in this area. It is normally done in C# code in client or server packages where development is much more refined. I strongly encourage you not to go this route unless you are using resources that are not available from SoftPro.

Select uses many different document types and each has special capabilities. Examples of printing documents are available in the Integration Forum (C# language). The examples below are for Select 4.1 but this should not have changed. Be aware that SoftPro may create other document report formats in the future.

API example for docs/reports

Re: Readydoc merge, publish and distribute to attachments

Posted: Mon Mar 29, 2021 3:10 pm
by cporter
Is the major hurdle the lack of a development environment? Or are there methods that are available in C# server/client side that aren't available to automation code snippets?

I noticed in the examples you showed me that you are importing a namespace 'SoftPro.Documents.Client.Rendering', but this namespace doesn't exist in the SDK I have. Was it potentially moved/renamed in version 4.3.6? Or is the SDK I have wrong/incomplete? I see an IPrintJobFactory interface in the 'SoftPro.Select.Shell.Printing', which was the closest thing I could find.

How would I go about integrating this same automation functionality in C#? The team that came to us with this request wanted an automation code snippet, but if it would be better/easier to integrate this in a different way I'd like to explore that option. However my team has no experience with Softpro so I'm not sure how I would go about that.

Re: Readydoc merge, publish and distribute to attachments

Posted: Wed Mar 31, 2021 2:10 pm
by BobRichards
Automation Snippets were created to solve intermediate sized problems that could not be handled by Custom Order Rules and that do not need a full Client/Server package. They are not appropriate for this application (in my opinion) because the Snippet development environment is not a fully function IDE. It is far more minimalist to fit the original design concept. The development time for your effort will be dragged out because of the lack of breakpoints or ability to see variables.

Try to look again for the namespace in the SDK contents. These APIs where in Select starting in 2014. We have not dropped them.

Make sure your team has experience with IronPython before they begin work. It is a variant of Python that is required for crafting all Python in Select. It is different from other Python environments in that it functions as a bridge between Select APIs written with .NET and a straight-forward language for logic and looping.

If the team has no experience with SoftPro (or IronPython), perhaps you should contact our Custom Development Department to at least discuss SoftPro doing the work with Elliott Potts at "Elliott.Potts@softprocorp.com". The automation snippets are not the only source of this data and perhaps we can find a method that fits your requirements even better.