Missing contacts_birthday calendar after upgrade to 9.0 #23203

Closed
blizzz opened this Issue Mar 13, 2016 · 16 comments

Projects

None yet

4 participants

@blizzz
Contributor
blizzz commented Mar 13, 2016

Steps to reproduce

  1. Have users using and syncing calendars with devices
  2. Upgrade from 8.2.3 to 9.0
  3. A users DavDroid tries to sync contacts_birthday

Expected behaviour

Either it exists and succeeds or it does not exist and no sync is attempted

Actual behaviour

ownCloud returns 404, error message on every sync on android side

There were no issues before. In oc_calendars such a calendar is not listed for the user in question. In the old calendars table there were none at all. ./occ dav:sync-birthday-calendar $USER does not have any effect.

Back in 8.2.x days, the calendar was synced successfully. Possibly a migration issue? Or it was not migrated, because it was empty – is this possible?

Server configuration

Operating system: Ubuntu 14.04

Web server: Apache2

Database: MySQL

PHP version: 5.5.9

ownCloud version: 9.0.0

Updated from an older ownCloud or fresh install: update from 8.2.3

Where did you install ownCloud from: tarball

Signing status (ownCloud 9.0 and above): awesome

Are you using an external user-backend, if yes which one: No

Client configuration

Sync App: DavDroid

Operating system: Android 4.4.2

Logs

Web server error log

90.234.23.123 - USERNAME [13/Mar/2016:22:27:47 +0100] "PROPFIND /owncloud/remote.php/caldav/calendars/USERNAME/contact_birthdays/ HTTP/1.1" 404 5813 "-" "DAVdroid/0.9.1.3 (2016/01/02; dav4android) Android/4.4.2"

ownCloud log (data/owncloud.log)

(nothing related)

@DeepDiver1975

@blizzz blizzz added this to the 9.1-current milestone Mar 13, 2016
@blizzz blizzz changed the title from Schrödingers contacts_birthday? to Missing contacts_birthday calendar after upgrade to 9.0 Mar 13, 2016
@DeepDiver1975
Member

Please run the occ command to sync the birthdays: ./occ DAV:sync-contact-birthdays

@blizzz
Contributor
blizzz commented Mar 14, 2016

./occ dav:sync-birthday-calendar $USER does not have any effect.

@DeepDiver1975
Member

Sorry - I did not see that part of the description.

Does that user have an addressbook with contacts who have birthdays?

@blizzz
Contributor
blizzz commented Mar 14, 2016

Does that user have an addressbook with contacts who have birthdays?

An addressbooks exists (according to table addressbooks).

It does not contain any contact entries however (according to table cards).

@DeepDiver1975
Member

It does not contain any contact entries however (according to table cards).

this explains your observation then - the birthday_calendar is created once the first birthday is added to a contact

@blizzz
Contributor
blizzz commented Mar 14, 2016

@DeepDiver1975 but why does the client attempt to sync it, since 9.0?

@DeepDiver1975
Member

That birthday_calendar was there before 9.0 - it should have been created on migration - see #23083

@blizzz
Contributor
blizzz commented Mar 14, 2016

@DeepDiver1975 Yes indeed. But it was not returning 404, but 207s.

@DeepDiver1975 DeepDiver1975 self-assigned this Mar 16, 2016
@Silli123

I have the same problem. After upgrade to owncloud 9 all contacts birthdays are missing in the calendar and DavDroid shows an error on sync.

When i change or add a birthday to a contact with owncloud contacts app, this birthday shows in the calendar. (and the DavDroid sync works without error) The calendar shows this 1 birthday.

When i change or add a birthday to a contact with smartphone and sync with DavDroid, this birthday isn't shows in the calender and isn't shows in the owncloud contacts app, but there is a blank birthday field.

Maybe it has something to do with the date format? In the owncloud contacts app the format is yyyy-mm-dd, but on the phone is dd.mm.yyyy (my language is german)

@DeepDiver1975
Member

Maybe it has something to do with the date format? In the owncloud contacts app the format is yyyy-mm-dd, but on the phone is dd.mm.yyyy

according to the vcard spec the date format is https://en.wikipedia.org/wiki/ISO_8601

the correct format should be yyyy-mm-dd

@DeepDiver1975
Member

I have the same problem. After upgrade to owncloud 9 all contacts birthdays are missing in the calendar and DavDroid shows an error on sync.

please run the occ command - thx

@mnlipp
mnlipp commented Mar 30, 2016

I tried to run the occ command in order to fix the problem

./occ DAV:sync-contact-birthdays

But all I get is an error:

[Symfony\Component\Console\Exception\CommandNotFoundException]
There are no commands defined in the "DAV" namespace.

Any hint?

@DeepDiver1975
Member

try dav not DAV

@DeepDiver1975
Member

hint run ./occ list to get all commands listed

@mnlipp
mnlipp commented Mar 30, 2016

Slightly better: Gives me

[Symfony\Component\Console\Exception\CommandNotFoundException]  
  Command "dav:sync-contact-birthdays" is not defined.            
  Did you mean one of these?                                      
      dav:migrate-addressbooks                                    
      dav:migrate-calendars                                       
      dav:sync-birthday-calendar                                  
      dav:sync-system-addressbook                                 
      dav:create-addressbook                                      
      dav:create-calendar

Which one to choose?

@mnlipp
mnlipp commented Mar 30, 2016

Okay, dav:sync-birthday-calendar works, thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment