What's a conduit ?

Lot of Palm's software synchronize data with desktop. As you put information on your desktop or on your Palm, yours databases are always up to day.
How the synchronisation process ? It's the role of conduits : Synchronize desktop database with palm database.

A conduit is a library (.DLL) launch by HotSync.
When synchronisation is performing, Hotsync look for Palm applications which need synchronisation and launch all registered conduits.
Each conduit open his own desktop database and Palm database and synchronise themselves.

You could choose between :
- use a generic CPDBConduit
- develop your own conduit by downloading CDK (Conduit Development Kit) on PalmOs website.


Generic CPDB conduit

CPDB.net supplies a generic conduit which is able to convert standart PC database to CPDB format.

Generic conduit can :
- download databases already present on device.
- convert severals databases during one synchronisation.
- be register severals times to synchronise differents applications with differents scripts.
- launch your own EXE file before launch conversion (For example, updating your SET file).

For the moment, CPDBConduit can convert database in CSV format, but in few time, Excel, Access, FoxPro (Delphi database), HyperFile (WinDev database) will be supported.


What CPDB generic conduit is doing ?

When synchronisation performing, CPDB conduit :
- get username who perform synchronisation.
- get CreatorID attached with conduit (defined when you register conduit).
- make synchronisation directory if not exist (<Palm desktop directory>\<User name>\CPDBConduit\<Numeric value of CreatorID>\)
- open a script file named "SYNCHRO.DSC" in synchronisation directory (Example : C:\PROGRAM FILES\PALMDESKTOP\PHILIPPE\CPDBCONDUIT\123456789\SYNCHRO.DSC)
- read each line of the script file and launch EXE file attached.
- download if necessary database on device and create .GET
- launch your own program if necessary
- convert SET database to CPDB format on palm device.
- close script file.
- end synchronisation.

This script file is defines like this :

<Database name> TAB <Directory of file to convert> TAB <EXE File to launch>

Example :

customer     c:\project\data\     c:\project\set\Convert_Customer2SET.exe c:\project\data\
zipcode     c:\project\data\
city     c:\project\data\
bill     c:\project\data\     c:\project\set\Convert_Bill2SET.exe c:\project\data\


How to configure generic CPDB Conduit to convert desktop database ?

1.a : With ConduitSetup.exe, you can manually register, on HotSync conduits base, a generic CPDBConduit.

    

1.b : ConduitSetup can also be pilot by commandline :

/US
/FR
/ADD
/NEW=ABCD
English language
French language
Open ConduitSetup on "Add form"
Register CPDBConduit with CreatorID equal to 'ABCD'

Important :
When conduit is register, it will be launch by hotsync during synchronisation only if an application with the same CreatorID is installed on Palm device.


2. Control the correct registration of your conduit on Hotsync :

    


3. Launch synchronisation to generate synchronisation directory.
4. Write your description file, SYNCHRO.DSC file and copy it in synchronisation directory.
5. Format your SET Database and copy it in synchronisation directory.

Your conduit is now fully functionnal.


SET / GET Format

Generic CPDBConduit convert SET file to CPDB format.
CSV files uses separators to specify columns but all columns are string type.

With generic conduit, you can reserve first line of SET file to specify the type of each columns.



SET / GET structure :

<Column name> TAB <Column name> TAB <Column name> TAB etc ...
<Type>
TAB <Type> TAB <Type> TAB etc ...
Record1_1
TAB Record1_2 TAB Record1_3 TAB etc ...
Record2_1
TAB Record2_2 TAB Record2_3 TAB etc ...
Record3_1
TAB Record3_2 TAB Record3_3 TAB etc ...
Record4_1
TAB Record4_2 TAB Record4_3 TAB etc ...
...

SET / GET example :

FIRSTNAME
TYPESTRING=20

PATRICK
ANDREW
STEPHAN
DENISE
...

NAME
TYPESTRING=30
DONIS
BLACK
YELLOW
FORD
...
AGE
TYPE8
35
42
84
29
...

Supported types :

TYPESTRING, TYPE8, TYPE16, TYPE32 are type supported by this version of CPDB Package, but in few times, you could make TYPEDATE, TYPETIME, TYPEMEMO, and more new types.

TYPESTRING=xx
TYPE8
TYPE16
TYPE32

strings of xx characters
Numerix on 8 bits
Numerix on 16 bits
Numerix on 32 bits