Aktualisierungsintervall von abonnierten Kalendern

Hallo zusammen,

wenn ich es richtig verstehe, kann ich seit Nextcloud 17.0.4 das Aktualisierungsintervall von abonnierten Kalendern Àndern. Diese steht wohl per Standardeinstellung auf 1 Woche.

In der Datei “RefreshWebcalJob.php” im Verzeichnis “/apps/dav/lib/BackgroundJob/” findet sich dazu der Eintrag:

// if no refresh rate was configured, just refresh once a week
** $defaultRefreshRate = $this->config->getAppValue(‘dav’, ‘calendarSubscriptionRefreshRate’, ‘P1W’);**
** $refreshRate = $subscription[RefreshWebcalService::REFRESH_RATE] ?? $defaultRefreshRate;**

Ich nehme an, der Eintrag “P1W” steht fĂŒr “Periodically 1 Week”???

Es geht mir um einen abonnierten Kalender, den ich ĂŒber die Nextcloud-KalenderoberflĂ€che abonniert habe. Dieser Kalender soll jetzt nicht bloß einmal in der Woche, sondern z.B. alle 30 Minuten oder einmal die Stunde aktualisiert werden.

Wo kann ich denn diese Einstellungen fĂŒr das Aktualisierungsintervall vornehmen? Trage ich in der o.g. Datei/Zeile statt “P1W” dann “P30M” (Periodically 30 Minutes) oder “P1H” (Periodically 1 Hour) ein? Ich habe das mal getestet, aber ich glaube, das waren nicht die richtigen Variablen. Oder die Einstellungen werden gar nicht dort vorgenommen?

Ich wÀre euch sehr dankbar, wenn mir hierzu jemand weiterhelfen oder Tipps geben könnte.

Viele GrĂŒĂŸe
Julix

Mit der Suchfunktion dieses Forums bis Du doch vertraut, oder?

1 Like

occ config:app:set dav calendarSubscriptionRefreshRate %value%

Das funktioniert leider nicht. Wegen Webhosting muss ich es ĂŒber die OCC-App lösen, und gebe ich dort den o. a. Befehl ein, erscheint diese Meldung:

Wahrscheinlich muss ein Wert, anstatt %value% angegeben werden? Aber was genau wĂ€re dann anstatt %value% anzugeben, wenn man z.B. die stĂŒndliche Aktualisierung möchte?

Julix

EDIT:

Wenn ich

config:app:set dav calendarSubscriptionRefreshRate --value=“15”

verwende (15 fĂŒr ein Intervall von 15 Minuten) wird das akzeptiert. Allerdings erscheint unter

config:list
weiterhin der Eintrag
“dav”: {




“calendarSubscriptionRefreshRate”: null,

Sehr wahrscheinlich stimmt dann mein Value-String (–value=“15”) auch nicht?

GemĂ€ĂŸ der folgenden Beschreibung, sollten folgende Intervalle möglich sein:

https://www.php.net/manual/de/dateinterval.construct.php

"P1W"   -> once every week
"P1M"   -> once every month
"PT1H"  -> once every hour
"PT30M" -> once every 30 minutes
...

Somit wĂŒrde ich es z.B. mit folgendem Befehl versuchen:

occ config:app:set dav calendarSubscriptionRefreshRate --value=“PT30M”

occ config:app:set dav calendarSubscriptionRefreshRate --value=“PT30M”

Vielen Dank, j-ed, der Wert wurde jedenfalls schon mal ĂŒbernommen.

Unter config:list bleibt es allerdings beim Eintrag

“dav”: {
“calendarSubscriptionRefreshRate”: null,

Aber vielleicht muss/soll sich dort gar nichts Àndern?

Dise Frage kann ich Dir nicht beantworten. Was wirft denn der folgende Befehl aus:

occ config:app:get dav calendarSubscriptionRefreshRate

Da passiert gar nichts bzw. es wird nichts ausgegeben:

1

Ich kann Dir nicht sagen, ob dies eine Besonderheit der OCCweb-App ist, aber ich kann problemlos einen Wert setzen und mir diesen im Anschluss auch wieder anzeigen lassen:

> ./occ config:app:set dav calendarSubscriptionRefreshRate --value "PT1H"
Config value calendarSubscriptionRefreshRate for app dav set to PT1H

> ./occ config:app:get dav calendarSubscriptionRefreshRate
PT1H

Hast Du zwischendurch einmal versucht die OCCweb-App zu shließen und wieder zu öffnen?

Das = ist das Problem:

Falsch: --value="PT30M"

Richtig: --value "PT30M"

Bei mir haben beide Varianten funktioniert, obwohl gemĂ€ĂŸ der Hilfe nur die Zweite zulĂ€ssig ist.

1 Like

Also der Befehl wird angenommen:

Allerdings unter Eingabe von

onfig:app:get dav calendarSubscriptionRefreshRate

weiterhin eine leere Ausgabe.

Auch der Eintrag unter config:list

“dav”: {
“buildCalendarReminderIndex”: “yes”,
“buildCalendarSearchIndex”: “yes”,
“calendarSubscriptionRefreshRate”: null,
“chunks_migrated”: “1”,
“enabled”: “yes”,
“installed_version”: “1.13.0”,
“regeneratedBirthdayCalendarsForYearFix”: “yes”,
“types”: “filesystem”
},

steht weiterhin auf “null”.

Ich habe es mal getestet, eine Aktualisierung des abonnierten Kalenders findet in meinem Nextcloud-Kalender nicht statt.

Womöglich liegt es vielleicht an der OCC Web App.

Kann ich den Value-Wert nicht auch direkt in einer bestimmten Datei eintragen? WĂ€re das die "RefreshWebcalJob.php” im Verzeichnis “/apps/dav/lib/BackgroundJob/”? Und dort dann einfach den Standardwert “P1W” mit meinem Wert austauschen?

Da es ĂŒber OCC Web offensichtlich nicht funktioniert, wĂŒrde ich den Eintrag “PT30M” gerne direkt in der entsprechenden Datei vornehmen. Ich weiß allerdings nicht, in welcher Datei und an welcher Stelle dort.

Es gibt ja die eingangs erwĂ€hnte Datei “RefreshWebcalJob.php” im Verzeichnis “/apps/dav/lib/BackgroundJob/” und dort den Eintrag

// if no refresh rate was configured, just refresh once a week
$defaultRefreshRate = $this->config->getAppValue('dav', 
'calendarSubscriptionRefreshRate', 'P1W');
$refreshRate = $subscription[RefreshWebcalService::REFRESH_RATE] ??
$defaultRefreshRate;

Ist das die richtige Datei und die richtige Passage? Wenn ja, wo trage ich dann den Wert “PT30M” ein? Oder erfolgt das an ganz anderer Stelle?

Wie die Überschrift vermuten lĂ€sst, sollte dies der Ort sein an welchem der zu verwendende Standardwert gesetzt wird, wenn keine Einstellungen manuell vorgenommen wurde. In diesem Fall wĂŒrde ich die Einstellung “P1W” durch “PT30M” ersetzen.

Ok, vielen Dank.

Ich habe das mal geÀndert:

Alt:

Blockquote
// if no refresh rate was configured, just refresh once a week
$defaultRefreshRate = $this->config->getAppValue(‘dav’,
‘calendarSubscriptionRefreshRate’, 'P1W’);
$refreshRate = $subscription[RefreshWebcalService::REFRESH_RATE] ??
$defaultRefreshRate;

Neu:

// if no refresh rate was configured, just refresh once a week
$defaultRefreshRate = $this->config->getAppValue(‘dav’,
‘calendarSubscriptionRefreshRate’, ‘PT30M’);
$refreshRate = $subscription[RefreshWebcalService::REFRESH_RATE] ??
$defaultRefreshRate;

Mal sehen, ob das was bringt.

Im Changelog und dem Verweis auf die Anleitung findet sich leider (immer noch) nichts.

Ist zwar nun etwas her, suchende werden dieses Thema aber finden


Bei mir in Version 20 funktionieren die Befehle (in Àlteren Versionen schon) nicht und sie werden mit einem Fehler quittiert. Die Syntax scheint geÀndert: deswegen hier eine aktualisierte Version der Befehle (ich benutze SSH mit root zugriff):

occ config:app:set --value “PT30M” dav calendarSubscriptionRefreshRate

occ config:app:get dav calendarSubscriptionRefreshRate

da ich mit anderen Berechtingungen arbeiten muss und PHP eigens aufrufe hier noch der vollstÀndige Befehl:

sudo -u username php occ config:app:set --value “PT30M” dav calendarSubscriptionRefreshRate

Gruß
Rabbit

WĂ€re es nicht schön, wenn Du z.B. einen Screenshot von dem Befehl und der angezeigten Fehlermeldung postest, sodass man weiß welcher Fehler angezeigt wird?

NatĂŒrlich kann ich, hab es nur fĂŒr nicht wichtig erachtet
 :wink:

occ-error1

PRÄZISE Informationen sind immer wichtig :wink:

Das beschriebene Problem kann ich auf meinem Server mit Nextcloud 20.0.7. nicht nachvollziehen. Da Du jedoch die ĂŒblichen Informationen ĂŒber Deine Installationsumgebung und die eingesetzen Software-Versionen nicht bereit gestellt hast sehe ich mich außer Stande die Problemursache weiter einzukreisen. Vielleicht hilft Dir aber folgendes Posting weiter, was ebenfalls auf die angezeigte Fehlermeldung eingeht (Tant G. kennt sicherlich noch mehr Treffer):

Na, dann möchte ich die Informationen auch noch nachliefern
 :slight_smile:

  • Proxmox VM
  • Ressourcen sind ausreichend zugeteilt :wink:
  • Betriebssystem Ubuntu Linux 20.10
  • Nextcloud Version 20.0.7
  • Apache version 2.4.46
  • PHP Version 7.4.9
  • DB MySQL version 8.0.23

LĂ€uft hinter einer Firewall, mit einem reverse-proxy, up-to-date, mit meiner standard Webserver-Config 

Verhalten sonst ist alles normal.

Da es sich um einen occ-Befehl (Config) handelt, wĂŒrde ich am ehesten dort die Ursache vermuten, da er wie auf dem Bild beschrieben eine eindeutige Syntax verlangt, die eben anders ist als die in den “alten” Posts.

er verlangt die Syntax mein bild:

config:app:set --value VALUE

Wobei die Syntax in dem Post von Julix9 auch verlangt wurde, warum er das damals gefuttert hatte, ist mir unklar. In einer anderen Installation mit einer veralteten nextcloud 14.0.7 (schande auf mein Haupt, updates mag er aber nicht
) hat er den Befehl in der Syntax:

config:app:set --value VALUE

genommen.

Wenn ich ĂŒber meine Shared Hosting Platform und dort ĂŒber “Geplante Aufgaben” den OCC Befehl

occ config:app:set dav calendarSubscriptionRefreshRate --value "PT30M"

starte, wird das mit einem “Erfolg” quittiert.

Mache ich den Gegentest ĂŒber

occ config:app:get dav calendarSubscriptionRefreshRate

wird mir richtigerweise “PT30M” ausgegeben.

NUR: Im Kalender findet offensichtlich auch weiterhin kein Sync mit dem abonnierten Kalender alle 30 Minuten statt. Ich habe das getestet.

Julix