| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
| |
Prefetching of calendars now happens asynchronously in the background,
for all calendars that are still being displayed somewhere, and where a
certain age threshold is reached. This avoids slow and seemingly hanging
requests for updated calendar data, and for panels that are often
requested ad-hoc by users it increases chances that the calendar can be
served from cache.
|
| |
|
|
|
|
| |
We can now give a precise deadline until which the backend(s) will try
to update stale calendar data, and just return cached data for all the
entries where no time was left.
|
| | |
|
| |
|
|
| |
Mostly redundant checks, logic errors, dead code, etc.
|
| | |
|
| |
|
|
|
|
|
| |
* Auto-convert to utf8mb4_unicode_520_ci
* Use foreach instead of while to loop over results
* Drop useless statement caching
* Keep emulated prepares, as we sometimes loop over nested queries
|
| |
|
|
|
|
|
| |
Previously, we'd only deliver calendar data to the panel if the cache
timeout hasn't been reached yet. In case fetching fresh data from the
backend fails, go ahead and deliver the old cached data, no matter how
old it is.
|
| |
|
|
|
|
|
|
|
| |
iCal downloads are much faster in more revent HisInOne versions, while
the SOAP API will make cobbling together a time table for a specific
room even more complicated in the next release (2020.12).
Switch to iCal for now and see how it goes.
TODO: Create a generic iCal backend module based on this.
|
| |
|
|
| |
Signed-off-by: Stefan Weil <sw@weilnetz.de>
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
| |
We try to refresh calendars that have recently been used
to coalesce requests, which helps especially with HisInOne.
However, this would in turn make the calendar recently
refreshed so it would keep going on and on, as long as there
is at least one active info panel making actual requests.
|
| |
|
|
|
|
|
| |
- Potential race with calendar updates
- Coalesqing depends on total number of locations, not just additional
ones
- Copypasta error in date fix function
|
| |
|
|
|
|
| |
The SimpleXML constructor is quite verbose if you pass it e.g. an HTML
error page instead of the expected XML. Suppress those errors, we'll do
our own (more concise) logging in the exception handler.
|
| | |
|
| |
|
|
| |
production
|
| |
|
|
|
|
|
|
| |
possible
The weekcalendar plugin chokes on badly formatted timestamps, so either fix
or remove dates which don't match the expectation.
Fixes #3192
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Webkit/Presto and Blink/Gecko (or rather the corresponding JS engine) disagree
about how to handle certain date format strings wrt. time zones. This leads
to nasty discrepancies of events being displayed in the calendar. (Unfortunately
the students working on this project could not be convinced that properly
handling time zones when dealing with time information should be considered
important.)
Also, some tweaks to CSS/layout have been implemented so the design isn't as
messed up on old webkits that don't support flex layout.
|
| |
|
|
|
|
|
| |
There's no need to generate parameters server side that get passed to
the template engine which generates javascript code that generates
html snippets in the browser.
We now generate everything server side right away.
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
| |
- The backend URL still had special treatment for legacy reasons, when it
would be perfectly fine to make it just another generic property the
backend has to define.
- Allow for the backend to declare a default value for properties.
- Base class will now check and sanitize the setCredentials() input.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
improvements:
- Add more checks for returned data structures from backend, like keys in arrays
- Better error messages if something goes wrong, not just "server sent wrong xml"
- Make checkConnection() of davinci and hisinone not require a valid room id, which
we don't have in general
- hisinone: Parse data structure just once for every room
- Request coalescing: Only try so if getRefreshTime() > getCacheTime()
- Move toArray() to base class instead of having two copies
- Sanitize variable naming conventions
|
| | |
|
| |
|
|
| |
in dem Monat das Semester wechsel
|
| |
|
|
| |
aktualisiert werden muss ist behoben
|
| |
|
|
| |
im errorlog ausgegeben
|
| | |
|
| |
|
|
| |
eingefügt der vergessen wurde
|
| |
|
|
| |
eingefügt der vergessen wurde
|
| | |
|
| |
|
|
| |
jetzt nur noch arrays zurück
|
| |
|
|
| |
beschrieben
|
| |
|
|
| |
vereinheitlicht
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
serverID wird jetzt in setCredentials gesetzt
|
| | |
|
| | |
|
| | |
|
| |
|