Event IDs in getCalendarEvents
-
Ich baue zur Zeit eine CT Schnittstelle zu meiner eigenen Joomla Event-Komponente. Dazu implementiere ich einen (gefilterten) Import in meine eigene Event Datenstruktur. Dabei ist es sinnvoll, wenn ich die Verknüpfung zwischen CT Event ID und meiner eigenen Event ID herstellen kann, um Duplikate ausschließen zu können und ggf. Änderungen aktuallisieren zu können.
Mein Problem: Die Daten pro Event (
startdate
,enddate
,bezeichnung
,category_id
,category_name
,bookings
) sind beigetCalendarEvents
nicht ausreichend, insbesondere fehlt eine (einmalige) ID. Derzeit muss ich also für jedes Event percategory_id
undgetCalEventsPerCategory
alle Events der Kategorie laden und dann hoffen, dass ich mit den wenigen Daten eine eindeutige Zuordnung erreiche. Dass das weder schön noch performant ist, sollte klar sein.Der sehr komfortable Feed von
getCalendarEvents
bringt leider nichts für komplexere Nutzung, weil zu wenig Daten per Event geliefert werden und das Nachladen der Daten nicht eindeutig möglich ist. Die einzige Möglichkeit alle Events zu laden, ist pergetCalEventsPerCategory
(sofern man diecategory_ids
kennt), allerdings werden dort alle Daten auf einmal zurückgegeben und Wiederholungen müssen manuell interpretiert werden.Kann also die Event ID, mit der ich das Event per
getEvent
laden kann, auch beigetCalendarEvents
zurückgegeben werden? Die Event IDs sind ja nicht eindeutig (bzw. Serientermine besitzen die ID ihres Elternelements), vielleicht wäre also eine ID wie im iCal sinnvoll (also per Unterstrich getrennte Eltern und Kind ID). -
Upvote.
Bitte gebt die Event ID im Response von getCalendarEvents mit. Eine eindeutige ID ist essentiell für jede Weiterverarbeitung von Daten - Danke!
-
Wäre es über die Event ID hinaus möglich, weitere Daten zum Event zu erhalten? Zumindest optional über einen bestimmten Parameter?
-
Das wäre in der Tat extrem praktisch - ich sitze grade vor demselben Problem. Bitte gebt doch einfach die ID des Events mit in den Array - das ist eine Zeile Code für euch und wäre so ungemein hilfreich!
-
Ich habe inzwischen eine alternative Lösung gefunden, vielleicht ist sie ja für jemanden interessant:
ich habe in unserem CMS einen Inhaltstyp "Events" angelegt und Daten wie Bilder, Ort, usw. dort gespeichert. Dieser Datensatz erhält ja eine ID vom CMS. Diese ID hab ich dann bei ChurchTools unter "Link" eingetragen. Damit kann man zumindestens weitere Daten einem CT-Event hinzufügen. Die Programmierung ist noch nicht 100% fertig, aber einen Eindruck kann man hier bekommen: -
@Thomas-Gollenia, das ist ein guter Ansatz, um Events von ChurchTools mit weiteren Daten anzureichern. Ganz genau genommen, geht es in diesem Thread aber "nur" um den vollständigen Response beim API-Call
getCalendarEvents
. Im Gegensatz zugetCalEventsPerCategory
gibtgetCalendarEvents
, der für die meisten API-Entwicklungen deutlicher einfacher und sinnvoller ist (Stichwort: Repeat-Events sind bereits interpretiert), aber deutlich weniger Daten zurück. Aus API-Design-Sicht gibt es dafür eigentlich keinen vernünftigen Grund.Um Events mit zusätzlichen Daten anzureichern gibt es übrigens ein paar andere Threads, wie z.B.
https://forum.church.tools/topic/2462/bilder-logos-in-churchcal-hinterlegen-zum-anzeigen-auf-der-homepage/4.