Lantica Software Support Center
Lantica Software Home Page


Knowledgebase

Manage Changes to Your WordMerge Documents


From the Inside Sesame Help Desk

As you've pointed out in the past, MS Word does not allow multiple people to open the same merge document on different stations. We followed all the rules and we maintain a separate directory of master documents on the server. We always set them to merge with a file that resides in the C:\Sesame2\Docs folder. And we copy these files to all of the users C:\sesame2\docs folder about once a month. Therein lies the problem. Some of our users have gotten so good with the applications that they will make changes to a document and even save a copy back to the master folder. However, they don't tell anyone about it and their changes won't appear on the other users' computers until the next copy routine. This gets complicated by the fact that we can now get two different versions of the same letter printed from two different computers. Is there a way we can use our master documents or a way to automate our copy routine?
Betsy

Can you use the master documents? No, and you stated the reason - Microsoft Word won't let you. Can you better handle you copy routine and automate it so everyone always has the latest merge documents? Yes - you can do it every time a user opens the Sesame application, and very easily.

The secret is to use the ability Sesame has to program the Application. This means that when Sesame opens your application you have it run programming. And since Sesame can run Windows operating system commands via the @Shell() command, you can make it do things outside the Sesame program. In this case, we want to copy all the files that are on the server in the C:\Sesame2\docs folder (along with all subfolders) to the local user's computer every time he or she starts Sesame. Start by selecting Application / Application Property Manager from the Designer menu. In the Application Property Manager dialog, select Program Application.

The only Element you can program is Application and the only event is On-Application-Open. Place the following statement there:

var n as Int
 
// Copy The Docs from Server to Local Drives
// Substitute your server network name below
n = @Shell("xcopy \\ServerName\sesame2\docs C:\Sesame2\Docs /S /Y")

Make sure you substitute your server computer Network Share Name for ServerName. Also make sure that the server's Sesame2/Docs folder is shared and permissions set for read and write on the network. The /S and /Y switches in tell Xcopy to copy (S)ubdirectories and to say (Y)es to any overwrite confirmation prompt. Save the programming, Reconcile your design, and you now will be copying your master documents to each user every time they open the application.