Veröffentlicht Thu, 03 May 2018 17:26:39 GMT von Steve Shriver Application Specialist

A user is trying to delete 2 document trays, both named Inbox, to remove a dependency on a File Cabinet so that it can be deleted. Is there a way to indentify the creator of the tray assuming the user that created it did not add the Administartor to the permissions or may have even left the organization?


Veröffentlicht Thu, 03 May 2018 19:10:03 GMT von Josef Zayats


check this thread out. The query Joe posted has answer to your problem - for an on-premise install

Veröffentlicht Thu, 03 May 2018 19:22:34 GMT von Joe Kaufman Bell Laboratories Inc No longer there


I had forgotten about that -- Grupo never replied, so I am not sure it met his needs (but it should...)  Hope iit helps, Steve!



Joe Kaufman

Veröffentlicht Fri, 04 May 2018 11:08:22 GMT von Steve Shriver Application Specialist

Thanks Josef for that info and Joe for all the work that went into that query. My DB is MySQL and unfortunately using that query as is throws syntax errors. I'm not an SQL expert so I have no idea yet what needs to be changed for my environment. I'll poke at it a little and see if I can make it work.

That said I would rather see DocuWare give us an admin option for this kind of situation. Of course the best way to solve this problem is to prevent it in the first place through permission administration. That takes away the user's ability to create a 'private' Tray or Cabinet however. Maybe DW could add Document Tray rights in the 'Show user rights' option in the admin tool. Then when deleting or disabling a user we could first check to see what dependencies exist. I'm just sayin'...

Veröffentlicht Fri, 04 May 2018 11:25:30 GMT von Joe Kaufman Bell Laboratories Inc No longer there


I expressed a similar dismay about Document Tray admin and the fact that the same names can be used over on this thread:

I understand why same-names are allowed, but it all still seems very confusing to me from an admin standpoint.

I am guessing MySQL doesn't have the same XML parsing built in, so the query I posted isn't going to work. But if you can parse from the query the names of the fields with the various properties, you can do simpler queries to pluck out the XML and then read through all those doing a search for the correct tag. It is going to be more manual, but it should be doable. I will take a look at the query when I have a chance...



Joe Kaufman

Veröffentlicht Fri, 04 May 2018 12:05:41 GMT von Joe Kaufman Bell Laboratories Inc No longer there

Here is a simplified query:


SELECT fcs.SetID AS ID, fcs.Name AS DocTray, AS FileCabinet, fcs.settings,
    FROM DWFCSettings fcs
    INNER JOIN DWFileCabinet fc ON fcs.settings.value('(/WebBasketSettings/@AssignedFileCabinetGuid)[1]', 'varchar(50)') = fc.Guid
    INNER JOIN DWFCSettingsToFCProfile fcsp ON fcs.setid = fcsp.setid
    INNER JOIN DWFCProfile fcp ON fcsp.fpid = fcp.fpid
    INNER JOIN DWFCProfileToRole fcpr ON fcsp.fpid = fcpr.fpid
    INNER JOIN DWRoles r ON fcpr.rid = r.rid


It still needs to parse the "settings" field, so still may not work in LySQL. But I don't know a way around it, as the link from tray to cabinet is buried in that XML field (which seems pretty silly). And you need to know the cabinet in order to get permissions, though I may be reading the data model incorrectly (and there might be another way).

In any case, I give a big +1 to needing better Document Tray administration and better control of names and permissions visibility. These dependencies can get you in a real bind, real fast.



Joe Kaufman

Sie müssen angemeldet sein um Beiträge in den Foren zu erstellen.