7 / 7
Sep 2024

Hallo liebe eGroupware Team,
ich habe die aktuelle eGroupware im Einsatz und möchte an dieser Stelle ein großes Lob für die Entwicklung und auch den Support hier aussprechen - Danke!!

Nun aber zu meinem Problem
Ich habe die neueste Version 23.1.20240905 im Einsatz, aber das Problem trat aber auch schon in der Version davor auf. Aufgefallen ist es mir etwa vor einer Woche.

Folgendes passiert:
ich habe den User
rszkveranst-b

  • dieser kann im Kalender lesend auf bestimmte Termine zugreifen,
  • er kann sich auch bei der eGroupware anmelden im Webfrontend wird der beschriebene Termin NICHT angezeigt.

Rufe ich seinen Kalender über caldav ab, wird ein nicht vorhandener Termin, ohne Titel, als privat gekennzeichnet und immer wieder etwa 90 Min in der Zukunft liegend als Caldav Termin zurückgegeben!

Der Pseudotermin erscheint sowohl im Thunderbird Kalender als leider auch via DP-Calendar auf unserer WebSite wo er sehr stört.

Wie kann ich das debuggen?
Liegt hier eventuell ein Fehler in der eGroupware vor?

Frage ist was Du von dem Termin weißt, um Ihn in der Datenbank zu finden.

Wenn Du z.B. den Titel weißt, kannst Du direkt in der Datenbank in der Tabelle egw_cal danach suchen:

SELECT * FROM egw_cal WHERE cal_title LIKE '%some-text%';

Oder falls Du den Namen der CalDAV Ressource (letzter Teil der URI) weißt:

SELECT * FROM egw_cal WHERE caldav_name='xxxxxxx.ics';

Du kannst auch die CalDAV URL per Browser aufrufen und schauen ob Du den Termin dort findest.

Wenn Du den kaputten Termin identifiziert hast, kannst Du Ihn am besten erst mal sicher/auslesen per SQL und hier posten, damit ich mir das mal ansehen und in Zukunft evtl. vermeiden kann.

Danach kannst Du den Termin aus allen egw_cal_* Tabellen über seine cal_id löschen:

DELETE FROM egw_cal WHERE cal_id=12345;
DELETE FROM egw_cal_repeats WHERE cal_id=12345;
DELETE FROM egw_cal_dates WHERE cal_id=12345;
DELETE FROM egw_cal_user WHERE cal_id=12345;
DELETE FROM egw_cal_extra WHERE cal_id=12345;

Ralf

Hallo Ralph,
es kann sich nicht um einen echten Termin handeln, denn der Titel ist leer, was eGroupware ja nicht zulässt und er fließt. D.H. wenn ich den caldav Aufruf in einer Stunde mache, ist der “Termin” ebenfalls eine Stunde weitergerückt. Am nächsten Tag ist der Termin am nächsten Tag.
Die Datenbank scheidet nach meinem dafürhalten aus.
Allon Moritz von dp-Calndar schrieb auf meine Anfrage zurück:

So I’v debugged the code and the respective entry has a class private. This means it is declared as private event and is delivered without any content. The time of that event changes all the time and points to the current time where the request is fetched. So I think you should ask eGroupware why they deliver such an entry in the CalDAv export. For me it looks like a bug on their end.

Oder meinst Du das es sich um einen kaputten Termin handelt, der den Effekt auslöst?

Grüße Peter

Hallo Peter,

ich bin ziemlich sicher, das wenn nichts in der Datenbank ist, wir auch nichts ausliefern.

Private Termine werden mit minimalen Daten (Name “Privat” und Zeitraum) ausgeliefert, damit ein anderer User sehen kann, das der Zeitraum belegt ist.

Warst Du mal mit dem Browser auf der CalDAV Seite/URL und hast Dir mit den gleichen Zugangsdaten den entsprechenden Kalender angesehen? Findest Du dort den besagten Termin? Wenn ja, versuche ihn wie beschrieben mal aus der Datenbank auszulesen und dann zu löschen.

Ralf

Hallo Ralph,
einen irgendwie leeren oder persönlichen Termin kann ich nicht finden.
ABER bei der Durchsicht der Einträge in der Tabelle egw_cal ist mir aufgefallen, dass die cal_id nicht fortlaufend ist. Es fehlt der Eintrag mit der id 88.
Darf das sein? Wenn nicht, wie kann ich es reparieren?

Ja, das ist kein Problem, kommt z.B. wenn Du Kalendereinträge bereinigst oder einen Benutzer mit Kalendereinträgen löschst.

Du sagst Du hast gar keine privaten Termine im Kalender?

SELECT * FROM egw_cal WHERE cal_public=0

Ralf

Hallo Ralf,
ja genau so ist es, der Select liefert ein leeres Ergebnis zurück.
ich habe es gerade nochmal getestet, es gibt keine privaten Termine.
Die Anzahl aller Termine im Kalender ist mit 207 auch sehr übersichtlich. Ich habe alle Termine durchgesehen.
Auch haben alle Termine, die eingetragen sind einen Titel, der nicht leer ist.
Kann ich noch etwas anderes testen?
Brauchst Du Zugang zum Testen?
Gruß Peter

Der Fehler ist in neueren Versionen behoben