Zunächst wird ein GenericSetup-Profil registriert für das ICacheProfiles-Marker-Interface registriert:
<genericsetup:registerProfile name="with-caching-proxy" title="With caching proxy" description="Settings useful for setups with a caching proxy such as Squid or Varnish" directory="profiles/with-caching-proxy" provides="Products.GenericSetup.interfaces.EXTENSION" for="plone.app.caching.interfaces.ICacheProfiles" />
Dies bewirkt zugleich, dass dieses Profil nicht als Profil im Erweiterungen-Kontrollfeld von Plone ausgewählt werden kann.
Das Verzeichnis profiles/with-caching-proxy enthält eine registry.xml-Datei mit Einstellungen für die Regelsätze zum Verknüpfen von Objekten mit Caching-Operationen, z.B.:
<record name="plone.caching.interfaces.ICacheSettings.operationMapping"> <value purge="False"> <element key="plone.resource">plone.app.caching.strongCaching</element> <element key="plone.stableResource">plone.app.caching.strongCaching</element> <element key="plone.content.itemView">plone.app.caching.weakCaching</element> <element key="plone.content.feed">plone.app.caching.moderateCaching</element> <element key="plone.content.folderView">plone.app.caching.weakCaching</element> <element key="plone.content.file">plone.app.caching.moderateCaching</element> </value> </record>
Um z.B. RAM-Caching für die weak caching-Operation von Ressourcen zu erlauben, wird der Regelsatz plone.content.itemView verwendet:
<record name="plone.app.caching.weakCaching.plone.content.itemView.ramCache"> <field ref="plone.app.caching.weakCaching.ramCache" /> <value>True</value> </record>