#171 Birthday date is one day early

closed-out-of-date
nobody
SyncEngine (21)
5
2015-12-17
2009-03-16
No

Hello,

I use ubuntu intrepid and i've install synce from the ppa.launchpad.net. my version is 0.13. My timezone is the same on ppc and ubuntu.

When you sync with wm6.1, the extract birthday from ppc is out to date. The date is different for one day if the contact have been first created in the ppc.
Example: the birthday of my contact in the ppc is 2nd october and the day extract is 1st october.
If you sync a new contact from evolution to ppc, the transfered date seem to be ok.

I've another problem. When you sync a new contact, the order of the fields is not respected in evolution 2.24. When you create manualy a contact. The first number field is the professional number and the second number field is the cellular number.
When you sync a new contact in evolution, the first field is change in a cellular type with the phone number registered. But the second field stay to be a cellular field with a blank number. So when you see the contact card, you don't have cellular number. You need to open the contact to see the cellular number or change the type of the second field to "professional".

Best regards.

Discussion

  • Mark Ellis

    Mark Ellis - 2009-03-16

    Stick with the date problem first, can you trigger a sync for one of these contacts, and send the output of msynctool and sync-engine. Also send the actual date shown in WM and evo, and the actual timezones used.

     
  • Eric CATTELIN

    Eric CATTELIN - 2009-03-16

    You will find the demanded files in attachment. I have done 2 syncs : The first name Synce Test with a cellular number and anniversary and birthday dates at March, 16th 2009 define in WM. In evo we can see March, 15th 2009. The second test names Synce2 and anniversary and birthday dates is March, 18th 2009 in WM and the result is March, 17th 2009 in evo.
    For these examples, you have two multisync logs and the log for synce-sync-engine.

    The actual date shown in WM and evo is the same : March, 16 2009. the both actual timezones is Europe/Paris.

    Thanks for you help.
    File Added: synce.tar.gz

     
  • Eric CATTELIN

    Eric CATTELIN - 2009-03-16
     
    Attachments
  • Mark Ellis

    Mark Ellis - 2009-03-16

    I think I can see why, but I don't know yet what to do about it.

    Taking the first one, which is technically an all day event for 16/03/09. In the sync log data from WM, the anniversary and birthday are 2009-03-15T23:00:00.000Z, ie 15th March 23:00:00 zulu. With the Paris timezone +1 hour this does indeed give us 17/03/09. So the device is displaying in local time but sending standard time. Same for the other event.

    The syncengine.conf.xml file has an option for always appending the default timezone, can you enable that and see if it helps ?

     
  • Eric CATTELIN

    Eric CATTELIN - 2009-03-16

    I've done a sync with this parameter <AppendDefaultTimezone>1</AppendDefaultTimezone> in the file syncengine.conf.xml in the directory .synce or in the directory etc/. I've the same result.

     
  • Eric CATTELIN

    Eric CATTELIN - 2009-03-16

    I've done a sync with this parameter <AppendDefaultTimezone>1</AppendDefaultTimezone> in the file syncengine.conf.xml in the directory .synce or in the directory etc/. I've the same result.

     
  • Eric CATTELIN

    Eric CATTELIN - 2009-03-20

    Hello,

    I've search a solution for the problem of birthday and anniversary dates. It seems that the CUR_TZ always return None. So i've decided to modify the file "conversion.py" to convert the utc time given by airsync in local time.
    For doing this, i've added on the begin of the file :
    from datetime import time
    from pytz import tzinfo
    and i've modify the part concerning anniversary and birthday from airsync like this :
    def contact_anniversary_from_airsync(ctx):
    parser_ctx, transform_ctx = xml2util.ExtractContexts(ctx)
    result = tzutils.TaskTextToDate(xml2util.GetNodeValue(transform_ctx.current()))
    s = str(tzconv.ConvertToLocal(result,pytz.timezone(open('/etc/timezone').readline().strip())))
    return "%s%s%s" % (s[0:4],s[5:7],s[8:10])

    def contact_birthday_from_airsync(ctx):
    parser_ctx, transform_ctx = xml2util.ExtractContexts(ctx)
    result = tzutils.TaskTextToDate(xml2util.GetNodeValue(transform_ctx.current()))
    s = str(tzconv.ConvertToLocal(result,pytz.timezone(open('/etc/timezone').readline().strip())))
    return "%s%s%s" % (s[0:4],s[5:7],s[8:10])

    I know that only works for ubuntu and didn't a good method but i'm starting in development.
    I thing you can done a better code this all distribution compatibility.

    I wait your patch.

    best regards

     
  • Bruno Pires Marinho

    Hello,

    I think this problem is related to daylight saving. I live in Lisbon (GTM+0) with daylight saving on.
    I did the following test:
    Add a contact in Evolution with todays date for birthday
    Add a contact in PocketPC with todays date for birthday
    Did a sync
    Contacts in PocketPC show with correct birthday date
    Contact created in evolution shows ok in Evolution but the contact created in pocket PC shows one day earlier
    If a change the date in evolution contact in pocket PC and sync that one gets wrong also in Evolution.
    Same thing happens with anniversary.

    I also sync files and the VCARDS look like this (first created in Evo, second created in PocketPC):

    BEGIN:VCARD
    VERSION:2.1
    X-MOZILLA-HTML:FALSE
    X-EVOLUTION-FILE-AS:TestEvo
    N:;TestEvo;;;
    FN:TestEvo
    BDAY:20090530
    END:VCARD

    BEGIN:VCARD
    VERSION:2.1
    X-EVOLUTION-FILE-AS:TestWM
    FN:TestWM
    N:;TestWM;;;
    NICKNAME:
    PHOTO;ENCODING=BASE64:

    CATEGORIES:
    X-EVOLUTION-ASSISTANT:
    X-EVOLUTION-MANAGER:
    ORG:
    X-KADDRESSBOOK-X-Department:
    X-KADDRESSBOOK-X-Office:
    X-EVOLUTION-SPOUSE:
    TITLE:
    URL:
    BDAY:20090529
    END:VCARD

    I used old multisync-gui and it seems I don't get a synclog file. Were can I activate it?

    I almost forgot, using ubuntu 9.04 with packages from ppa.launchpad.net.

    I can compile from sources or CVS/SVN/GIT if necessary for testing.

    Regards,

    Bruno Pires Marinho

     
  • Bruno Pires Marinho

    Hello again,

    Just found out that "all day event" suffer of the same problem...
    This "all day event" VCALENDAR is 25 of April but is coming from pocket PC as 24 of April.

    BEGIN:VCALENDAR
    VERSION:1.0
    BEGIN:VEVENT
    TRANSP:0
    LAST-MODIFIED:20061230T202110Z
    DTSTART:20030424T000000
    DTEND:20030424T235900
    LOCATION:Portugal
    SUMMARY:Liberty's Day
    DESCRIPTION:
    CATEGORIES:Holiday
    END:VEVENT
    END:VCALENDAR

    Any fix expected for this? Is the "conversion.py" a good fix going into source code and next release?

    Cheers,

    Bruno Pires Marinho

     
  • Mark Ellis

    Mark Ellis - 2009-11-09

    patch to enable timezone

     
    Attachments
  • Mark Ellis

    Mark Ellis - 2009-11-09

    Can you try with the attached patch ? It basically reverses the 'fix' you pinted out. If you have problems with where to
    apply it, please shout.

     
  • Mark Ellis

    Mark Ellis - 2009-12-19

    The timezone fix is in the latest update to the ppa, can you try it ?

     
  • Bruno Pires Marinho

    Mark, I finally had time to test this but I changed to ubuntu 10.04 (lucid) and hal is gone so synce-hal doesn't work. I'm using 0.14. 0.15 isn't available yet for lucid.

    How can I go around hal?

     
  • Mark Ellis

    Mark Ellis - 2010-05-05

    Sometimes hal will start when you need it to, otherwise do a 'sudo hald' on the command line.

     
  • Bruno Pires Marinho

    It worked but I can't sync. I setup the partnership with Contacts, Calendar, Tasks and Files and tried to setup open-sync, file and evolution sync but I'm getting errors. Moved just to just opensync and file and doesn't work after first sync. I get the error:

    DEBUG:SynCE:got 4 changesets
    DEBUG:SynCE:processing changes for 4 items of item type 0
    Traceback (most recent call last):
    File "/usr/lib/opensync/python-plugins/synce-opensync-plugin-2x.py", line 174, in get_changeinfo
    change.uid = array.array('B',guid).tostring()
    File "/usr/lib/pymodules/python2.6/opensync.py", line 192, in set_uid
    def set_uid(self, *args): return _opensync.OSyncChange_set_uid(self, *args)
    TypeError: in method 'OSyncChange_set_uid', argument 1 of type 'OSyncChange *'
    Member 1 of type synce-opensync-plugin had an error while getting changes: Error during get_changeinfo() method
    Member 2 of type file-sync just disconnected
    DEBUG:SynCE:disconnect() called

     
  • Mark Ellis

    Mark Ellis - 2010-05-05

    I've had another report of this from lucid, i'm looking into it

     
  • David Eriksson

    David Eriksson - 2015-12-17
    • Status: open --> closed-out-of-date
     

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:





No, thanks