I syncronize my appointments from Mac to Android. Not all appointments are displayed in the calendar Web App. All appointments are available on the Mac. Is there a setting or restriction here?
Thank you. I’ll take care of it.
synchronizing appointments from Mac to Android is not an issue of Nextcloud, or do you mean you want to sync appointments from Mac and Android to Nextcloud? In both cases it is in the responsibility of your sync app how many appointments are synced at the end, not of Nextcloud.
To dive deeper into this issue you should follow the usual rule and post detailed information about the devices, sync apps and software versions you are using. Additionally you should describe in detail what the result should be. Based on that someone eventually can give you a hint concerning the root cause of your problem.
I have encountered several situations where appointments did not show up in the calendar, while they were visible on other devices. Sometimes they are rejected when they are first uploaded. For example, when initially loading an ICS file with many appointments, nextCloud calender reported that there were 2 failures. No details were given about what appointments were in error.
I now use vdirsyncer to exchange the events. Since vdirsyncer processes the events one by one you can easily find out which event produces an error, and why. For example, an event that had two
DTEND properties was flagged as erroneous (which is correct although many clients allow it). Another problem was (and still is) that not all allowable forms of
RRULEs are handled. In that case the event is shown in grey, and the repetition details include “This event’s repeating rule is not supported yet.”. For example
Note that the above problems are nextCloud specific and not related to sync tools and clients.
If I understand you correctly, you now want to discuss the handling of possible CalDAV related syntax errors and not problems related time limiting barriers during the sync process?!
If so, the usual process is to reduce the problem to a as simple item as possible and to provide detailed information about the used Nextcloud and app version and a simple example ics file which describes the problem with e.g. the RRULE tag. It isn’t purposeful to mix-up several things except you want to have a nice chat about this and that.
So, if you’ve already analyzed a problem and know the root cause of it, you should open an issue ticket, and follow the issue template by providing detailed information to reproduce the problem. This is the only way how the developer can reproduce the problem and enables him to fix it.
BTW, if there are syntax errors in an ics file, why should the server be responsible for fixing it and not the sync tool?
My way was as follows: I exported all appointments from the Google Calendar and imported them into the Nextcloud Calendar app. The appointments were sent by sync to Mac and Android. Now it’s the case that the appointments are on the Mac - all of them. In the Nextcloud app are only a part of the appointments. Similar to Android (smartphone and tablet).
The source in this case is the Nextcloud Calendar App.
In this case all appointments are already in the Nextcloud app, but some of them are not displayed in the Calendar app, because of syntax errors. In this case I would agree that Nextcloud should have corrected invalid events while importing it into the database. You should check if related issue reports already exist in the bug tracker and of not, create your own ones.
That some appointments are not shown on your Android device are most likely related to different fields being used on iOS and Android and that the Android app cannot sync erroneous entries.
Does it make sense to repeat the process? Delete calendar and new import? I would have expected the nextCloud to display all appointments and the devices to lack appointments.
Unfortunately the nextCloud does not understand its own import.
The Calendar app is only a client application like Lightning etc. which visualizes data from the calendar database. It has been developed based on the CalDAV standard and couldn’t handle all kind of malformed records which might have been created by other applications.
It is slightly more complicated than that.
As for incorrect data, there’s an old saying “be liberal in what you accept, be strict in what you generate.” For example, when an event has two
DTEND properties which are identical (e.g.
DTEND;VALUE=DATE:20190321) you can silently discard one of them.
In the case of the
RRULE example I posted Mar 14: this is correctly processed by the database, it is just not dealt with by the user interface.