summaryrefslogtreecommitdiffabout
path: root/bin/kdepim/korganizer/howtoSYNC.txt
blob: d3046de8e135f43c28212ce409e848fa01e53a14 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
WARNING:
YOU MAY GET UNEXSPECTED (I.E. WRONG) SYNCHRONIZATION RESULTS, 
IF YOU CHANGE AN EVENT ON THE FIRST DEVICE AND SYNC IMMEDIATELY FROM
THE OTHER DEVICE WITH THIS DEVICE, IF THE CLOCKS OF THE TWO DEVICES
HAVE TOO MUCH DIFFERENCE.

In other words: Please make shure, that the clocks of the devices 
you want to sync have only a difference of some seconds!


CONTENT:

0) How syncing works
1) Qick overview of settings
2) Sync settings in sync dialog
3) Syncing background
4) Sync preferences
5) Details about sync profile kinds

*************************************************************************
0) How syncing works
*************************************************************************

Note:
The recommended and easiest way to syncronize two devices where 
KO/Pi or KA/Pi is installed, is the profile kind "Pi-Sync".
Details about that in 5) b).

In KDE-Pim/Pi you can synchronize ( sync ) your calendar/addressbook 
with another calendar/addressbook , by syncing  your 
(local) calendar/addressbook  with a (remote) file. 
This remote file may on your local filesystem
or on another (remote) device.

If you want to sync with another remote device, 
you have two create a sync profile.
You have two choices for choosing the profil kind:
I)  You have to choose profile kind "Remote file" and to specify a 
    command line download/upload command ( like scp, ftp, ...) to 
    a) download the remote file to your local machine to a temp file
    b) sync with this temp file
    c) upload the synced file to the remote device
II) If you want to sync with a device, where KO/Pi( or KA/Pi ) is
    installed, you can easily get the remote file via network 
    with the build in file transfer feature:
    Choose profile kind "Pi-Sync" and
    a) Start KO/Pi or KA/Pi on remote device and
       enable "Pi-Sync" on remote device with password and port.
    b) Specify password, port and IP address in your profile.


You can sync with your mobile phone as well.
Everything is explained in more details below.

NOTE:
If you do not use profile kind "Pi-Sync",
it is recommended to close 
a running KO/Pi ( or KA/Pi) on the remote device.
(Note: KO/Pi( or KA/Pi) running on Zaurus with 
FastLoad enabled will never be closed!)
After syncing with a running KO/Pi on the remote device,
a "save" on the remote device will tell you that it needs to merge (sync).
After merging (just a syncing with the changed file) 
you will get the new data showing in remote KO/Pi. 

*************************************************************************
1) Qick overview of settings
*************************************************************************

a) Open sync settings dialog (Menu Synchronize - Configure...)
b) Give your device a unique name.
   (unique in the set of all devices you want to sync with).
   If you have already configured another devive and created 
   there a sync profile to sync with this device, give your device
   the same name as this sync profile! The same name is important, 
   because it makes it possible to sync first A->B 
   (A local device, that performs the sync, B remote device) 
   and then B->A. Such that the B->A sync knows about the 
   already performed A->B sync.
   That means: It is unimportant if you sync A->B or B->A,
   the devices A and B will be synced properly. 
c) Create a new sync profile and give it a unique name.
   (unique in the set of all sync profiles on this device).
   If you want to sync with a device, where KO/Pi is already installed
   and which has a given unique device name, use this device name as
   your profile name ( refer to b) ).
d) Coose the profile kind of your syncing method:
      (i) Local file or
     (ii) Pi-Sync or
    (iii) Remote file or
   (iiii) Mobile Phone.
   Detailed explanation in 5) 
e) Choose the other profile options.
   Detailed explanation in 2) 
f) Close sync dialog with OK.
g) Sync.

NOTE:
AFTER SYNCING THERE ARE "SYNC EVENTS" CREATED 
(OR UPDATED, IF IT ALREADY EXITS) FOR EACH SYNC PROFILE.
YOU MAY NOT DELETE OR CHANGE THESE EVENTS. 

*************************************************************************
2) Sync settings in sync dialog
*************************************************************************

a) Local device name:
   -> 1) b)
b) Profile:
   -> 1) c)
c) Include in multiple sync:
   In the Synchronize menu, there is a multiple sync menu entry.
   If you choose this menu entry, all user defined profiles with this
   'Include in multiple sync' option enabled will be  synced 
   one after another. And this twice. This will take some time.
   After that sync, on all devices should be the same data.
d) Ask for preferences before sync:
   Check this to be asked for sync settings before each sync.
e) Sync preferences:
   Choose here your sync preferences.
   Details -> 4)
f) Show summary after sync:
   Check this to get a small summary dialog after sync 
   about number of added/changed/deleted events on local/remote.
g) Write back synced data:
   Uncheck this to update the local calendar only.
   I.e. your local calendar is synced with the remote calendar
   but nothing on the remote calendar is changed.
   If you uncheck "Write back synced data", the settings
   under h) and i) are ignored, of course.
h) --Write back (on remote) existing entries only:
   Check this to update the remote data only.
   I.e. no data from yor local calendar/addressbook is added to the
   remote device. You may use this option to 
   sync against some kind of "public calendar/addressbook" without 
   writing back your personal data.
i) --Write back (calendar) entries in future only:
   Check this to write back only calendar entries in future.
   (Useful when syncing with mobile phones.)
   You can specify the date range in weeks with
   ---- Max. weeks in future.
   Note: The date range starts always 7 days before the actual date!
   I.e. the calendar events of the last week are written back always.
j) Profile kind:
   Details -> 5)

*************************************************************************
3) Syncing background
*************************************************************************

The same mentioned for calendars is valid for addressbooks as well.

Synchronizing calendars ( i.e. files ) means, 
to merge two calendars in a useful way.
If the two calendars are completely different, 
there is no problem, the resulting calendar contains 
all data from the local and from the remote calendar.

Problems will occur, if you have edited items 
from the local calendar on the remote machine. 
Then it could be, that items are in conflict. 
Two items are "in conflict", if they have the 
same unique ID (which get an item at time of 
creation and owns it until it is deleted )
and they both are modified after the last 
synchronization.

At first sync of two calendars there is no item deleted. 
If the calendars are synced before and there is an item, 
which is not edited after the last sync and is only 
available in one calendar, then this item is deleted 
in this calendar.

But when was the last synchronization between two calendars?

To know that, KO/Pi creates at first syncing 
of two files an unique event "<profile name> - sync Event" 
on the remote and the local calendar. 
After syncing, the start time of this event is set 
to the time of syncing. 
The event is read only and the user may not change it.

If two such files are synced, that both have an event 
"<profile name> - sync Event" and the events have 
the same start time, then deleted items on the one calendar 
are deleted on the other as well.


*************************************************************************
4) Sync preferences
*************************************************************************

Two items are "in conflict", if they have the same unique ID 
and they both are  modified after the last synchronization.
(Details -> 3) ).

If an item is not modified after the last sync and 
it is not found in the other calendar, it is deleted.

On the first sync, there is no item deleted.

SYNC PREFERENCES:
 -Take local entry on conflict:
  Takes the local entry on conflict. 
  If it is the first sync, 
  "Ask for every entry" 
  is chosen automatically, 
  if this is selected.

 -Take remote entry on conflict:
  Takes the remote entry on conflict. 
  If it is the first sync, 
  "Ask for every entry" 
  is chosen automatically, 
  if this is selected.

 -Take newest entry on conflict:
  This takes the newest entry on conflict. 
  May be the most useful syncing mode.

 -Ask for every entry on conflict:
  Pops up an event viewer dialog and 
  shows the two conflicting entries there. 
  The user can chose, which entry he would like to take.
  The button for the newest entry 
  is automatically set as default button.
  The color for the newest entry is green.

 -Force: Take local entry always:
  Even if the calendars are already synced
  there is no item deleted on local. 

 -Force: Take remote entry always:
  Analogous to  
  "Force: Take local entry always"

*************************************************************************
5) Details about sync profile kinds
*************************************************************************

a) Local file
   Please specify a local file you want to sync with.

b) Pi-Sync (direct Kx/Pi to Kx/Pi sync)
   We mention here only KO/Pi, but the same is valid for KA/Pi.
   If you want to sync with a device, where KO/Pi is
   installed, you can easily get the remote file via network 
   with the build in file transfer feature "Pi-Sync":
   You have first to enable file transfer on the remote device:
   - Start KO/Pi on the remote device.
   - Choose Menu Synchronize-Enable Pi-Sync.
   - Choose a port number, where KO/Pi should listen for 
     file sending requests. Valid port numbers are numbers
     between 1 and 65565. Do not specify port numbers, that are
     used by other applications. A port number between 9000 and 9999
     is most likely not used by another application.
     The default port number is 9197 for KO/Pi.
     If you specify a port number, which is already in use,
     you will get an error message when closing this dialog.
   - Choose a password.
   - Click OK.
     Now KO/Pi will send the calendar data via the network, 
     if some other device is sending a "please send calendar"
     request on the given port using the given password.
     If you want to be sure, nobody can access your calendar
     data, simply disable the file transfer feature on the 
     remote device after the syncing is done by choosing:
     Menu Synchronize-Disable Pi-Sync.
    
   On your local device, create a new profile and choose
   profile kind "Pi-Sync".
   Fill in the needed values:
   - Password for remote access:
     The password you specified on the remote device.
   - Remote IP address:
     The IP address of the remote device.
   - Remote port number:
     The port number you specified on the remote device.
   
   Now you can syncronize your local device easily with your 
   remote device. This works well for all platforms KO/Pi is 
   running on, e.g. syncing a KO/Pi on Zaurus with KO/Pi on Windows
   is now very easy.  

c) Remote file
   Syncing with the profile kind "Remote file" is performed in three steps:
   i) download the remote file to your local machine to a temp file
   ii) sync with this temp file
   iii) upload the synced file to the remote device

   The down-/uploading if i) and iii) is done via a command line command.
   Please specify the download/upload command ( like scp, ftp, ...) and the
   file name of the temp file in the corresponding fields.  

d) Mobile device (cell phone)
   Note: On the Zaurus you have to install the kammu_xxx_arm.ipk package
         to be able to access mobile phones.
   We mention here only KO/Pi, but the same is valid for KA/Pi.
   Note:
   It is only possible to sync a mobile phone with one particular device
   running KO/Pi. If you want to be able to write data of more than one device
   to the mobile phone (e.g. from your Zaurus and from your Windows Laptop)
   do not sync with the mobile phone at all, but use the 
   "Export to phone" functionality from the different devices.
   Using "Export to phone" makes it not possible to get back data from the
   phone, if it was changed there, of course.
   If you sync with the phone, do not use "Export to phone" from any device.
   (And do not sync, as mentioned above, from any other device with that phone). 
   It would delete the needed information for syncing with that phone!

   We are using Gammu (Version: 0.98.9) ( http://freshmeat.net/projects/gammu/ ) 
   for accessing the phones. 
   Note: You cannot use the original Gammu for syncing KDE-Pim/Pi, because 
   we have modified the original version to make it useable for syncing!
   Gammu allows access to many phones in many ways (Irda, Bluetooth, serial,...).
   The recommended phone access using Gammu with KDE-Pim/Pi is Irda (infrared).
   Bluetooth access is disabled on the Zaurus, but may work on Windows.
   Please look at the Gammu homepage and documentation about more details 
   configuring Gammu how to access your phone.
   If you have problems accessing your phone, start KO/Pi from the konsole
   and you will get a more detailed output what went wrong.
   About Gammu from the Gammu homepage:
       Gammu (formerly known as MyGnokii2) is a cellular 
       manager for various mobile phones/modems. 
       It supports the Nokia 2100, 3100, 32xx, 33xx, 
       3410, 35xx, 51xx, 5210, 5510, 61xx, 62xx,
       63xx, 6510, 6610, 6800, 71xx, 7210, 7250, 
       7250i, 82xx, 83xx, 8910, 9110, 9210 
       and compatible and AT devices (Siemens, Alcatel, 
       Falcom, WaveCom, IPAQ, Samsung, SE, and others) 
       over cables/infrared/BlueTooth.
   
   Here is an example what to specify to access a Nokia 6310i via infrared:
   On Linux (Zaurus):
     I/O device: /dev/ircomm
     Connection: irda
     Model: <leave empty>
   
   On Windows:
     I/O device: <ignored - i.e. leave empty>
     Connection: irda
     Model: <leave empty>

   Here is the overview from the Gammu documentation, 
   how to specify the connection settings  for
     I/O device: 
     Connection: 
     Model:
 
   Note: The documentation uses the term "port", 
         where we use the term "I/O device".
   Note: You do not have to create/change the gammurc configuration file.
         That will do KO/Pi for you.  
   Note: For a known model, leave "Model:" always empty, 
         such that Gammu can auto detect the model.

# This is a sample ~/.gammurc file.
# In Unix/Linux  copy it into your home directory and name it .gammurc
#                or into /etc and name it gammurc
# In Win32       copy it into directory with Gammu.exe and name gammurc
# More about parameters later
# -----------------------------------------------------------------------------

[gammu]

port = com8:
#model = 6110
connection = fbusblue
#synchronizetime = yes
#logfile = gammulog
#logformat = textall
#use_locking = yes
#gammuloc = locfile
#startinfo = yes
#gammucoding = utf8

[gammu1]

port = com8:
#model = 6110
connection = fbusblue
#synchronizetime = yes
#logfile = gammulog
#logformat = textall
#use_locking = yes
#gammuloc = locfile
#startinfo = yes
#gammucoding = utf8

# -----------------------------------------------------------------------------
# Now info about "Connection" parameter and connected with it port type
# (more about port types later)
# -----------------------------------------------------------------------------
# "Connection" parameter | Port type | More details
# -----------------------|-----------|-----------------------------------------
# "fbus"                 | serial    | Nokia FBUS2
# "fbusirda"/"infrared"  | serial    | Nokia FBUS2 over direct infrared device
# "fbusdlr3"/"dlr3"      | serial    | Nokia FBUS2 with DLR3 cable
# "fbusdku5"             | dku5      | Nokia FBUS2 with DKU5 cable. WIN32 ONLY
# "fbuspl2303"           | usb       | Nokia FBUS2 with USB cable based on
#                        |           | PL2303 chip.
# "fbusblue"             | serial    | Nokia FBUS2 over Bluetooth serial device
# "phonetblue"           | serial    | Nokia PHONET FBUS over Bluetooth serial
#                        |           | device
# "mrouterblue"          | serial    |
# "mbus"                 | serial    | Nokia MBUS2
# "at19200"/"at115200"/..| serial    | AT commands.8 bits, None parity, 1 stop
#                        |           | bit, no flow control
# -----------------------|-----------|-----------------------------------------
# "irdaphonet"/"irda"    | irda      | Nokia PHONET FBUS over socket infrared
# "irdaat"               | irda      | AT commands with socket infrared
# "irdaobex"             | irda      | OBEX over socket infrared. MODEL "obex"
# -----------------------|-----------|-----------------------------------------
# "bluephonet"           | BT        | Nokia PHONET FBUS with Bluetooth stack
# "bluefbus"/"dlr3blue"  | BT        | Nokia FBUS2 with Bluetooth stack
# "blueat"/"atblue"      | BT        | AT commands with Bluetooth stack
# "blueobex"             | BT        | OBEX with Bluetooth. MODEL "obex"
#
# Now more about port types and connected with it "Port" parameter
# -----------------------------------------------------------------------------
# Port type | "Port" parameter in Windows/DOS | "Port" parameter in Linux/Unix
# ----------|---------------------------------|--------------------------------
# serial    | "com*:"                         | "/dev/ttyS*"
#           | (example "com1:")               | (example "/dev/ttyS1")
#           |                                 | or "/dev/tts/**" (with DevFS)
# ----------|---------------------------------|--------------------------------
# irda      | ignored (can be empty)          | "/dev/ircomm*"
# ----------|---------------------------------|--------------------------------
# BT        |                 Bluetooth device address
#           |                 (example "")
# ----------|---------------------------------|--------------------------------
# dku5      | ignored (can be empty)          | connection with it not possible
# ----------|---------------------------------|--------------------------------
# usb       | connection with it not possible | "/dev/ttyUSB*"
#
# Other config parameters
# -----------------------------------------------------------------------------
# Parameter name  | Description
# ----------------|------------------------------------------------------------
# Model           | use only, when Gammu doesn't recognize your phone model.
#                 | Put it here. Example values: "6110", "6150", "6210", "8210"
# SynchronizeTime | if you want to set time from computer to phone during
#                 | starting connection. Do not rather use this option when
#                 | when to reset phone during connection (in some phones need
#                 | to set time again after restart)
# GammuLoc        | name of localisation file
# StartInfo       | this option allow to set, that you want (setting "yes")
#                 | to see message on the phone screen or phone should enable
#                 | light for a moment during starting connection. Phone
#                 | WON'T beep during starting connection with this option.
# GammuCoding     | forces using specified codepage (in win32 - for example
#                 | "1250" will force CP1250) or UTF8 (in Linux - "utf8")
# ----------------|------------------------------------------------------------
# Logfile         | Use, when want to have logfile from communication.
# Logformat       | What debug info and format should be used:
#                 |   "nothing" - no debug level (default)
#                 |   "text"    - transmission dump in text format
#                 |   "textall" - all possible info in text format
#                 |   "errors"  - errors in text format
#                 |   "binary"  - transmission dump in binary format
# ----------------|------------------------------------------------------------
# Use_Locking     | under Unix/Linux use "yes", if want to lock used device
#                 | to prevent using it by other applications. In win32 ignored