Comments (7)
@dantefromhell Ok, thanks, I have extened the list of fields.
@luke- PR #449.
from calendar.
@yurabakhtin Can you please take a look into this?
from calendar.
According to this Google Calendar Help article the
SEQ
field must be increased in the updated ICS to trigger updating an event.
@dantefromhell Do you mean we should increase the column calendar_entry.sequence
on each updating of the Calendar Entry?
Maybe the field UID
with value like humhub-calendar_event-b23ed8b8-f26a-4950-842d-c45aba009898
should be used for update event.
from calendar.
Maybe the field UID with value like humhub-calendar_event-b23ed8b8-f26a-4950-842d-c45aba009898 should be used for update event.
I was trying to find the sentence in RFC5545 which talks about this, but somehow wasn't able to.
TL;DR from reading more (non-official e.g. [1]) documentation:
The UID
field must remain fixed throughout the lifetime of a calendar event.
Do you mean we should increase the column calendar_entry.sequence on each updating of the Calendar Entry?
RFC5545 is pretty precise how the SEQ
field is supposed to work:
https://datatracker.ietf.org/doc/html/rfc5545#section-3.8.7.4
TL;DR: It starts with SEQ=0
and will be incremented on every change to the event.
From my incomplete understanding of the code, yes this should be implemented as calendar_entry.sequence + 1
FYI I found a nice ICS validator tool in case that is helpful https://icalendar.org/validator.html#results
from calendar.
RFC5545 is pretty precise how the
SEQ
field is supposed to work: https://datatracker.ietf.org/doc/html/rfc5545#section-3.8.7.4TL;DR: It starts with
SEQ=0
and will be incremented on every change to the event. From my incomplete understanding of the code, yes this should be implemented ascalendar_entry.sequence + 1
@dantefromhell Thank you for the info, yes, you are right.
I have found and tested this code https://github.com/humhub/calendar/blob/master/models/forms/CalendarEntryForm.php#L515-L519:
$incrementSequence = $this->original->getStartDateTime() != $this->entry->getStartDateTime();
$incrementSequence = $incrementSequence || $this->original->getEndDateTime() != $this->entry->getEndDateTime();
$incrementSequence = $incrementSequence || $this->original->getRrule() !== $this->entry->getRrule();
$incrementSequence = $incrementSequence || $this->original->getExdate() !== $this->entry->getExdate();
$incrementSequence = $incrementSequence || $this->original->getEventStatus() !== $this->entry->getEventStatus();
It means the column sequence
is increased only when one of the field is updated.
Do you want to extend the list, for example, should we increase the sequence
when a title or a description or some other field?
from calendar.
Do you want to extend the list, for example, should we increase the sequence when a title or a description or some other field?
Reading the RFCs my answer is yes. I propose that end-user calendars (e.g. Google) should be able to detect any event changes correctly, which I guess translates into updating SEQ
for any change to a field that gets exported in the ICS file.
Or maybe it's easier to just update the SEQ
field internally on any event changes without needing to list fields explicitly? 🤔
from calendar.
@yurabakhtin @dantefromhell Thanks, I've just merged the PR
from calendar.
Related Issues (20)
- Bug: Profile Calendar hidden in select dropdown HOT 3
- Upcoming events widget not shown if no upcoming events HOT 4
- lets discuss to put the time after the event title, not before HOT 1
- Add cancelled status to ICS files
- humhub 1.15.3 not compatible with calendar 1.5.0 (required without solved bug #402)
- Notifications for attendees HOT 2
- View Mode "Year
- Add integration with 'sharebetween' module
- Default reminder settings: cannot select the period after adding a reminder HOT 2
- Get Location with API
- BUG: Cannot change participation. "The event has already ended." before Event begins HOT 5
- Text is difficult to read due to contrast when using light colours
- Module Not Available for Users - Error HOT 3
- Export button missing when viewing Space calendar HOT 5
- BUG: Adjusting Default Timezone setting changes event times
- Filter by topic
- Cannot change details of an uploaded image (1.5.12) HOT 2
- Category colors do not apply HOT 2
- events visible only if you're part of the space without the need of toggle an option
- Notifications from Calendar ({displayName} / {contentTitle} not expanded) HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from calendar.