WebOffice 10.9 bietet standardmäßig Möglichkeiten an, um das Löschen des Browsercache nach Einspielung eines Sammelpatch oder Service Pack zu vermeiden. Dabei wird grundsätzlich mit Expiry Filters von Apache Tomcat gearbeitet, die festlegen, wie lange bestimmte Dateien im Browsercache gehalten werden sollen. Jedem Filter ist zusätzlich auch noch ein spezielles Filter-Mapping zugeordnet, wodurch festgelegt wird, welche Verzeichnisse und deren Dateien vom Expiry Filter betroffen sind. Die dafür notwendingen Parameter sind in der ..\Tomcat\webapps\<WebOffice Application>\WEB-INF\web.xml definiert:
Wichtiger Hinweis: Hierbei handelt es sich um eine Standardkonfiguration der Datei web.xml, die mit WebOffice 10.9 ausgeliefert wird. Bitte beachten Sie, dass in dieser Datei keine Änderungen durchgeführt werden dürfen!!
- CacheExpiryFilter_oneYear
Der Filter <filter-name>CacheExpiryFilter_oneYear</filter-name> betrifft alle Verzeichnisse und deren Dateien, die maximal ein Jahr im Browsercache gehalten werden sollen:
..\Tomcat\webapps\<WebOffice Application>\arcgis_js_api
..\Tomcat\webapps\<WebOffice Application>\client
..\Tomcat\webapps\<WebOffice Application>\dojo
..\Tomcat\webapps\<WebOffice Application>\client_flex
..\Tomcat\webapps\<WebOffice Application>\client\mobile\js\dojo-release-1.7.2
..\Tomcat\webapps\<WebOffice Application>\client_preview - CacheExpiryFilter_oneDay
Der Filter <filter-name>CacheExpiryFilter_oneDay</filter-name> betrifft alle anderen Verzeichnisse und deren Dateien, die nicht oben aufgelistet wurden. Diese werden für 1 Tag im Browsercache hinterlegt. - CacheExpiryFilter_immediate
Zusätzlich gibt es auch vereinzelte Verzeichnisse und deren Dateien, die gar nicht im Browsercache vorgehalten werden sollen. Dies wird mithilfe des Filters <filter-name>CacheExpiryFilter_immediate</filter-name> gesteuert.
Hinweis:
Vorteile dieser Standardkonfiguration:
- Nach Einspielung eines Service Pack oder eines Sammelpatch haben alle Endanwender einen Tag danach einen aktuellen Stand - komplett ohne Löschen des Browsercache. Unsere Empfehlung dabei lautet, dass ein neuer Sammelpatch beispielsweise am Freitagabend oder am Samstag eingespielt wird, damit alle Endanwender am Montagmorgen davon profitieren.
Nachteile dieser Standardkonfiguration:
- Wenn ein Proxy-Server veraltete Dateien im Cache vorhält, dann kann es vorkommen, dass die Änderungen durch Einspielen eines Sammelpatch nicht sofort im Client sichtbar sind. Diese sind dann entsprechend des konfigurierten Expiry Filters zeitlich versetzt ersichtlich, da dieser auch auf den Cache des Proxy-Servers wirkt.
- Einige Dateien von WebOffice werden nun nie gecached und somit immer abgerufen - dies kann sich gegebenenfalls negativ auf die Performance auswirken.
- Einige Dateien von WebOffice werden immer einmal pro Tag abgerufen. Daher kann der erste Projektaufruf am Tag etwas länger dauern.
Individualisierung des Caching
Natürlich ist es möglich diese Standardkonfiguration hinsichtlich der eigenen Bedürfnisse zu optimieren. Beachten Sie jedoch dabei, dass die Datei web.xml, die diese Standardkonfiguration beinhaltet, unter keinen Umständen verändert werden darf! Die Einstellungen dieser Datei können allerdings durch entsprechende Einträge in ..\Tomcat\webapps\<WebOffice Application>\WEB-INF\web_user.xml übersteuert werden. Dafür sind folgende Punkte zu beachten:
- Öffnen Sie die Datei web_user.xml in einem Texteditor (z.B. Notepad++)
- Darin sind zumindest ein Filter und ein dazugehöriges Filter-Mapping notwendig (siehe untenstehenden Screenshot). Kopieren Sie sich dafür die entsprechenden Zeilen aus der Datei web.xml in die Datei web_user.xml
Hinweis: Achten Sie beim Kopieren der entsprechenden Einträge in die Datei web_user.xml darauf, dass keine Einträge in der Datei web.xml überschrieben werden!
Definition von "filter" und "filter-mapping" in der web_user.xml
- Optimieren Sie anschließend die entsprechenden Attribute nach den eigenen Anforderungen
Hinweis: Die standardmäßig definierten Filter "CacheExpiryFilter_oneYear", "CacheExpiryFilter_oneDay" und "CacheExpiryFilter_immediate" dürfen nicht mit dem selben Namen übersteuert werden!
Hinweis: Detaillierte Informationen zu den einzelnen Attributen und deren Variationen erhalten Sie im Kapitel zur Konfiguration des Expiry Filters in der Apache Tomcat Dokumentation.
Hinweis: Laut Servlet Specification SRV.11.2 sind für das Attribut "<url-pattern>" folgende Patterns erlaubt:
A string beginning with a '/' character and ending with a '/*' suffix is used for path mapping.
- A string beginning with a '*.' prefix is used as an extension mapping.
- All other strings are used for exact matches only.
Hinweis: Falls eine Ressource durch mehrere Expiry-Filter getroffen wird, gilt der Effekt des "letzten" Filters. Dies bedeutet, dass jener Filter für die entsprechenden Dateien herangezogen wird, der zuletzt konfiguriert ist.
- Speichern Sie abschließend Ihre Anpassungen im Texteditor
Kommentare
0 Kommentare
Zu diesem Beitrag können keine Kommentare hinterlassen werden.