• This plugin is able to read directly from an URL. However this URL must be publicly read. That is not always possible because authorization is required (e..g. horde kronolith). But to read/download the ICS file is easy with wget:

    wget –user=”username” –password=”password” https://my.server.fr/xxx/yyy/zzz/abcdefg/file.ics –output-document=myagenda.ics

    And with a simple cron job this file is always up-to-date, no caching needed, no special header like url:…?nocache=true. In fact very simple. Is it possible to use such a file in this plugin?

Viewing 4 replies - 1 through 4 (of 4 total)
  • Plugin Author anmari

    (@anmari)

    Sure – did you try it?
    setup your simple cron job with wget to your local server.
    Then use the public local server ics file url as your ics url.

    Thread Starter baartr

    (@baartr)

    Thanks for the answer and the plugin.

    Yes, I did try it. It is simple and it works. I put something as URL like https://localhost/somewhere/calender.ics.

    This method is of course not very fast because the complete ics-file is handled every time you display the calender. I assume you try to speed up things a little by reading the downloading the ics-file end write it on the local filesystem. A kind of simple cache. Which is useless in this case because the ics-file is already local and up to date. I don’t see any performance gain with copying the ics-file to a cache.

    So what I wanted to ask is: can I prevent the the copy to the cache or can I configure my local ics-file as cache file. In fact I would like the plug-in to read my ics-file directly.

    It solves also the delay of showing the calender updates.

    Plugin Author anmari

    (@anmari)

    No, no way not to cache currently. Cache not just for speed, also because many sites using this plugin are slow site, or slow connections and if there’s a http timeout, without a cache, the plugin would have no data to use and would display nothing. With cache,it can display the last fetched data.

    Your use is unusual, if displaying event data publicly, it is generally assumed that the ics file should be public.

    You can set the refresh/cache time down low – see settings, you could match/halve your cron job frequency. Most users of this plugin do not have very frequent event updates – it is not intended for a high volume/update event system.

    The complete ics file is always evaluated because the latest state of an event (especially a recurring event) can consist of multiple VEVENT sections. Therefore one has to parse the whole file to see if there are any modifications to the original VEVENT. If historical events are not required, and the originating system allows, one should try have the ics file only include future events to minimise size.

    Plugin Author anmari

    (@anmari)

    Another idea you could try.

    Maybe make the wget destination the cache location and set the cache to very infrequent. Possibly php would be ok reading the file, then cacheing to same file? And if it did that very infrequently, then your wget would be the thing updating the ‘cache’.

Viewing 4 replies - 1 through 4 (of 4 total)
  • The topic ‘Agenda from ICS file’ is closed to new replies.