• Docuware.Gapi

    My company is looking to upgrade our DocuWare api code to Platform SDK 6.7. As far as any DocuWare SDK code we have on our systems, they only utilized DocuWare.Gapi assembly, which appears to be from DocuWare version 5.1.

    What do we need to be cognizant of when performing this code update?


    One more question: Any tradeoffs with using latest SDK version 7.0, although our server is still on 6.7?

  • Thanks again Joe. I have

    Thanks again Joe. I have successfully integrated the SDK client into our app!

    Some follow up questions:

    1. Do you have any recommendations on when to call ServiceConnect.Disconnect()?

    2. Are there any limits on how many service connections the servers can have open? We have ~5k clients that could potentially be using this feature.

  • Joe-


    Thanks to your help I have deliberated with our technical team and it sounds like we will take the recommended SDK route! We do have some concerns about the expressiveness of the query API and performance, however. Going back to your suggestion:

    I am not sure I completely understand the GUID part of the question, but it sounds like you are basically saying you want to do a search that pulls down documents by one of the indexed fields as well as a keyword in the fulltext (OCR'd) portion of the document.

    That can be done by simply doing a compund query -- you search both fields at the same time. 

    You are pretty much correct in your understanding, but ideally we would like to construct a function signature for the DocuWare SDK/ Server to handle such as:

    (listOfGuids, fullText) -> listOfGuids


    However, browsing the SDK docs, it looks like this may be the best we can do:

    public DocumentsQueryResult RunQuery(Dialog dialog)

       // NOTE: Test values.
        var businessGuids = new List<Guid>() { Guid.NewGuid(), Guid.NewGuid(), ..., Guid.NewGuid() };
        var fullText = "test";

        var firstQuery = new DialogExpression()
            Condition = new List<DialogExpressionCondition>()
                // QUESTION: What field name should we reference to tell DocuWare to
                // perform the full text search on the documents in the Create method?
                DialogExpressionCondition.Create("TEXTSHOT?", fullText)

        var filteredBusinessGuids = dialog.GetDocumentsResult(firstQuery)
                                          // QUESTION: How would we get this column value in DWDATA?

                                          // Our business Guid column lives in our FCAB base table as noted

                                         //  in the query earlier.
                                          .Where(i => businessGuids.Contains(i["BUSINESS_GUID"].Item as Guid))
                                          .Select(i => i["BUSINESS_GUID"].Item as Guid);

    Does this make sense? Please address the questions in the comments in the code if possible.

    Additional questions:

    1. Will the SDK features we need support DocuWare version:

    2. We have performance concerns because we are running a fulltext search on potentially thousands of documents and bringing them into memory, where we filter again based on our business-filtered Guids. Is there a better way to do this, e.g., passing the list of Guids along with the full text search parameter for the DocuWare server to process? (See the function signature as noted earlier)

  • Using the platform SDK and/

    1. Where may I find the URL Creator software? I could not find it online.

    2. What configuration would i have to enable at the administration level to utilize this full text feature this way?


    Thank you for your patience and help!

  • Joe-


    After revisiting the design, I have another question that may not pertain to URL integration anymore. The Docuware documents we store are linked to a business GUID we assign.

    We have another database that stores the business representation of the records that we filter on for non-Docuware related metadata, which produces a list of GUID results. I believe I'd like to filter, again, on that list of GUIDs in the Docuware database, but this time for any documents linked to that GUID that contain the fulltext search parameter.

    At a high level, the algorithm would:

    1. Search against our business data records to produce a list of GUID results matching the business search criteria.
    2. Send the GUIDs over to the Docuware database that presumably already maps those GUIDs to their related documents.
    3. Refine the list of GUIDs once more, but this time applying the fulltext search parameter.

    Does this make sense? I think this links into what you mentioned earlier about the TextShot. I am a little lost on that concept since I am new to Docuware.

    I am logged into one of our testing Docuware databases and I see a table named "FCAB_<foo>_TMW_TMW_PAGE" that has a column for TEXTSHOT. Would I utilize this in my logic somehow?

    To clarify, I am not asking for your solution to the algorithm, but for information on how I could utilize TEXTSHOT/ Docuware specific technologies to achieve this goal. Thanks!


  • I am not sure if we need text

    I am not sure if we need text shot. We need to supply a fulltext parameter and pull back the subset of images/ documents that contain the search text parameter, presumably using OCR.

    For more context, this is for an image search/ search results feature we are building.

    Apologies if this isn't clear, thanks again for the prompt reply!

  • Thanks for the detailed reply

    Thanks for the detailed reply!

    We have a Windows Forms application displaying the images from one of our remote DocuWare databases via forms WebBrowser component. It builds up a URI string for the browser to naviagate to, e.g.:


    I presume we would just append the FullText parameter we retrieve from user input to the URI? Is there more info on how I would do this?


    Thanks again!

  • FullText OCR

    We are looking to implement FullText (OCR) to search our images for matching text. We are using a .NET application. Where might I find API / technical documents to start me off on researching?