Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Events: iCal subscription #100

Closed
Tracked by #2662
svenseeberg opened this issue Jan 14, 2019 · 10 comments · Fixed by #2895 or #3313
Closed
Tracked by #2662

Events: iCal subscription #100

svenseeberg opened this issue Jan 14, 2019 · 10 comments · Fixed by #2895 or #3313
Assignees
Labels
effort: medium Should be doable in <12h feature New feature or request prio: low Not urgent, can be resolved in the distant future.
Milestone

Comments

@svenseeberg
Copy link
Member

svenseeberg commented Jan 14, 2019

Motivation

Municipalities are using calendars for events in their region. Until now they have been creating events twice, once in their calendar and then again in our CMS. This has been tedious for them.

Proposed Solution

Enable subscribing to external iCal calendars. With this we mean, we want to

  • register one or many URLS to get the events from (it's own category, not in the region form)
  • get the events in iCal format from this URL
  • write a management command to get the iCal events and then run a cronjob for it

Alternatives

None

User Story

As a municipality I want to show my events in my municipality calendar and in the Integreat CMS without needing to create them twice so that users have (multi-lingual) information about the events on both the municipality's website and Integreat

Additional Context

There are two steps for it:

  1. Get the iCal events and display them only in German
  2. Support MT for them (most probably this is going to be another issue and PR)

Design Requirements

None, as this will include no UI

@svenseeberg svenseeberg mentioned this issue Jan 14, 2019
9 tasks
@ulliholtgrave ulliholtgrave added the feature New feature or request label May 8, 2019
@svenseeberg svenseeberg added this to the Additional Features milestone Jun 7, 2019
@timobrembeck timobrembeck added the prio: low Not urgent, can be resolved in the distant future. label Jun 28, 2019
@dkehne
Copy link

dkehne commented Sep 23, 2023

This issue becomes more and more interesting due to the feedback of e.g. Saarbrücken, Regensburg and some others who already want to use their city-calendars to be (partly) imported into Integreat.

@MizukiTemma MizukiTemma mentioned this issue Feb 15, 2024
24 tasks
@osmers osmers modified the milestones: Backlog, 24Q2 Mar 20, 2024
@JoeyStk
Copy link
Contributor

JoeyStk commented Apr 7, 2024

My idea for this feature would be the following:

  1. Add an import section for events, similarly to the section we have for XLIFF import for pages grafik
  2. After clicking importing you get a preview on how the data would be imported, again similarly to how we do it for XLIFF import
  3. After checking if everything looks good, you can confirm and the import starts

Do you have any objections to this workflow or did I forget something?

After taking a look at a few examples for iCal files, I saw that also locations can be filled in. So I assume that other than creating new events also new POIs should be created, if necessary, right?

@osmers & @hauf-toni Do you have any objections?

@osmers
Copy link

osmers commented Apr 9, 2024

@JoeyStk I like the workflow - easy enough.
Question: location is compulsory for creating an event - if the ical does not have location information, what would happen?
And yes to your question - if location data is filled in, a new poi should be created. But there should be a step that checks, whether a poi at that location already exists, right?

@JoeyStk
Copy link
Contributor

JoeyStk commented Apr 9, 2024

if the ical does not have location information, what would happen?

Good question, I think we should take the time to think about these things. I would say the import is rejected then, the user is redirected to the event list view and told via a message that they can't import an event that doesn't have a location either a new one or an existing one

if location data is filled in, a new poi should be created

I need to double check then if iCal provides all the necessary details that we need to create a POI. Do we have some test iCal data (ideally by municipalities) so I can get a feeling on the quality of the files?

But there should be a step that checks, whether a poi at that location already exists, right?

Yes, but at least I'm a bit worried right now that this check might be flaky. This is going to be something on the more technical side to think about

@PeterNerlich PeterNerlich added question Further information is requested ui-ux Issues that requires an UI/UX perspective. labels Apr 9, 2024
@PeterNerlich
Copy link
Collaborator

This might require more intricate design of the workflow we want the user to experience

@svenseeberg
Copy link
Member Author

svenseeberg commented Apr 9, 2024

  1. Add an import section for events, similarly to the section we have for XLIFF import for pages

Actually the idea was to subscribe to an iCal feed that is frequently fetched an all events updated. A onetime import is not really helpful AFAICT. This means we need to store the source ID of the event to be able to update previously imported events. Also, we need a "source" field in the model. If an event does not exist in a source anymore, it has been removed.

I would say the import is rejected then,

Agreed, events with incomplete data will simply be ignored.

@svenseeberg svenseeberg changed the title Events: iCal import Events: iCal subscription Apr 9, 2024
@dkehne
Copy link

dkehne commented Apr 23, 2024

"Actually the idea was to subscribe to an iCal feed that is frequently fetched an all events updated. A onetime import is not really helpful AFAICT. This means we need to store the source ID of the event to be able to update previously imported events. Also, we need a "source" field in the model. If an event does not exist in a source anymore, it has been removed."

--> i completly agree on Sven.

I don't want to talk about the solution but we could also think about some kind of input-field where you can add all the ical-URls separated by semikolon which you want to be imported. This could also be part of the region-settings so that only we as admins can maintain that.

1st horizon: synchronize the events from external sources and show them in german in all languages
2nd horizon: enable some kind of automatic-translation of all new or updated events occuring (should be also part of the MT settings)

I can imagine that we might need event-objects in the CMS to enable a correct sorting of events (internal and external events) but i would not give the cms users the ability to modify/change those events.

@JoeyStk JoeyStk added effort: medium Should be doable in <12h and removed question Further information is requested ui-ux Issues that requires an UI/UX perspective. labels May 1, 2024
@david-venhoff
Copy link
Member

This issue becomes more and more interesting due to the feedback of e.g. Saarbrücken, Regensburg and some others who already want to use their city-calendars to be (partly) imported into Integreat.

@dkehne Could you try to reach out to Saarbrücken or Regensburg if they can provide us with their .ics calendar file? I think it could be helpful if we can test this with their data before we release this feature.

@dkehne
Copy link

dkehne commented May 21, 2024

@david-venhoff regensburg/saarbrücken currently cannot deliver an .ics file. i have ask other municipalities.

@dkehne dkehne modified the milestones: 24Q2, 24Q4 May 25, 2024
@dkehne
Copy link

dkehne commented May 29, 2024

I got one here @david-venhoff https://www.saarburg.de/kalender

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
effort: medium Should be doable in <12h feature New feature or request prio: low Not urgent, can be resolved in the distant future.
Projects
None yet
8 participants