PilotManager Home

The SyncMemo Conduit

Alan Harder

The SyncMemo conduit synchronizes text files between your workstation and your Pilot. The memos on your workstation are kept in a SyncMemo area on your filesystem with a directory for each Memo category. SyncMemo also lets you define scripts to perform data updates or other operations on your SyncMemo files.

In its simplest form SyncMemo just lets you keep the same memos on your Pilot and workstation and edit them on either side. However, with a little extra work SyncMemo can be used to keep up to date information on your Pilot so you always have it handy when needed. SyncMemo lets you specify an Update Script to run before updating the Pilot. This script can be used to update your memo files with new information. Then SyncMemo will copy the new info onto your Pilot. You can also specify an Update Script to run after new memos are retrieved from the Pilot. This script can use the files copied over from the Pilot and export them to other applications, create a report, do version control, etc.
Using an Update Script is just one way to update your memos. Changes made to the files in the SyncMemo area by any script or application will work. The script processes are explained in greater detail below.

Before you run SyncMemo you need to do the initial setup of your SyncMemo file area. The memo files can be stored anywhere on your filesystem. For example, you could create a Memos directory in your home directory:

	% mkdir ~/Memos
	% cd ~/Memos
Now you can create directories for your different memo categories such as Personal or Business. SyncMemo won't look for memo files in the Memos directory itself, but it will copy any file it finds inside any directories contained in this area. If the name of the directory turns out to not be a valid category name on your pilot, then SyncMemo will create a new category. If all 16 category names are already used, the memo will appear as Unfiled.
	% mkdir Business
	% cp ~/expenses.txt Business
Now on your next HotSync the file expenses.txt will be transferred as a business memo on your pilot. Note that SyncMemo doesn't care about or look at the filenames of your memo files. On the Pilot the first line of the memo will appear as the "title" in the memo list.
When copying memos from the Pilot to your file area SyncMemo will create new directories for categories that don't have a directory already. The next step is to configure the SyncMemo conduit. Bring up the PilotManager properties dialog, select the SyncMemo conduit and hit the Configure button. A window like this will appear:

Enter the full path to your SyncMemo file area in the Memo directory text box. You can also have SyncMemo check your files to make sure they are text files. Non-text files can be transferred to your pilot, but they will look like garbage in the memo pad. To have SyncMemo skip non-textfiles check the Only sync text files box.

By default SyncMemo keeps all memos on your Pilot and workstation. If you don't need copies of your Pilot memos on your workstation you can check the Only sync Files->Pilot box. Now SyncMemo will only check for changes in your SyncMemo file area and copy new information onto your Pilot as it becomes available.
When all memos are kept on both sides it is possible for you to make changes to the same memo on the Pilot and workstation. In this case SyncMemo will concatenate the two different versions of the memo and let you merge together changes later (by editing the Pilot memo or the text file). To conveniently handle these cases during the hotsync check the Use Filemerge box. If you have Sun WorkShop TeamWare's filemerge program in your path then SyncMemo will bring up this tool to merge changes during the hotsync. Then the merged version will be placed on the Pilot and workstation file. Click here to see a filemerge in action.

You can specify update scripts to run before and/or after synchronizing the memos between the Pilot and workstation. Specify the names of your scripts in the Pre or Post Update script text boxes. You can run your scripts right now by clicking the Run Script Now buttons. If you would like your scripts to run before/after every HotSync then click on the Run update script before/after sync checkboxes.
When a Post-Update Script is run during a hotsync it receives a list of files that were updated on its standard input.

The lower section of the configuration dialog shown above contains some Special Options. These options affect how the next hotsync will be performed. Subsequent hotsync's will return to normal operations.
The Reset SyncMemo option tells SyncMemo to load all memos from the pilot on the next sync and compare them to the files in your SyncMemo area, (ie to do a full sync, just like the first time your ran SyncMemo).
Use the Blow Away Pilot and Blow Away Files with extreme caution. These commands allow you to throw away the entire contents of one side (pilot or files) and replace them with the current contents of the other side (files or pilot). Once selected there is NO UNDO for these options, so be very sure you know what you're doing.
All three special options present an Are you sure? dialog before taking any action.

WARNING: SyncMemo keeps the connection to your pilot open while the update scripts are running. You don't want to waste too much power on your Pilot waiting so make sure your script doesn't take too long to run. If you have a long script you should run it outside of PilotManager or from the SyncMemo configuration dialog (see above) when the Pilot connection is not active. The Pilot connection is also open during filemerges if you use that feature.

Memo Update Script Example

Bonus tool! - PilotDrop

SourceForge.net Logo