syncevolution/src/syncevo/configs
Patrick Ohly 9db07a66a7 Nokia phones: avoid data loss in two-way sync due to X-EVOLUTION-UI-SLOT (MBC #2566)
Sending the X-EVOLUTION-UI-SLOT parameter to a Nokia phone when
updating an existing contact confuses the phone such that it drops the
phone number or email that had the parameter; the initial import was
okay. Reported for Nokia N81, E72, root-caused on a N97 mini.

Sending the X-EVOLUTION-UI-SLOT has very little value except when
talking to another SyncEvolution instance. All other SyncML peers
are expected to simply ignore the parameter, so there is no point
in sending it in the first place.

This is the solution implemented in this patch. A "rule" parameter
of the <parameter> element that defines X-EVOLUTION-UI-SLOT declares
that the parameter is to be ignored when parsing or generating vCards,
except when the peer is known to be SyncEvolution.

A remote peer is detected by the new 00_syncevolution.xml remote rule.
Locally, the parameter needs to be enabled when talking to Evolution
(evolution.xml) or to files which can also store the parameter
(all.xml). The later case is important for a SyncEvolution HTTP server
with file storage.

Running "./client-test Client::Sync::vcard30::testItems" against such
a SyncEvolution server confirmed that without all.xml, the
X-EVOLUTION-UI-SLOT got lost, which also confirms that the rule
mechanism works.
2010-09-08 13:44:55 +02:00
..
datatypes Nokia phones: avoid data loss in two-way sync due to X-EVOLUTION-UI-SLOT (MBC #2566) 2010-09-08 13:44:55 +02:00
debug XML config samples: split up into individual fragments 2010-02-02 15:34:22 +01:00
remoterules Nokia phones: avoid data loss in two-way sync due to X-EVOLUTION-UI-SLOT (MBC #2566) 2010-09-08 13:44:55 +02:00
scripting Cal + Mobical: apply the workaround only for Mobical (MB#10458) 2010-04-13 09:44:06 +02:00
Makefile.am autotools: some more fixes 2010-02-09 20:40:38 +01:00
README XML config samples: split up into individual fragments 2010-02-02 15:34:22 +01:00
syncevolution.xml XML config: use configuration composed from fragments (MB #7712) 2010-02-02 21:53:28 +01:00
update-samples.pl XML config: use configuration composed from fragments (MB #7712) 2010-02-02 21:53:28 +01:00

The sample configs contain common elements (datatypes, scripts, remote
rules, debug settings) which are maintained as separate files in the
corresponding directories. When modifying those common elements, run
"update-samples.pl" in this directory to update the sample configs.

The complete samples are under version control for several reasons:
1. avoid dependency on Perl unless common elements need to be updated
2. effect of changes on complete config show up in patches
3. the file layout and unshared parts (<client> and <server>) are
   determined by the sample configs

The naming of common elements determines the order in which they get
inserted. Files not ending in .xml are ignored. Elements that only
apply to a client or server are stored in the corresponding sub
directories, while the shared elements are in the
"debug/scripting/datatypes/remoterules".

It is a somewhat subjective choice which elements are stored in one
file and which ones are split up. The three elements of a datatype
definition (field list, profile, datatype) where split up because
there might be multiple different profiles using the same field list
and some users of these files might want to replace the default one.