Workgroup Synchronization

Workgroup Synchronization
Commence Corporation
Workgroup Synchronization





Basics
Changes between 3.x and 4.0/2000/RM
Details of Synchronization
DATA.INI settings that affect
synchronization
Troubleshooting


General steps
Examples
The Basics

Commence keeps track of the changes



SYNCLOG.PIM lists all the changes in order
DATA.INI has pointers into synclog.pim that
say what has and has not synchronized.
Changes copied to files


SYNCLOG.PIM
DATA.INI
0001006b.UP
Example of a file name: 1st 4 digits are a seq.
Number, last are the Workgroup ID
Files are exchanged between the
Clients and Server



Shared LAN Directory
E-Mail
FTP Site
Typical Workgroup
Commence Server PC
Client C
Client A
Client B
Typical Workgroup
Commence Server PC
Client A
Client C
Client B
Changes are made to the client database on
Client A
Typical Workgroup
Commence Server PC
Client A
Client C
Client B
Changes are copied to the Server database
via synchronization files (packets)
Typical Workgroup
Commence Server PC
Client A
Client C
Client B
Server copies all changes it received and
communicates them to the other client
databases via synchronization files
Changes between 3.x and
4.0/2000/RM
Version 3.x
Version 4.0/2000/RM
 Pointer
 Pointer
into
SYNCLOG.PIM
maintained by ‘local’
 If
sync packet
lost/bad, data lost
 DATA.INI
to ‘local’
only refers
into
SYNCLOG.PIM
maintained by
‘remote’
 If sync packet
lost/bad, data will be
re-sent
 DATA.INI refers to
‘local’ and ‘remote’
DATA.INI

Commence 3.x

Backup#=<Name>;<WID>;<Local>
• <Name> - User ID the of the user associated with
the backup line.
• <WID> - Workgroup ID (in decimal), can be
determined by selecting Help-System InformationWorkgroup Information (in Hex). Each client has a
unique number.
• <Local> - A number. Represents a pointer into the
SYNCLOG.PIM file of the next change to
synchronize out. All numbers should be in the same
range.
DATA.INI

Commence 4.0/2000/RM

Backup#=<Name>;<WID>;<Local>;<Remote>;
<Status>
• <Name> - Same as 3.x.
• <WID> - Same as 3.x, except the number is
displayed in Hex.
• <Local> - A number. Represents a pointer into the
SYNCLOG.PIM file of the next change to
synchronize out. All numbers should be in the same
range.
DATA.INI

Commence 4.0/2000/RM

Backup#=<Name>;<WID>;<Local>;<Remote>;
<Status>
• <Remote> - A number. Represents a pointer into the
SYNCLOG.PIM file of the ‘remote’ of the next change
to synchronize out. It also represents the last
changes that the ‘local’ received successfully.
• <Status> - Current synchronization status, i.e.
sending a sync file or receiving one.
Client Synchronization - General
Sync interval occurs
at clilent
Sync Out Process
for Client
A
Sync In Process
for Client
B
More .DWN files
in WORKGRP or
Shared LAN dir?
no
Wait for next sync
interval
yes
Server Synchronization-General
Sync interval occurs
at server
Sync In Process
for Server
C
Sync Out Process
for Client
D
More .UP files in
WORKGRP or
shared LAN dir?
no
Wait for next sync
interval
yes
Packets synced
in < MaxPackets
(default=50)?
no
yes
Begin
A
no
Is <Local> < end
pointer to
synclog.pim?
yes, changes made
no
Copy files for empty
sync packet to TEMP
Client
Sync
Out
Process
A
yes
# changes >
MaxLogsPerSync
(default=16,000)?
Copy changes from
<Local> to end of
synclog.pim to TEMP
Copy MaxLogsPerSync
changes to TEMP,
starting w ith <Local>
Add <Remote>
number
Any errors
copying out
data?
Add # of last change
copied out <last>
yes
no
Compress files into
SYNCWORK.TMP in
WORKGRP directory
Delete TEMP files
Rename to .UP
Copy next in order in
WORKGRP dir to .TMP
in shared LAN dir
Rename .UP file in
WORKGRP directory
to .SER
Rename to .UP
Set Message Log
icon to RED
Any errors
copying the file?
no
yes
Put error into
Message Log
Disable syncing
Delete .UP file in
WORKGRP directory
User
Intervention:
Enable syncing
End
A
Begin
C
Any .UP files in
WORKGRP or
shared LAN dir?
yes
Copy file w ith low est
seq. # to WORKGRP
directory as .TMP
no
Rename to .UP
yes
Any errors
copying the file?
Server
Sync In
Process
C
Rename .UP file to
.ERR
no
Uncompress sync
packet to TEMP
yes
Changes
included in sync
packet?
Sync changes into
database
no
no
Any errors
syncing in data?
Modify data.ini:
-Replace <Local> in
backup line for client
w ith <Remote> from
sync packet
-Replace <Remote> in
backup line for client
w ith <last> from sync
packet
yes
Rename .UP to .ERR
Delete TEMP files
Put error into
Message Log
Delete TEMP files
Set ERROR to TRUE
Delete .UP file from
WORKGRP directory
End
C
Begin
D
yes
Is ERROR false?
yes, changes
made
Is <Local> < end
pointer to
synclog.pim?
no
Copy files for error
sync packet to TEMP
Server
Sync
Out
Process
D
no
Copy files for empty
sync packet to TEMP
Compress files into
SYNCWORK.TMP in
WORKGRP directory
Add <Remote>
number
Add # of last change
copied out <last>
Copy to .TMP in
shared LAN directory
yes
# changes >
MaxLogsPerSync
(default=1600)?
Copy changes from
<Local> to end of
synclog.pim to TEMP
Copy MaxLogsPerSync
changes to TEMP,
starting w ith <Local>
Any errors
copying out
data?
yes
no
Delete TEMP files
Rename to .DWN
Copy next in order in
WORKGRP dir to .TMP
in shared LAN dir
Rename .DWN file in
WORKGRP directory
to .SER
Rename to .DWN
Put error into
Message Log
Any errors
copying the file?
yes
Set ERROR to TRUE
no
Delete .DWN file in
WORKGRP directory
Clear ERROR
End
D
Begin
B
Any .DWN files in
WORKGRP or
shared LAN dir?
yes Copy file w ith low est
seq. # to WORKGRP
directory as .TMP
no
Rename to .DWN
Any errors
copying the file?
Client
Sync In
Process
B
yes
Rename .DWN file to
.ERR
no
Uncompress sync
packet to TEMP
Sync changes into
database
Error packet from
server?
yes
no
Any errors
syncing in data?
yes
no
Changes
included in sync
packet?
no
yes
Modify data.ini:
-Replace <Local> in
backup line for server
w ith <Remote> from
sync packet
-Replace <Remote> in
backup line for server
w ith <last> from sync
packet
Delete TEMP files
Delete .DWN file from
WORKGRP directory
Rename .DWN to
.ERR
Delete TEMP files
Put error into
Message Log/set
icon RED.
Disable syncing
User
intervention:
Enable syncing
End
B
DATA.INI Settings
The following settings affect workgroups
and workgroup synchronization:
[Other Options]
MessageLogUpdate=# (in sec. default=10)
MessageLogMin=# (in KB, when active.log
reaches max, it is truncated to this value)
MessageLogMax=# (in KB, the maximum the
active.log file can reach before truncating,
default=64)
DATA.INI Settings
[Workgroup]
Enable=# (possible values:
0 or blank
standalone database
1
remote database
2
base database
3
client database
4
server database
Note: Do NOT change these numbers
manually!)
Server=TRUE/FALSE
DATA.INI Settings
SharedDBID=# (The ID of the database. All
clients of this database must have the same
ID.
Note: Do NOT change this number
manually!)
NumEntries=# (The number of backup lines,
including the lines for remote databases.)
RemoteCount=# (The number of remote
databases)
DATA.INI Settings
MaxPackets=# (Only valid at server. The
maximum number of sync packets the server
will process in one sync interval. Default=50,
valid values=1-32,000. If set to 0, will not
synchronize.
SyncValid=list of valid backup line numbers.
(When a client is registered or removed, this
line is updated. Typically, this line is edited if
a SYNCLOG.PIM file is very large.)
DATA.INI Settings
Backup#=<Name>;<WID>;<Local>;<Remote>;
<Status>



Name and WID are the User ID and the
Workgroup ID of the user the backup line is for.
<Local> is the pointer into the local
SYNCLOG.PIM file. It points to the next change
that needs to synchronize out.
<Remote> is the pointer into the remote
SYNCLOG.PIM file. It points to the location where
the local database last successfully synced in.
DATA.INI Settings
Backup#=<Name>;<WID>;<Local>;<Remote>;
<Status>

<Status> a number that shows the current sync status.
• -1 An error occurred when converting from the 3.x
format to 4.0/2000/RM
• 0 Only used when convert from 3.x to 4.0/2000/RM
• 1 No activity.
• 2 Local is sending a sync file to the remote
• 3 Local is receiving a sync file from the remote
• 4 Local is waiting for a response from the remote
• 5 Local is reading/processing a sync file from the
remote
• 6 Local is writing a sync file for the remote
Syncing Tidbits

Server will only sync out in response to
a request from the client.
 The Server will NEVER accept a
complete sync from a client.
 Sync packets are created every sync
interval, even if no changes occurred.
Syncing Tidbits

Data/Definitions sync out/in a particular
order:

Sync In:
•
•
•
•
•
•
•
•
•
•
•
Administration Files
Categories
Items
Connection Definitions
Connection Data
Detail Forms
Color Codes
Letter Templates
Views
Desktops
Agents
Syncing Tidbits

Data/Definitions sync out/in a particular
order:

Sync Out (Complete):
•
•
•
•
•
•
•
•
•
•
•
Administration Files
Categories
Connection Definitions
Items
Connection Data
Detail Forms
Color Codes
Letter Templates
Views
Desktops
Agents
Syncing Tidbits

Data/Definitions sync out/in a particular
order:

Sync Out (Incremental):
•
•
•
•
•
•
•
•
•
•
•
Administration Files
Items
Connection Data
Categories
Connection Definitions
Detail Forms
Color Codes
Letter Templates
Views
Desktops
Agents
Troubleshooting
Basic Process:
1. Check the ATIVE.LOG or Message
Log for errors.
2. Make sure you are looking at the right
place. The Message Log may say the
error occurred at the server or at the
client.
3. Determine what process was occurring
when the error occurred (syncing
out/in at the client/server).
Troubleshooting
Basic Process:
4. If you can determine the process,
locate it on the flowchart. Any possible
errors here?
5. If still not sure, gather more
information by turning on trace
• /trace
• /trace=2 for full details
6. Recreate the problem and look at the
log file.
Troubleshooting
Basic Process:
7. Check the Technical Notes on
Admineng (TN4310) and Commence
Internal Status (TN3312) errors.
It’s a learning process.
Troubleshooting
Common problem:
Shrinking sync log file. (UINFO-WG-2345)
Solution:
Remove any unused clients, check and fix
data.ini.
Troublshooting
[Workgroup]
Enable=4
SyncValid=1 2 3 4
Backup1=user1;0X6501;34567;456;1
Backup2=user1;0X6601;0;0;1
Backup3=user1;0X6701;34500;234;1
Backup4=user1;0X6801;2000;100;1

Edit SyncValid= and remove 2, 4
Troubleshooting



CLIROLE.CPP: 207: 15.07.97: 19:16: Commence internal status
information - (ERR-DENG-2301)
CLIROLE.CPP: 959: 15.07.97: 19:16: Contact your
administrator: This client failed while syncing in from the server.
Check the Message Log for information about the problem.
Auto-syncing will be disabled until the problem is resolved.
(TECH-WG)
CLIROLE.CPP: 692: 15.07.97: 19:16: Contact your
administrator: This server failed while syncing out to the client.
Check the Message Log for information about the problem.
Auto-syncing will be disabled until the problem is resolved.
(TECH-WG)
These messages don’t mean anything without the
previous portions of the Message Log or
ACTIVE.LOG. They just say that there was some
problem.
Troubleshooting-Example 1
15.07.97: 19:16: Copying In Connection: Contact Log Created by
Employees (UINFO-WG)
15.07.97: 19:16: Leaving SyncInComplete. (UINFO-WG)
15.07.97: 19:16: Leaving SyncIn. (UINFO-WG)
15.07.97: 19:16: Auto-sync error: Unknown error. Please call Tech Support.
(UINFO-WG-2022)
CLIROLE.CPP: 959: 15.07.97: 19:16: Contact your administrator: This
client failed while syncing in from the server. Check the Message Log
for information about the problem. Auto-syncing will be disabled until
the problem is resolved. (TECH-WG)
CLIROLE.CPP: 608: 15.07.97: 19:16: Commence internal status
information - (ERR-DENG-2301)
CLIROLE.CPP: 692: 15.07.97: 19:16: Contact your administrator: This
client failed while syncing out to the server. Check the Message Log for
information about the problem. Auto-syncing will be disabled until the
problem is resolved. (TECH-WG)
CLIROLE.CPP: 207: 15.07.97: 19:16: Commence internal status
information - (ERR-DENG-2301)
Troubleshooting-Example 2
4/07/97: 10:24: Copying Out Connection Data: Help Desk Call Allocated To
Person (UINFO-WG)
vardata.c: 2094: 4/07/97: 10:27: Commence internal status information (ERR-DENG-2301)
4/07/97: 10:27: Leaving SyncOutComplete. (UINFO-WG)
4/07/97: 10:27: Auto-sync error: ÐgfgfZgfzgÇBüÿgzgzgÇBM (UINFO-WG2022)
4/07/97: 10:27: Compressing sync data. (UINFO-WG)
4/07/97: 10:27: Sending sync command. (UINFO-WG)
4/07/97: 10:27: Receiving sync data. (UINFO-WG)
4/07/97: 10:27: Entering SyncOut. (UINFO-WG)
4/07/97: 10:27: Leaving SyncOut. (UINFO-WG)
4/07/97: 10:27: Auto-sync out for: BG (UINFO-WG)

Result: Bad connection data.
Troubleshooting-Example 2
xfershar.c: 893: Copying Out Connection Data: Printing Job Has Status Print Job
Status (UINFO-WG)
xfershar.c: 893: Copying Out Connection Data: Help Desk Call Relates to Resource
(UINFO-WG)
vardata.c: 2094: Commence internal status information - (ERR-DENG-2301)
xferout2.c: 550: Commence internal status information (errorno=29) - (INT-DENG2019)
xferout2.c: 775: Bad return (INT-IMPORT-2261)
sync.c: 925: Commence internal status information - (INT-WG-2301)
sync.c: 970: Leaving SyncOutComplete. (UINFO-WG)
syncconn.c: 648: Auto-sync error: fRè?ìfÐgfgfZgfzgÇBüÿgzgzgÇBM (UINFO-WG2022)
syncconn.c: 649: SyncOut failed in ScanFiles. (INT-WG)
syncconn.c: 1511: Compressing sync data. (UINFO-WG)
syncconn.c: 1526: Sending sync command. (UINFO-WG)

Result: Bad connection data.
Troubleshooting-Example 3
asimp.c: 1582: 06/07/1997: 3:27PM: Record 1, Field 6 of file
C:\WINDOWS\TEMP\~SLX215A\CLS00002.DBF does not map to a field,
and Commence cannot continue importing. (TECH-IMPORT-2305)

Result: Category definitions are not the same.
Troubleshooting-Example 4
Copying Out Category: Person(UNINFO-WG)
Copying Out View: People (UINFO-WG)
Leaving SyncOut. (UINFO-WG)
Auto-Sync out for: Sue (UINFO-WG)
Compressing sync data (UNIFO-WG)
Sending sync data (UINFO-WG)
syncconn.c: 708: ADMINENG.DLL encountered an error: 25, 0, 0x73, 1424

Result: Syncing with removed user
Troubleshooting-Example 5
shar.c: 893: Copying Out Letter Template: Expenses (UINFO-WG)
s.c: 72: Commence internal status information (errorno=10) (INT-DENG2019)
s.c: 72: Commence internal status information (errorno=12) (INT-DENG2019)

Result: Problems with letter templates.
Troubleshooting-Example 6
syncconn.c: 1290: Compressing sync data (UINFO-WG)
syncconn.c: 1290: Sending sync data (UINFO-WG)
syncconn.c: 1962: ADMINENG.DLL encountered an error: 7, 16430, 0xBA,
1472, (000100ba.dwn). (ERR-WG-2339)

Result: Network permissions not properly set.
Troubleshooting-Example 7
syncconn.c: 1962: ADMINENG.DLL encountered an error: 32, 15, 0x3,
4562, (). (ERR-WG-2339)

Result: Problem logging into mail program.
Troubleshooting-Example 8
XFERSHAR.cpp: 1101: 6/10/97: 12:02PM: Copying In Category: Product
Service (UINFO-WG)
DISKIO.cpp: 987: 6/10/97: 12:02PM: Open: objects.piW, FH = 26 (PERFIO-2190)
DISKIO.cpp: 987: 6/10/97: 12:02PM: Open: thid.pim, FH = 26 (PERF-IO2190)
SYNCTHID.cpp: 423: 6/10/97: 12:02PM: Commence internal status
information (errorno=29) - (INT-DENG-2019)
SYNCTHID.cpp: 102: 6/10/97: 12:02PM: Commence internal status
information - (INT-WG-2301)

Result: Bad internal IDs. Must send data to
Technical Support.
Commence Corporation