• .NET code

    Seth,

    In between you contacting me on LinkedIn and posting this, I figured it out!

    Here is sample C# code to post just store data to a file cabinet:

    =============================
    Organization org = <reference to your organization instance from the ServiceConnection>
    string cabID = lvFileCabinets.SelectedItems[0].SubItems[1].Text;
    FileCabinet fileCabinet = org.GetFileCabinetById(cabID);
    Document indexInfo = new Document();
    indexInfo.Fields = new List<DocumentIndexField>();
    indexInfo.Fields.Add(DocumentIndexField.Create("INDEXFIELD1", <index value>));
    indexInfo.Fields.Add(DocumentIndexField.Create("INDEXFIELD2", <index value>));
    Document uploadedDoc = fileCabinet.PostToDocumentsRelationForDocument(indexInfo);
    =============================

    The crucial method here is "PostToDocumentsRelationForDocument". That lets you post just index data and creates a data-onle document for you in the cabinet.

    You would need to take your CSV of XML file to load up the index info document, but that should be doable in C#, too.

    Good luck, hope this helps!

    Thanks,
    Joe Kaufman

  • Odd

    Jason,

    That is very odd, indeed... What modules do you have installed for DW? Either something changed from 6.11 to 6.12, or certain modules that are more dynamic (Workflow, perhaps?) keep a connection active even when a user isn't actually interacting with the page. 

    We have Task Manager, and so a little number displays above the "Lists" are on the main DocuWare web client page. I was thinking that number is dynamic, meaning the page can change due to activity elsewhere. But I just tested again, this time leaving DocuWare up in th ebrowser, and my license still timed out after 12 minutes. 

    BUT, the number of tasks in the list did not change during that time. Do you have something like Workflow, and is it active enough that little numeric indicators for tasks/lists are increasing? To put it another way, does every single thing on the page look the same as when you minimized it?

    This is totally all just a shot in the dark... I do not know why your licenses would not be timing out the same way as they do for me. I hope Phil has some insights. If we every had licenses stay stuck, we would be in trouble as well, as I keep our number of licenses pretty tight (just 20 concurrent).

     

    Thanks,

    Joe Kaufman

  • Phil,

    Phil,

    I see what you are saying, and I appreciate the clarification on new licensing!

     

    Thanks,

    Joe Kaufman

  • Phil,

    Phil,

    Jason states, "We just purchased additional licenses..." Unless by "just" he means a while ago, that means it is recent. When did the new licensing scheme go into effect?

    If he purchased new licenses, then they would have to be switched to a named scheme, no? So inactivity would not matter because concurrency would not matter.

    That's why I asked about the licensing scheme at the same time I addressed the inactivity issue.

     

    Thanks,

    Joe Kaufman

  • I thought new license

    I thought new license purchases meant being forced to version 6.12 where linceses are now named instead of concurrent? Is that not the case? Are we allowed to stay in 6.11 indefinitely and buy more concurrent licenses while we do so?

    Jason, I suggest you watch the license manager in the DW admin tool and watch as people time out -- even if they leave their browser windows open. No dormant web client connection will last more than 12 minutes or so (discussed on the other thread Phil links to...).

     

    Thanks,

    Joe Kaufman

  • Yannick,

    Yannick,

    The documentation could use a few more examples, incluidng use of wildcards, so it is easy to miss!

     

    Thanks,

    Joe Kaufman

  • Wildcard

    Yannick,

    I believe you can just add a wildcard character, the asterisk ("*"). I just did a query on an exact literal and got nothing, but then added a wildcard asterisk to the end of the search string and it got all the records starting with that text in that index field.

    I believe the rules are the same as those for URL Integration queries. From the comments of some of my Foxpro code, here are examples:

    ======================================================================
    REMEMBER! Field names in queries are case sensitive! Field names (in the database) are usually ALL CAPS.
    The actual database field name of a field can be viewed in the DocuWare Administration desktop application.
    Queries place field name in square brackets and the value on double-quotes. Though, for numeric fields, 
    the quotes appear to be optional. operators can have whitespace around them. Here are example query expressions:

    [DWDOCID]=123                    && This will query by the internal DocuWare document ID.
    [CUST_NO] = "WA60"                && This will query the field "CUST_NO", trying to exactly match "WA60".
    [LASTNAME] LIKE "K*"                && Wildcard search (note use of "*" instead of "%" for wildcard character).
    [SHIPTO_STATE] = EMPTY()            && Queries SHIPTO_STATE for empty values ("EMPTY()" must be uppercase).
    [BILLTO_STATE] = NOTEMPTY()            && Queries BILLTO_STATE for non-empty values ("NONEMPTY()" must be uppercase).
    [DocuWareFulltext] = "find this string"        && Full-text search.
    [DWSTOREDATETIME] > 2017-06-14 19:45:31        && Date/time expression *** CONVERT TO UTC *** 
    [START_DATE] >= 2016-06-01 AND [START_DATE] <= 2016-08-01    && Boolean conditional, checking date field over a date range, inclusively.

    Expressions can be joined by AND or OR and can be qualified with NOT. Delmiters around string values MUST be double-quotes.
    Also, the conditional statements and compound keywords (e.g. LIKE, AND, OR, etc.) need to be capitalized as well.
    If multiple documents are found, a result list is displayed in the browser. If only one document matches
    the search, it is directly displayed.
    *** SPECIAL NOTE WHEN USING DATE/TIME FIELDS ***  Date/time fields are stored in DocuWare as UTC timestamps.
    While queries in the web client or Platform SDK allow the use of local date/time formats, URL Integration queries
    appear to use the date/times passed in as-is and compare against the stored UTC timestamps. So, if you are using
    date/time fields in your query, the date/time values need to be convertwed to UTC to get accurate results.
    ======================================================================

    When doing queries with the Platform SDK you don't need the square bracket syntax, of course. I verified that EMPTY() and NOTEMPTY() work as well, just remember to include the parentheses in the search value.

    Also, I believe you can only choose AND or OR as the operator for all terms in your search -- they cannot be a mix of ANDs and ORs, and there are no parenthetical ways of forming more complex search terms. Though, the Platform SDK supports ranges more elegantly, so the limitation of not mixing ANDs and ORs is generally not an issue (or at least hasn't been for us in this regard).

    Thanks,
    Joe Kaufman
     

  • I sent you an invite on

    I sent you an invite on LinkedIn with my work email address in it. Drop me a line and I will send the documentation back to you!

     

    Thanks,

    Joe Kaufman

  • Fortis documentation

    Seth,

    I have the Fortis documentation, and there are some methods that add documents -- not sure how to use them, and our Fortis server is no longer up.

    But if I can get the document to you it might help. I see a Seth Jaco on LinkedIn, and it is a distinctive name -- are you in the Tennessee area? I could message you there and we could exchange emails so I can get you the document...

    Thanks,

    Joe Kaufman

  • Fortis

    Seth,

    Oh, sorry, this is Fortis... Well, Fortis uses COM automation. I used to have a document around here about all that (and have tons of Foxpro code), but I think you can upload files using the COM automation (but I believe I have only downloaded).

    Shouldn't this client be upgrading by year end?

    I will see if I can find that old COM handbook and then see if I can figure out how to contact you offline...

     

    Thanks,

    Joe Kaufman