[commits] r56 - in selinux-site/trunk/selinux.theme/selinux/theme: . profiles/default skins/selinuxtheme

tim at mail.se.linux.org tim at mail.se.linux.org
Tis Juli 17 00:07:51 CEST 2007


Author: tim
Date: 2007-07-17 00:07:50 +0200 (Tue, 17 Jul 2007)
New Revision: 56

Added:
   selinux-site/trunk/selinux.theme/selinux/theme/skins/selinuxtheme/global_cache_settings.pt
   selinux-site/trunk/selinux.theme/selinux/theme/subscribers.py
Modified:
   selinux-site/trunk/selinux.theme/selinux/theme/configure.zcml
   selinux-site/trunk/selinux.theme/selinux/theme/profiles/default/properties.xml
Log:
Adding some code to cache the frontpage and automatically purge it from the varnish cache when new news are added.


Modified: selinux-site/trunk/selinux.theme/selinux/theme/configure.zcml
===================================================================
--- selinux-site/trunk/selinux.theme/selinux/theme/configure.zcml	2007-07-14 12:22:37 UTC (rev 55)
+++ selinux-site/trunk/selinux.theme/selinux/theme/configure.zcml	2007-07-16 22:07:50 UTC (rev 56)
@@ -19,4 +19,10 @@
 
   <include package=".browser" />
 
+  <subscriber
+      for="Products.ATContentTypes.content.newsitem.ATNewsItem
+           zope.app.container.interfaces.IObjectAddedEvent"
+      handler=".subscribers.news_added"
+      />
+
 </configure>

Modified: selinux-site/trunk/selinux.theme/selinux/theme/profiles/default/properties.xml
===================================================================
--- selinux-site/trunk/selinux.theme/selinux/theme/profiles/default/properties.xml	2007-07-14 12:22:37 UTC (rev 55)
+++ selinux-site/trunk/selinux.theme/selinux/theme/profiles/default/properties.xml	2007-07-16 22:07:50 UTC (rev 56)
@@ -1,6 +1,5 @@
-<?xml version="1.0"?>
+<?xml version="1.0" encoding="utf-8" ?>
 <site>
- <property name="title">Svenska Linuxföreningen</property>
  <property name="layout" type="string">selinux_index</property>
  <property name="email_from_address"
     type="string">webb at se.linux.org</property>

Added: selinux-site/trunk/selinux.theme/selinux/theme/skins/selinuxtheme/global_cache_settings.pt
===================================================================
--- selinux-site/trunk/selinux.theme/selinux/theme/skins/selinuxtheme/global_cache_settings.pt	2007-07-14 12:22:37 UTC (rev 55)
+++ selinux-site/trunk/selinux.theme/selinux/theme/skins/selinuxtheme/global_cache_settings.pt	2007-07-16 22:07:50 UTC (rev 56)
@@ -0,0 +1,10 @@
+<metal:cacheheaders define-macro="cacheheaders">
+    <metal:block tal:define="dummy python:request.RESPONSE.setHeader('Content-Type', 'text/html;;charset=%s' % charset)" />
+    <metal:block tal:define="dummy python:request.RESPONSE.setHeader('Content-Language', lang)" />
+    <metal:block tal:define="dummy python:request.RESPONSE.setHeader('Expires', 'Sat, 1 Jan 2000 00:00:00 GMT')" />
+    <metal:block tal:content="structure python:here.enableHTTPCompression(request=request, debug=0)" />
+
+    <metal:anon tal:condition="python: isAnon and context.portal_type == 'Plone Site'">
+        <metal:block tal:define="dummy python:request.RESPONSE.setHeader('Cache-control', 's-maxage=3600')" />
+    </metal:anon>
+</metal:cacheheaders>

Added: selinux-site/trunk/selinux.theme/selinux/theme/subscribers.py
===================================================================
--- selinux-site/trunk/selinux.theme/selinux/theme/subscribers.py	2007-07-14 12:22:37 UTC (rev 55)
+++ selinux-site/trunk/selinux.theme/selinux/theme/subscribers.py	2007-07-16 22:07:50 UTC (rev 56)
@@ -0,0 +1,11 @@
+from Products.CMFCore.utils import getToolByName
+
+def news_added(obj, event):
+    """ This is called when a news item is added to the site. """
+    if obj.aq_parent.portal_type != 'TempFolder':
+        print "NEWS ADDED"
+        cache = getToolByName(obj, 'portal_squid', None)
+        portal = getToolByName(obj, 'portal_url').getPortalObject()
+        if cache:
+            cache.pruneObject(portal)
+            print "PRUNED"




More information about the commits mailing list