Sync Kolab Changelog

synckolab 1.0.0

* Added prefer-mail-format to contacts (XML Format)
* contact now displays displayname if no name/surname is given
* calendar now correctly writes/reads sync db file (speedup)
* calendar finally syncs correctly (bad error in database file)
* added seamonkey to the installable targets
* mail format changes recognized
* successfully tested calendar sync with thunderbird 3.0a1
* added seamonkey target application
* hu-HU translation added
* added possibility to use -1 as sync time to sync ALL entries
* fixed #1801: multiple attached cards/xmls are now handled correctly
* fixed Problems with newlines on parsers (two newlines made the parser cut off the xml)
* fixed a problem that sometimes prevented multipart messages from being parsed as xml correctly
* base64 errors fixed (if the =NUM was in the text it was accidently used as base64)
* added option to specify debug level (default:warning - set to DEBUG if you got a problem)
* added French translation

synckolab 0.6.0

* renamed global variables to remove side effect with other extensions
* added check for the "imap-deleted" flag
* huge speed increase by using hashmap instead of array for internal calendar/contact database (about 500 entries/minute)
* reduced cpu usage and removed deadlocks (also due to hashmaps)
* changed flags for temporaray files (now use 0600 instead of 0666) so they arent world readable
* added priority flag for todo/agenda
* fixed little bug that prevented additional info files to be written correctly
* fixed location for cache folder (might result in a longer wait for first sync - again)
* fixed delete
* prepared code for 3.0a
* fixed problems with calendar sync

synckolab 0.5.3

* added selection for default behaviour when a conflict has been found (ask/server/client) (fixed #17820)
* fixed deleting of configurations
* added autoscroll for the status window (uwse the pause button to scroll up)
* fixed bug in fixUpName that prevented calendar selection (fixed #17980)
* added fix for multiple calendars as suggested by andreas
* fixed problem with "completed" field when syncing tasks
* rewrote parts of the calendar sync (now setting fields the way lightning does)
* added option to set a timeframe for sync (this way old messages will be ignored) - only task and calendar
* added loads of debug messages to help tracking problems
* added timing to debug messages in order to help tackle performance problems
* fixed various issues in the create dialog also save and restore problems fixed
* fixed a problem when handling boundaries (now correctly checks for " and doesnt take it for granted)
* fixed problem with calendar parsing (invalid recurrence tag)
* fixed #18344 (birthday not included in compare with contacts)
* fixed problems when creating a new profile
* re-added human readable message - with notice information about incompatible clients

synckolab 0.5.2

* when informaiton window is hidden the status bar holds the sync status
* added an option to hide the information window on autosync
* fixed problem with all-day calendar entries
* fixed problem with task config
* fixed comparation problem with adressbook
* fixed problem with certain charaters in xml-format (<>&) not being correctly decoded
* fixed problem with space in folderpath preventing write on imap
* fixed problem with -, #, [, ] and . in confignames (not allowed any more)
* fixed checking for calendar and wizard
* included code to make sure all messages are downloaded (retested and working)
* applied the fix for duplicate entries on full-day events in calendar
* fixed problem with toltec messages (out of memory error)
* updated japanese language properties
* fixed weird behaviour after sync (for good :P)
* enabled todo for sync
* changed behaviour back to kolab message: if you sync with more than one client this message might get obsolete if not changed with the content
* fixed task behaviour (was a bug with the new caching)
* added export/import of configuration
* fixed parsing for attachments (now vcard/icals will be found too)
* added Czech translation
* added fix for names of calendars

synckolab 0.4.34

* fixed weird behaviour after sync bug (hopefully)
* added local database reading for unchanged messages (used messagesize+date as keys) for major speed increase
* added code to mark all new messages as unread
* fixed mime setting for vcards
* added xml fixes in contact-parsing
* added menuitems in tools for options and start (you dont need to add the icon any more)
* added stringbundles for translation
* loads of translation (german/english)
* completely revamped configuration - should be easier to understand now
* removed splitting of configs
* implemented a fix for the "account '' not found"- problem
* added autosync capability
* changed complete debug behaviour (see synckolab.js)
* syncing of lists implemented
* more description in option dialog
* updated version support up to and including 3.0a
* added task support (configuration only for now)
* all control elements are disabled now on pages which do not sync
* added wizard for new configurations
* loads of little bugs fixed
* fixed base64 encoder (tested with toltec message)
* added italian translation
* added japanese translation
* fixed bugs:
        #16902: added fixing of xml-characters when writing/reading
        #16903: fixed isAllDay error when writing xml
        #16910: fixed permission settings of new folders for linux
        #16901: added syncing of custom1-3 fields in xml format (has to be tested with other clients)

synckolab 0.4.33

* fixed bugs:
     # 16848: now a window pops up asking you if it should "force"
         updates locally/on server if no entries have been found on the other
         side (this way you wont EVER loose all your entries unless you say no)
     # 16847: Included a human readable message in multipart kolab-xml
         messages
     # 16844: added parsing checks/encodings with special chars like &
         and </> in XML format
     # 16839: made sure colon is parsed correctly in vcard format
     # 16766: workaround for possible parsing errors added
* added default selection in configuration (this way the dialog does not break out of its borders any more)
* changed some checks for duplicate entries and added more fields to vcards

synckolab 0.4.32

 - New local database format: all contacts/adresses are written in their
        original format (xml/vcard/ical) in the profile folder. You can easily backup
        them there (nackup/restore functionality in one of the next versions)
        Additionally: fields that are only available in other lcients than synckolab will be preserved
        as long as no local change is done
 - fixed comparing in contacts
 - fix for primary/secondary email address
 - added debug levels (thanks to andreas gungl)
 - added calendar fixes from andreas gungl
 - automatic discovery if files are xml/vcard: now you can
        have mixed folders and synckolab will be able to read them
 - reduced complexity of code
 - started with localization (english and german - if you want to translate into your language feel free to submit the dtd (you can find the originials in your
        extensiond/{571CFACF-0F7D-49b4-BD77-E6FC7B209ADC}/chrome/content/synckolab/locale directory)

synckolab 0.4.32

 - New local database format: all contacts/adresses are written in their 
	original format (xml/vcard/ical) in the profile folder. You can easily backup
	them there (nackup/restore functionality in one of the next versions)
	Additionally: fields that are only available in other lcients than synckolab will be preserved
	as long as no local change is done
 - fixed comparing in contacts
 - fix for primary/secondary email address
 - added debug levels (thanks to andreas gungl)
 - added calendar fixes from andreas gungl
 - automatic discovery if files are xml/vcard: now you can 
	have mixed folders and synckolab will be able to read them
 - reduced complexity of code
 - started with localization (english and german - if you want to translate into your language feel free to submit the dtd (you can find the originials in your 
	extensiond/{571CFACF-0F7D-49b4-BD77-E6FC7B209ADC}/chrome/content/synckolab/locale directory)

synckolab 0.4.31 (bugged)


- space in confignames is being checked for
- added some changes for the calendar parsing to make sure the cellphone is parsed correctly
- implemented the contributions from andreas
- made sure the sync window is resizeable

synckolab 0.4.30

integrated all patches submitted by Andreas Gungl:
1) fix for a problem when a message has been removed from the server and 
the message has already been in the internal hash database
(In this case the entry in the database hasn't been deleted which lead to 
problems if the same events have been uploaded again to the server by 
another client. Because then the events would be deleted again and again by 
the first client.)

2) fix for dealing with more than one calendar sync settings
(some typos or copy & paste errors prevented the settings dialog to be updated 
correctly)

3) allow parsing of most of the events generated by Toltec Connector
(the XML attachments in the message are base64-encoded, so the detection of 
that encoding and the decoding of base64 is needed)

There are still minor problems with the calendar sync, but most of them are 
hard to reproduce. If anyone has a reproducible test case, please let me 
know.

- also added global variable for debug messages (so it can be configured later)

synckolab 0.4.28

- this version has been tasted with lightning 0.3 and works fine with it
- fixed bug that wrote wrong filetype
- added automatic check for xml format

synckolab 0.4.27

bugged version: contacts in vcard format are synced wrong
- Added fixes for the saving of messages (end boundary) for contacts and calendar
- Javascript console output changed
- upped max-version of supported thunderbird clients to 2.0 (I just hope this really works ;P)

- Added patches from Andres Gungl to improve lightning/calendaring support:
- incorrect handling of the organizer of Kolab-XML events
- incorrect mail address of attendees of Kolab-XML events
- wrong format of the alarm time in Kolab-XML export
- bad format of multipart messages used to store Kolab-XML events
- event duplication if an already read event has been deleted
    on the server
- usage of calendar manager in Synckolab which made the calender
    view to disregard the assigned color for events

synckolab 0.4.26

Fixed a bug with the conflict resolution dialog (wrong filename)

synckolab 0.4.25

Updated contact sync thanks to Steven D Miller (Copart):
- conflict resolution dialog that allows selecting which fields should be updated
- removed bugs that prevented the email address and the webpages to sync correctly

- implemented a fix for the toltec connector (lines were truncated)

If you find any bugs please tell us on the synckolab mailing list (see above).

synckolab 0.4.24

Updated calendar sync.
- exceptions on recuring events are working
- removal of calendar events should be working now
- coloring is synced should be working

synckolab 0.4.23

- loads of fixes to the calendar sync (especially with kolab xml) thanks to Andreas Gungl
- added a status display to view the current in work messages
- fixed a bug preventing contacts to be deleted locally
- fixed a bug that prevented locally deleted items to be removed from server (both contacts and calendar)
- added option to close the status window when done (or let it stay open...)


This version was tested successfully with lightning 0.1 build 2006031011

following issues are known:

addressbook:
- i still have to use the custom4 field to store the id of the card, i will add a configuration option to select with of the 4 custom fields to use in the next release

calendar:
- calendar sync does not remove local events even if deleted from server
- yearly reoccuring events are not yet supported (others should work fine)
- reoccuring events with exceptions are not yet supported
- coloring of events does not work (color will be set to white) 

synckolab 0.4.21

- fixed the error with contacts

synckolab 0.4.20

- added support for lightning (tested with 0.1)
- included submitted patches for vcard parsing (should work much better now)
- added many debug messages to track problems
- please use this release with care, especially the calendar syncing - its a new function and not yet fully tested

synckolab 0.4.<20

Step 1: from 0.3.0 to 0.4.19 calendar is required. Download the calendar plugin then the extension (use "rightclick/save as" otherwise firefox will try to install)

synckolab 0.4.19

- changed way contacts are checked for updated ones - hopefilly this will fix some bugs - updated to work with tbird 1.5!

synckolab 0.4.18

- fixed the timezone bug
- email addresses fixed in contacts xml format

synckolab 0.4.17

- fixed a bug that wrote on imap server even if save to imap is unchecked
- some more kolab2 xml fixes provided by andreas

synckolab 0.4.16

- removed debug alert - added counter to have a better feeling of whats going on - the config dialog should be fixed now

synckolab 0.4.15

fixed deletion of calendar configs
the date error should not happen any more when syncing contacts

synckolab 0.4.14

Included fixes from Andreas Gungl
calendar works better and messages are currently not deleted on the server (even if they are locally)

synckolab 0.4.13

Deleted Messages are in trash and can be undone.
finished writing of kolab2 xml contact format.

synckolab 0.4.12

Fixed error when there are no local contacts/events yet.

synckolab 0.4.11

Added internal sync db (extension .hdb) created on sync.
update and delete now work correctly (not using timestamp any more)
added function to create kolab2 address book (not yet fully implemented)

synckolab 0.4.10

Included fixes from Andreas Gungl
Added license information on all .js

synckolab 0.4.9

Calendar config works again. Please note that the calendar support is only minimal because the internals of calendar change with 0.3 (next version of the calendar extension). It imports quite ok, but not all fields (f.e. reoccuring does not work) plus it syncs calendar entries every time, because the mopdified field does not get written correctly. This will change with the release of the new calendar, I will release the next synckolab version as soon as calendar is out (at least nightly for windows).

synckolab 0.4.8

changed the install.rdf back
got rid of the error "lastmodifieddate"...

synckolab 0.4.7

Should work now even if calendar is not installed
A few fixes to display the timezone correctly
Better encoding/decoding fr unicode

synckolab 0.4.6

Missed a few \0 - now removed
Fixed configuration error where it would not find the right folder.

synckolab 0.4.5

Fixed Problem with some mail server (didnt work with \0 at the end)
Added quoted-printable and utf8 de/encoding for all message
Fixed Problem when saving format for calendar

synckolab 0.4.4

Reading support for kolab2 calendar format (no todo or reoccurance yet!)
some minor stability fixes.
added check for kolab2 format so no data gets written to imap when selected.

synckolab 0.4.3

Added UTF8 en/decoding and quoted-printable en/decoding
Added support for READING of kolab2 contact format (WRITING AND CALENDAR ARE NOT IMPLEMENTED YET!)

synckolab 0.4.2

Added a fix if folders are not under INBOX (untested)
added configuration for xml format (kolab2)

synckolab 0.4.1

Got rid of some debug messages, since the upload works and is tested.
Added the \0 fix.

synckolab 0.4.0

Fixed all upload problems (the messages werent standard complient).
Time checks are now correct
Added tooltips to configuration
New Icon
This is an important update that should fix all previous problems with messages not written back to the server! you should really get that one!

synckolab 0.3.3

Fixed problems with missing From Header
Added multiple configurations (make sure you update the configuration when updating from a previous version). Added a few additional error checking lines.

synckolab 0.3.2

Fixed Error: gAddressBook is not defined
Fixed Error: Null Pointer in calendar

synckolab 0.3.0

Huge step everyone! Sync of addressbook included all bugfixes and the calendar sync is included now. Since this is the first release with calendaring support use it with care.

synckolab 0.2.10

Two bugfixes and code cleanup. no new functions yet, but prepared for calendar sync.

synckolab 0.2.9

Added a few bugfixes and debug messages.
Configuration for calendar sync is added already. you have to install the calendar extension first. A few jslib functions are already used in order to get the calendar sync to work. Watch out for the next versions :)
I currently use Calendar V 0.8.3+, you can get calendar for thunderbird it from here

synckolab 0.2.8

fixed bug when there are no messages in folder. This version works fine under Linux (tested with TB 1.0 under Gentoo).

synckolab 0.2.7

Split into a few js for easier development.
Added morea dvanced sync check. Now all contacts are being written back to the folder, even if they have an uid set already. The reading of messages has been fixed now - it was a UID problem. So sorry to all I bugged :) There should really be a little better documentation on the xpcom functions. (For those interested: I tried generating the message URIs by using the folderuri and adding #(counter)- which works on clean boxes since then the messages start with id #0. If there is already something there you HAVE to get the messages and use the msgHdr key!)

synckolab 0.2.6

Fixed a bug where it stops when no contact is in the address book.

Just so its easier for some of you to analyze the errors here is a basic layout on whats going on:
1. it gets the adress book and the message folder
2. it reads every message in the folder and parses it as a contact object. If the uid is not found in any contact (checks for custom4), the address is added. The changedates are then checked to see if there were any changes in either the contact or message (I dont know of any other way to handle updates)
3. for all changed contacts: the message is being deleted, the contact is converted to a message and written back
4. all contacts that do not have a custom4 field filled out are being written to the contact folder
thats it.

The extension writes a temp file (synckolab.tmp) in your systems temp folder for the message to write back.

synckolab 0.2.5

This version fixes some errors with the temp file and implements a new version to read the contact folder. This speeds up the sync quite a lot, and it's not any more necessary to download the folder offline.
There is a problem if you have an imap account where the username has a % or a @ in it (like with vpopmail) that seems to be a bug in tb.
This and all prior versions only save new contacts to the selected folder if the custom4 field is empty. I will fix that in the next version.

synckolab 0.2.4

Added update URL. You may have to call the options twice in order to be displayed right (after changing an account).

synckolab 0.2.3

Fixed a bug found by whodaresgin. Stripping of \r\n versus only \n works now.

synckolab 0.2.2

Configuration now with drop-down and tree instead of manual input (reduces errors). some minor fixes.
This version also prepares for a new way of reading the messages which will be implemented in the next version.

synckolab 0.2.1

Added a checkbox to sync without writing back to imap (helps speeding things up and pretty useful to make sure nothing is changed)
Some checks and exception catched so it wont break so easy.
When having a problem you can either subscribe to the mailing list (http://synckolab.mozdev.org/list.html) or post in a forum where I check (xulplanet f.e.). Make sure to post the exceptions/javascript messages so I can check where the problem is (also operating system/version of tbird and synckolab help).

synckolab 0.2.0

This version works fine. I only tested it under windows with the contact folder selected for offline download and downloaded. It creates missing messages and cards. It should also correctly check all vcard fields.

synckolab 0.2.0dev1 (only for developer!!!!)

Altough this version does NOT work as planned, I will put it up here, so some devs can have a look. Users should not use this.. wait for the normal 0.2.0 (only a few days :P)
This is a major step:

synckolab 0.1.1

Fixed some nasty message bug. It should now download the online folders. Still a bad bug on Linux which I cannot figure out (under linux it wont find my contact folder's messages???).

synckolab 0.1.0 alpha

This is a testing release. Do not use it in productive enviroments!!!
This version might break your folder and your selected address book... use with care and BACKUP before use!!! After installing make sure to set the path and server right. Right now you also have to make sure the imap folder you want to sync with is set for offline downloading and downloaded (I added some code to download it, but it doesnt work yet... I guess). Just rightclick the folder you want, go to Offline, select "Select this folder for offline use" and press "Download Now". After that it should sync just fine.

Contact and Help

In case you find a bug or have any suggestions on what to add, you should subscribe the mailing list on synckolab.mozdev.org .

In the wild...

I started a few threads around the globe on different sites during development. If you are interested in some insight you can check them out.

This one is for those who have ideas on how I overcome some of my biggest problems: open a tb message in read/write mode
Antoher problem I ran into (which could have been avoided if the rewrite stuff had worked): Copying mail folder content from temp folder to imap I took some of the code from the TB Attachment Tools and TB Header tools for the writing of messages. You can get those pretty usefull extensions from Frank DiLecce (Ausdilecce).

Get Thunderbird