|
Best of Support |
|
|
Saving dynamic Lists with multiple users |
|
Issue
To summarize the problem:
A List of parties assigned to an Amicus File is dynamically created before loading a Dialog, and saved in the Application directory. If two users are working on the same Application simultaneously, but on different Amicus Files, there is a chance that one user's active List could be overwritten by another user while the first user is still busy navigating the Dialog.
Solution:
There are two possible solutions:
Instead of giving the List a generic name, Andrew's solution is to dynamically name his List based on the Amicus short file name. Then in his Dialog, on the appropriate event script he dynamically maps the source of the List field to the correct name. The only down-side of this is that it results in a proliferation of Lists for each Amicus file, which could be avoided.
As an alternative, under the main Application you could create a single "Mapping" which points to a path unique to each user, under which users can store their own Lists (or any other GhostFill component).
To create an ad-hoc Mapping of this nature, in the Data tab in the GhostFill Explorer, right-click the required plug-in (in this case Lists), and select New Mapping. Give the Mapping a logical name, such as "Local", and then assign any path you like to this name.
If you do NOT want to use Profile variables in this path, you could use something like: "C:\GhostFill Data\My Lists".
As long as each user has this directory on their own local drive, all Lists dynamically saved to that mapping name will go to that path which is, in effect, unique to each user.
Better still, you can use PROFILE VARIABLES inside the path. So for example your path for the ad-hoc mapping could be something like "\\MyFileServer\GhostFill Data\<UserInItials>", where "UserInitials" is a loaded GhostFill Profile variable which of course will be different for each user.
Either way, when it comes to dynamically saving the List, your script will have something like %[List.SaveAs("Local", "Name")], and the mapping "Local" automatically points to a different location for each user.
Daniel Todes