[Bug 4631] New: Google: ORG data is not consistent after two-way/slow sync between seperately updated client and server
by bugzilla@moblin.org
http://bugzilla.moblin.org/show_bug.cgi?id=4631
Summary: Google: ORG data is not consistent after two-way/slow
sync between seperately updated client and server
Classification: Moblin Projects
Product: SyncEvolution
Version: upstream
Platform: Netbook
OS/Version: Moblin Linux
Status: NEW
Severity: normal
Priority: Undecided
Component: SyncEvolution
AssignedTo: patrick.ohly(a)intel.com
ReportedBy: guannan.ou(a)intel.com
QAContact: yanshuang.zheng(a)intel.com
CC: shuang.wan(a)intel.com, syncevolution(a)lists.intel.com,
congwu.chen(a)intel.com
---------------------------------
Summary
---------------------------------
ORG data is not consistent after two-way/slow sync between seperately updated
client and server.
---------------------------------
Reproduce Step
---------------------------------
<1> add one contact name: Jessy, Company “Intel”
<2> two-way sync
<3> modify local contact’s Company as “Intel(PRC)”
<4> modify google server contact’s Company as “Intel(US)”
<5> two-way sync again.
Company filed of contact “Jessy” is not consistent in client and server.
Result shows that in client, Company is still "Intel(PRC)", in server, Company
is still "Intel(US)".
Test the same step in Funambol, client updated contact information will replace
the corresponding server's contact.
------------------------
last sync outgoing data
------------------------
BEGIN:VCARD
VERSION:2.1
REV:20090722T142205Z
N:;Monday;;;
FN:Monday
X-EVOLUTION-FILE-AS:Monday
NICKNAME:
TITLE:
ORG:intelClient11;;;
ROLE:
TEL;CELL:33333333
TEL:111111111111111111111111111111
TEL;CELL:22222222
EMAIL:
URL:
X-MOZILLA-HTML:
ADR:;;;;;;
BDAY:
NOTE:
PHOTO:
END:VCARD
-------------------------
last sync incoming data
-------------------------
BEGIN:VCARD
VERSION:2.1
FN:Monday
N:;Monday;;;
TEL;CELL:33333333
TEL:111111111111111111111111111111
TEL;CELL:22222222
ORG:intelServer
ORG:intelClient11
TITLE:
NOTE:
ADR:;;;;;;
X-EVOLUTION-FILE-AS:Monday
NICKNAME:
ROLE:
URL:
X-MOZILLA-HTML:
BDAY:
END:VCARD
--
Configure bugmail: http://bugzilla.moblin.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching someone on the CC list of the bug.
12 years, 1 month
[Bug 7210] New: stable D-Bus API
by bugzilla@moblin.org
http://bugzilla.moblin.org/show_bug.cgi?id=7210
Summary: stable D-Bus API
Classification: Moblin Projects
Product: SyncEvolution
Version: upstream
Platform: Netbook
OS/Version: Moblin Linux
Status: ASSIGNED
Severity: normal
Priority: P1
Component: *Feature Request
AssignedTo: syncevolution(a)lists.intel.com
ReportedBy: patrick.ohly(a)intel.com
CC: syncevolution(a)lists.intel.com
Depends on: 3602,3603,5042,5043,6370,6376,6548,7134
Release Milestone: Undecided
The goals of the redesigned D-Bus API are:
* well documented and designed
* stable
* usable by multiple frontends at the same time
* support connect/disconnect of frontends and syncing in the background
* support incoming connections, for example from obexd
This issue is a meta issue tracking various aspects of this task.
We have automated testing of some parts of the new D-Bus API, but as always,
probably not enough. Most of the API will be exercised by
a) the sync UI
b) incoming OBEX connections
so covering that should go a long way towards covering the D-Bus API.
--
Configure bugmail: http://bugzilla.moblin.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching the assignee of the bug.
You are watching someone on the CC list of the bug.
12 years, 1 month
[Bug 5041] New: avoid use of stdout/cout, route through our own logging code
by bugzilla@moblin.org
http://bugzilla.moblin.org/show_bug.cgi?id=5041
Summary: avoid use of stdout/cout, route through our own
logging code
Classification: Moblin Projects
Product: SyncEvolution
Version: upstream
Platform: Generic
OS/Version: Other
Status: ASSIGNED
Severity: normal
Priority: P2
Component: * Feature Request
AssignedTo: syncevolution(a)lists.intel.com
ReportedBy: patrick.ohly(a)intel.com
CC: syncevolution(a)lists.intel.com
Usage of stdout and cout should be avoided. Currently the SyncEvolutionCmdline
class is still told to write into cout by syncevolution.cpp.
When compiling SyncEvolution .cpp code, any reference to stdout or cout should
trigger a compiler error (redefine the symbols?!). Some with printf, puts, etc.
Instead of cout, a custom stream which passes the data into our logging system
with a suitable tag that reproduces the output verbatim on the console and logs
it in the normal log should be used.
Running commands must redirect stdout of the processes and ideally keep
processing that output while the command runs (rules out simple system()
calls).
--
Configure bugmail: http://bugzilla.moblin.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching the assignee of the bug.
You are watching someone on the CC list of the bug.
12 years, 1 month
[Bug 5042] New: D-Bus API: send log output to clients
by bugzilla@moblin.org
http://bugzilla.moblin.org/show_bug.cgi?id=5042
Summary: D-Bus API: send log output to clients
Classification: Moblin Projects
Product: SyncEvolution
Version: upstream
Platform: Generic
OS/Version: Other
Status: ASSIGNED
Severity: major
Priority: P2
Component: * Feature Request
AssignedTo: syncevolution(a)lists.intel.com
ReportedBy: patrick.ohly(a)intel.com
CC: syncevolution(a)lists.intel.com
Depends on: 5041
Running the D-Bus server in a console is a useful debugging trick to see
problem reports that are not visible in the GUI. It should be possible to get
much of the same effect by adding a signal to the D-Bus API which broadcasts
the console part of the log to clients.
Clients then can either print it on their own console or present it in an
"advanced progress" area, much like APT GUIs show the output of aptitude.
However, in contrast to aptitude, the SyncEvolution logging is not meant to be
translated.
--
Configure bugmail: http://bugzilla.moblin.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching the assignee of the bug.
You are watching someone on the CC list of the bug.
12 years, 1 month
[Bug 5043] New: move command line into D-Bus server
by bugzilla@moblin.org
http://bugzilla.moblin.org/show_bug.cgi?id=5043
Summary: move command line into D-Bus server
Classification: Moblin Projects
Product: SyncEvolution
Version: upstream
Platform: Generic
OS/Version: Other
Status: ASSIGNED
Severity: normal
Priority: P2
Component: * Feature Request
AssignedTo: syncevolution(a)lists.intel.com
ReportedBy: patrick.ohly(a)intel.com
CC: syncevolution(a)lists.intel.com
Depends on: 5041,5042
With output redirection working (#5041) and logging sent to clients (#5042) it
should be fairly easy to just pass all of argv to a new D-Bus method and have
it processed as part of the syncevo-dbus-server. In that mode, syncevolution is
really just another client of the single instance which controls syncs.
Care has to be taken to properly serialize requests by syncevolution with
on-going operations.
A new command line option "--monitor" would be useful to connect to a running
sync session. "--status" without server config parameter could be used to query
whether there is any sync running.
--
Configure bugmail: http://bugzilla.moblin.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching the assignee of the bug.
You are watching someone on the CC list of the bug.
12 years, 1 month
[Bug 4815] New: Outlook meeting invitations: timezones
by bugzilla@moblin.org
http://bugzilla.moblin.org/show_bug.cgi?id=4815
Summary: Outlook meeting invitations: timezones
Classification: Moblin Projects
Product: SyncEvolution
Version: upstream
Platform: Generic
OS/Version: Other
Status: ASSIGNED
Severity: major
Priority: P1
Component: * Feature Request
AssignedTo: syncevolution(a)lists.intel.com
ReportedBy: patrick.ohly(a)intel.com
CC: syncevolution(a)lists.intel.com
This was originally found when syncing an Evolution calendar with a meeting
invitation created by Outlook with ScheduleWorld.
Outlook's VTIMEZONE definitions are nasty because the ID is not unique enough
to identify the location. Software that supports VTIMEZONE to evaluate the
times doesn't have a problem, as long as it handles different VTIMEZONE
definitions for the same ID correctly (Evolution had a bug around that).
Many servers, including ScheduleWorld and Funambol, have to map the VTIMEZONE
to some internal time zone database because they cannot use the original
definition, or because they need to send to a client which doesn't.
This mapping is fragile and unreliable if the ID doesn't follow the Olson
pseudo-standard and contains the location. In my case, "TZID:Pacific Standard
Time" was mapped to "America/Bogota", presumably because the GMT offsets kind
of matched. It then was displayed incorrectly.
A client shouldn't have to deal with these issues. But because we are now
working towards implementing a server, we need this kind of mapping code
ourselves and once we have it, might as well use it in our client. The goal is
that the client always uses Olson TZID strings when talking to a SyncML server.
That way we have that timezone matching code under our control and can tune
and/or fix it. Right now we depend on server developers to do it for us.
The Synthesis timezone handling code doesn't do that for us quite yet. It does
match based on Olson TZID if libical is found, so those TZIDs are covered. For
Outlook TZIDs it falls back to matching against an internal list, without using
Olson TZID strings for those if a match is found. We should change that so that
the list has TZID aliases with the Olson name and use those names when encoding
a VTIMEZONE. Not sure whether this change is acceptable upstream; need to
discuss and perhaps make it configurable.
If no match is found, then a temporary time zone definition is used, but it is
not preserved in the database unless the database stores VTIMEZONEs. In other
words, Evolution is fine, the ODBC backend is not. If we use the later in a
server, we need to fix this issue.
I can dig out the example, but we need more than one anyway. Ideally we need
examples for the whole range of Outlook and Exchange (they can be different!)
VTIMEZONE definitions, extend out test suite to cover the conversion, then work
on correctly identifying all these timezones.
--
Configure bugmail: http://bugzilla.moblin.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching the assignee of the bug.
You are watching someone on the CC list of the bug.
12 years, 1 month
[Bug 4611] New: join/dejoin different sources
by bugzilla@moblin.org
http://bugzilla.moblin.org/show_bug.cgi?id=4611
Summary: join/dejoin different sources
Classification: Moblin Projects
Product: SyncEvolution
Version: upstream
Platform: Generic
OS/Version: Other
Status: ASSIGNED
Severity: normal
Priority: P2
Component: * Feature Request
AssignedTo: syncevolution(a)lists.intel.com
ReportedBy: patrick.ohly(a)intel.com
CC: syncevolution(a)lists.intel.com
It is a very common complaint that SyncML in most installations only supports
one calendar, address book, task list, memo list per device. This is not a
limitation of the protocol, more like the lowest common denominator that is
typically supported.
Our own sync UI for Moblin follows the same model, although SyncEvolution
itself could handle more than one instance of each data category if the peer
did (evolutionSource config option).
For those cases where the peer doesn't, it would be nice if SyncEvolution could
join data from multiple databases if the peer supports only one database, then
when receiving updates back correctly sorted them into the the right database.
Here's a user giving more background information:
http://article.gmane.org/gmane.comp.mobile.funambol.user/11522
ScheduleWorld has such a feature for calendars, based on the CATEGORY property.
We could adapt a similar system and perhaps even make it so that n:n calendar
synchronization within the same sync session becomes possible.
Another use case for such a join/dejoin are devices which exchange events and
tasks via one single URI. For our direct-sync work we need to support that.
The Synthesis engine has the concept of a <superstore>: it automatically merges
and splits based on some configurable property. Currently this is used to put
VEVENT into one <datastore>, VTODO into another. Perhaps this can be configured
to use CATEGORY, too.
For joining items, make sure that a unique CATEGORY is set per database. For
receiving items or updates back, check for the presence of those categories and
store accordingly, with one database as default for new items which don't have
any of these categories.
--
Configure bugmail: http://bugzilla.moblin.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching the assignee of the bug.
You are watching someone on the CC list of the bug.
12 years, 1 month
[Bug 8264] New: improved logging via libsynthesis
by bugzilla@moblin.org
http://bugzilla.moblin.org/show_bug.cgi?id=8264
Summary: improved logging via libsynthesis
Classification: Moblin Projects
Product: SyncEvolution
Version: upstream
Platform: Netbook
OS/Version: Moblin Linux
Status: ASSIGNED
Severity: normal
Priority: P2
Component: *Feature Request
AssignedTo: syncevolution(a)lists.intel.com
ReportedBy: patrick.ohly(a)intel.com
CC: syncevolution(a)lists.intel.com
There is a tentative new libsynthesis API call which allows users to pass more
information into the logging:
/**
* @param aFile source file name from which log entry comes
* @param aLine source file line
* @param aFunction function name
* @param aDbgLevel same bit mask as in the internal TDebugLogger;
* currently DBG_HOT and DBG_ERROR are defined publicly
* @param aLinePrefix a short string to be displayed in front of each line;
* the advantage of passing this separately instead of
* making it a part of aText is that the logger might
* be able to insert the prefix more efficiently and/or
* (depending on the log format) with extra formatting
* @param aText the text to be printed, may consist of multiple lines;
* the log always starts a new line after the text,
regardless
* of how many newlines might be at the end of the text
*/
void SySyncDebugPuts(void* aCB,
cAppCharP aFile, int aLine, cAppCharP aFunction,
int aDbgLevel, cAppCharP aLinePrefix,
cAppCharP aText);
It is tentative because:
1. it has to be called directly instead of via the SDK function
tables, forcing users to link against libsynthesis
2. it's implementation and the underlying logging facilities in
libsynthesis are incomplete: file/line/function and prefix
are discarded
Because of 1, linking in SyncEvolution 1.x dev branch failed when enabling
shared libraries. This patch here solved this. It should be reverted once point
1 gets fixed:
diff --git a/configure-pre.in b/configure-pre.in
index 41f32ac..daf86c8 100644
--- a/configure-pre.in
+++ b/configure-pre.in
@@ -438,8 +438,12 @@ elif test "$enable_shared" = "no"; then
SYNTHESIS_ENGINE="$SYNTHESIS_LIBS -lsynthesis"
else
# link against SDK alone, except in client-test
- PKG_CHECK_MODULES(SYNTHESIS, "synthesis-sdk")
- SYNTHESIS_ENGINE="`echo $SYNTHESIS_LIBS | sed -e
's/-lsynthesisstubs/-lsynthesis/'`"
+ #PKG_CHECK_MODULES(SYNTHESIS, "synthesis-sdk")
+ #SYNTHESIS_ENGINE="`echo $SYNTHESIS_LIBS | sed -e
's/-lsynthesisstubs/-lsynthesis/'`"
+
+ # can't use the SDK alone because of sysync::SySyncDebugPuts()
+ PKG_CHECK_MODULES(SYNTHESIS, "synthesis")
+ SYNTHESIS_ENGINE="$SYNTHESIS_LIBS"
fi
if test $SYNTHESIS_SRC != "no-synthesis-source"; then
@@ -459,7 +463,11 @@ if test $SYNTHESIS_SRC != "no-synthesis-source"; then
case $SYNCML_ENGINES in both|client|server)
SYNTHESIS_LIBS="$SYNTHESIS_LIBS $SYNTHESIS_SUBDIR/s
AC_DEFINE(ENABLE_SYNCML_LINKED, 1, [SyncML engines are linked
directly])
else
- SYNTHESIS_LIBS="$SYNTHESIS_LIBS
$SYNTHESIS_SUBDIR/src/libsynthesisstubs.la"
+ # It would be nice if we could avoid linking against libsynthesis.la
here.
+ # This doesn't work at the moment because sysync::SySyncDebugPuts()
+ # is called directly by the libsynthesissdk instead of going through
+ # the normal C function pointer lookup.
+ SYNTHESIS_LIBS="$SYNTHESIS_LIBS $SYNTHESIS_SUBDIR/src/libsynthesis.la"
fi
SYNTHESIS_DEP=$SYNTHESIS_LIBS
Point 2 is more involved. We are using the HTML log format. A good
representation of the additional information must be found. Perhaps make it so
that the source information is shown in a box when moving the mouse over a
specific line?
The prefix could be inserted before each line so that it is visible.
--
Configure bugmail: http://bugzilla.moblin.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching the assignee of the bug.
You are watching someone on the CC list of the bug.
12 years, 1 month
[Bug 8091] New: dbus api: source local-support status not available in Server
by bugzilla@moblin.org
http://bugzilla.moblin.org/show_bug.cgi?id=8091
Summary: dbus api: source local-support status not available in
Server
Classification: Moblin Projects
Product: SyncEvolution
Version: upstream
Platform: Netbook
OS/Version: Moblin Linux
Status: NEW
Severity: normal
Priority: Undecided
Component: SyncEvolution
AssignedTo: patrick.ohly(a)intel.com
ReportedBy: jku(a)linux.intel.com
QAContact: yanshuang.zheng(a)intel.com
CC: syncevolution(a)lists.intel.com
It would be useful to be able to check if a source is locally supported without
having a Session: This way UIs can show a list of actually usable/used sources
even if there is a Session running when the UI is started.
We chatted about this briefly with Patrick, I think we agreed it is indeed
useful.
--
Configure bugmail: http://bugzilla.moblin.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching someone on the CC list of the bug.
12 years, 1 month
[Bug 8037] New: config error messages for shared properties
by bugzilla@moblin.org
http://bugzilla.moblin.org/show_bug.cgi?id=8037
Summary: config error messages for shared properties
Classification: Moblin Projects
Product: SyncEvolution
Version: upstream
Platform: Netbook
OS/Version: Moblin Linux
Status: ASSIGNED
Severity: minor
Priority: P3
Component: *Feature Request
AssignedTo: syncevolution(a)lists.intel.com
ReportedBy: patrick.ohly(a)intel.com
CC: syncevolution(a)lists.intel.com
Error messages for invalid properties contain the name of the config file in
which they would be stored:
- create config
- set invalid "sync" property via text editor (command line rejects invalid
values)
- syncevolution --print-config
=>
# requests a certain synchronization mode:
# two-way = only send/receive changes since last sync
# slow = exchange all items
# refresh-from-client = discard all remote items and replace with
# the items on the client
# refresh-from-server = discard all local items and replace with
# the items on the server
# one-way-from-client = transmit changes from client
# one-way-from-server = transmit changes from server
# none (or disabled) = synchronization disabled
[ERROR]
/home/pohly/.config/syncevolution/foobar/sources/addressbook/config.ini: sync =
invalid-sync-value: not one of the valid values (two-way, slow,
refresh-from-client = refresh-client, refresh-from-server = refresh-server =
refresh, one-way-from-client = one-way-client, one-way-from-server =
one-way-server = one-way, disabled = none)
After implementing the revised config handling (bug #7707), the file name is
always the name of the non-shared properties. If the wrong property was one of
the shared ones, the user would look into the wrong file.
Right now this cannot happen because none of the shared properties have invalid
values.
The fix for this is to change the ConfigNode::getName() API so that it is
passed a property name. Then MultiplexConfigNode can look up the right name in
the nodes that it accesses.
--
Configure bugmail: http://bugzilla.moblin.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching the assignee of the bug.
You are watching someone on the CC list of the bug.
12 years, 1 month