Hello everyone!
Here's some background information about when we might release updates
for SyncEvolution. This isn't set in stone; think of it more like the
grand master plan that we strive for... and then change after impact
with the real world ;-)
Scheduling is driven by "release when ready" and "we want regular
updates at a deterministic point in time", so let's look at the feature
list first:
The high-level goals for 0.9.1 are:
* bug fixing, including string changes that we had to postpone in
0.9
* include message resend (merged, found problems in testing)
* revised backend API (merged, no regressions so far)
* mobical.net interoperability
* Memotoo interoperability (because of user demand)?
* stretch goal: revised D-Bus API
Message resending was merged, but then a thorough testing against
Funambol and ScheduleWorld showed that there is one particular case
where the sync hangs when a certain message reply gets lost. This looks
like a server bug. With the Synthesis server it works.
The high-level goals for 1.0 are:
* implement revised D-Bus API and architecture (support Genesis
GUI; syncevolution as D-Bus client)
* performance and reliability improvements (EDS API)
* minimal support in sync-ui for SyncML server mode
* stretch goal: implement the intended SyncML client design in
sync-ui (current one is lacking recovery features, progress spinner,
etc.)
* stretch goal: OBEX support for SyncML client and server
* SyncML server mode (peers to be decided)
In particular the last item has a huge tail of detailed testing work
associated with each peer. For 1.0, our goal has to be to get the
infrastructure in place and prove that it works with a few phones. We
probably could work this forever. At the same time we want to get
another stable release out the door so that we can ship the other
improvements.
The biggest unknown factor for 1.0 are the necessary changes in
libsynthesis. Lukas has reassured me that he has made good progress
towards those, but they have a business to run and therefore might have
more important work to deal with first. September 4th in the schedule
below is way too early - more realistic proposals welcome ;-}
With that in mind, here are some milestones that could get us towards 1.0,
with names attached to the major tasks and until when they need to be done
to stay on track:
* Jussi, Patrick, August 26: decide about D-Bus server-side
technology - done, let's use libdbus + gdbus + custom C++ binding
* Patrick, August 28: core server engine and complete C++ binding -
much of that is done.
* Jussi, August 28: D-Bus GUI API redefined, with feedback by others -
still a bit of work needed
* Patrick, Yongsheng, September 11: new D-Bus API implemented (must
work incrementally, so that Jussi can adapt the GUI in parallel)
* Synthesis, September 4 (?): SyncML server API discussed and usable
* Jussi + Patrick + Nick, September 9+10: face-to-face in London,
discuss design issues
* Congwu, September 4: EDS API enhancements + usage of those in
SyncEvolution backends - patches ready for review, Ross will do
that for EDS, Patrick for SyncEvolution
* Congwu, September 11: outgoing OBEX connections with transport
inside SyncEvolution
* Patrick, September 18: Synthesis server feature integrated into
SyncEvolution
* all, end of September: first alpha
* all, end of October: final release
We have to be aware that we have to leave enough gaps in the schedule
for unexpected problems or requests and the "optional" open issues (see
attachment). I consider some of these important that I don't want to
push them out forever:
* code cleanup
* revive SQLite demo backend and perhaps Mac OS X and Maemo
support (although I really hope that the later two will be
covered by external developers)
* split data transformation part out of libsynthesis
--
Best Regards, Patrick Ohly
The content of this message is my personal opinion only and although
I am an employee of Intel, the statements I make here in no way
represent Intel's position on the issue, nor am I authorized to speak
on behalf of Intel on this matter.
--- Begin Message ---
Hello!
Let me summarize what open tasks we currently have in SyncEvolution. I'm
intentionally including much more than what can possibly be covered by the
existing team, in the hope that new developers will step up and take on some of
these additional tasks. I'm using HTML formatting so that links are easier to
click. I'll go back to regular ASCII for other mail, I promise.
This is just an overview. Detailed specification and discussion of individual
tasks should happen in bugzilla.moblin.org, so that we can prioritize and track
them. Whenever there is already an entry, I added the issue number. If you are
interested in working on something, announce it here on the list. As soon as
you are actively working on it, also change the "assigned to" field in bugzilla.
"open" issues are considered essential for the release they are listed under.
"optional" means that we probably could release without them, although that
might not be desirable. "in progress" means that someone is already working on
it, with no help needed at the moment.
0.9
This is considered complete. Let's release it so that the Funambol-based 0.8.1
can be replaced.
Optional: support for Mac OS X and Maemo. Release 0.9 without binaries for
these platforms?!
For Mac OS X there isn't much choice: the code depends on the Funambol "VOCL"
vCard encoder/decoder, which is no longer available. Short of adding it again
(either the old GPL-licensed copy or the current AGPL one) there's nothing that
can be done in 0.9. It should be rewritten to access the Synthesis field list.
0.9.1
First maintenance release.
In progress:
* resend messages - ready for testing post 0.9
* interoperability mobical.net, zyb.com
* internal SyncSource API rewrite (stretching the definition of
"maintenance" a bit, but this is very easy to test - if it compiles, it should
work)
Optional:
* rewrite Mac OS X backend to use field list (depends on API rewrite)
1.0
First release with SyncML server and OBEX support.
In progress:
* incoming OBEX connections
* Synthesis SyncML server API
Open:
* outgoing OBEX connections
* database of URIs for each data category per vendor/device
* redesign and reimplement D-Bus API for GUIs
Optional (roughly sorted by importance and size):
* refactor libsynthesis into data conversion and SyncML parts (libvxx?!)
* automatic syncs: at regular intervals, when local data changes, when
server data changes (push!)
* #5046<http://bugzilla.moblin.org/show_bug.cgi?id=5046> raw file sync source
* #5047<http://bugzilla.moblin.org/show_bug.cgi?id=5047> ODBC sync source
* #5049<http://bugzilla.moblin.org/show_bug.cgi?id=5049> field list sync
source
* #5041<http://bugzilla.moblin.org/show_bug.cgi?id=5041> avoid use of
stdout/cout, route through our own logging code,
#5043<http://bugzilla.moblin.org/show_bug.cgi?id=5043> move command line into
D-Bus server
* #3479<file:///home/pohly/syncevolution/show_bug.cgi?id=3479> EDS: protect
against concurrent editing + revision handling (depends on API changes in EDS)
* #4611<file:///home/pohly/syncevolution/show_bug.cgi?id=4611> join/dejoin
different sources
* #2069<file:///home/pohly/syncevolution/show_bug.cgi?id=2069> Synthesis
error codes and explanation,
#4599<file:///home/pohly/syncevolution/show_bug.cgi?id=4599> Funambol:
"Addressbook:Error 418" shows up in sync ui after syncing an alike contact,
#4576<file:///home/pohly/syncevolution/show_bug.cgi?id=4576> Google: "Fatal dbs
error" when syncing data with google in "delete remote" mode
* #4815<file:///home/pohly/syncevolution/show_bug.cgi?id=4815> Outlook
meeting invitations: timezones
* #3472<file:///home/pohly/syncevolution/show_bug.cgi?id=3472> code cleanup
+ quality improvements +
#3476<file:///home/pohly/syncevolution/show_bug.cgi?id=3476> Klocwork
* #2427:<file:///home/pohly/syncevolution/show_bug.cgi?id=2427> attachments
in iCalendar 2.0 events/todo
* #4774<file:///home/pohly/syncevolution/show_bug.cgi?id=4774> verify a
server's conflict handling policy
*
#<file:///home/pohly/syncevolution/show_bug.cgi?id=2143>2143<file:///home/pohly/syncevolution/show_bug.cgi?id=2143>
service setting changes should be tested with server right away
* #2416<file:///home/pohly/syncevolution/show_bug.cgi?id=2416> intelligent
handling of unexpected slow syncs
* #2428<file:///home/pohly/syncevolution/show_bug.cgi?id=2428> allow aliases
for config options (user=username)
* #2429<file:///home/pohly/syncevolution/show_bug.cgi?id=2429> HTTP AUTH
* #2432<file:///home/pohly/syncevolution/show_bug.cgi?id=2432> rewrite
synccompare in C++
* #3311<file:///home/pohly/syncevolution/show_bug.cgi?id=3311> libsynthesis:
field list <-> XML conversion
* #3313<file:///home/pohly/syncevolution/show_bug.cgi?id=3313> push
notification: via email and IMAP IDLE (or XMMP)
* #3477<file:///home/pohly/syncevolution/show_bug.cgi?id=3477> local timezone
* #3604<file:///home/pohly/syncevolution/show_bug.cgi?id=3604> command line:
use keyring
* #2260<file:///home/pohly/syncevolution/show_bug.cgi?id=2260> need
interface to set useProxy or not
* #3471<file:///home/pohly/syncevolution/show_bug.cgi?id=3471> libsynthesis:
better configuration mechanism + debugging
* #3478<file:///home/pohly/syncevolution/show_bug.cgi?id=3478> additional
information about sync sessions
I have not included improvements to the current GTK GUI. There's plenty of work
left in that area. We rely solely on Jussi for that; I'm sure help in that area
would also be useful, although I'm less sure how to arrange that.
These are all changes related to core infrastructure. Those who don't want to
get involved that deeply can pick up more specialized tasks:
* interoperability testing with additional servers, in particular free (as
in: no dependency on third-party operator) ones: Horde, eGroupware
* adding additional backends: GPE and KDE have been asked for, also Mac OS
calendar sync
* wrap non-SyncML protocols or devices in a SyncML client: extracting data
via PBAP, BarrySync, IrMC, etc. and presenting it as a local data backend in
SyncEvolution would allow syncing of that data with SyncEvolution and other
SyncML servers. Depending on those other protocols it might even be done as
two-way sync.
* more platforms: I already mentioned Mac OS X. Windows anyone?
--
Best Regards, Patrick Ohly
The content of this message is my personal opinion only and although
I am an employee of Intel, the statements I make here in no way
represent Intel's position on the issue, nor am I authorized to speak
on behalf of Intel on this matter.
_______________________________________________
SyncEvolution mailing list
[email protected]
http://lists.syncevolution.org/listinfo/syncevolution
--- End Message ---
_______________________________________________
SyncEvolution mailing list
[email protected]
http://lists.syncevolution.org/listinfo/syncevolution