Jump to content

Your Ad Could Be Here

  • entries
    17
  • comments
    2
  • views
    9,701

Fixing Kupu in deliverance configuration


409 views

I am running some websites, which is helping to pay for the rent of the dedicated server I am running this website on. The system I am running is Plone, and I have been asked by people in the Plone community to blog about the solutions I frequently find.

For my newest customer, Ignarbakke (Not quite finished, so disregard the shabby design) - I have for the first time set up a deliverance solution. Deliverance is a brilliantly smart concept, both separating design from logic and giving you some neat possibilities of seamlessly combining several types of backend web applications into a frontend.

However, I have been having some problems in making it play nicely - both with issues in my Varnish cache frontend, and problems with the Kupu editor in Plone. Firstly, I had problems logging in to the site since my Varnish cache kept caching my pages even if I was logged in. This turned out to be a problem with all my sites, but since I usually log in with https which bypasses my cache, I hadn't noticed. The issue was easily solved by adding the following lines to vcl_fetch in the Varnish config:

} elsif (req.http.cookie ~ "__ac" || obj.http.set-cookie ~ "__ac") { set obj.http.Cache-Control = "max-age=0, s-maxage=0, no-cache, must-revalidate, proxy-revalidate"; set obj.ttl = 0s; set obj.http.X-Finns-Varnish-Rule = "Plone logged in - do not cache"; } (This is one of several conditions in vcl_fetch - hence the "elsif")

The other problem was that editing pages with the Kupu editor just didn't work. This was a bit more puzzling to me, and I googled my way until I found this page which shed some light on the mystery - however without solving it. I understood that Kupu depended on a pristine /emptypage - so I modified the Deliverance configuration in the example to the following:

<!-- RULES FOR MAKING KUPU WORK --> <match path="contains:emptypage" class="emptypage"> <dest href="http://localhost:8080/VirtualHostBase/http/www.ignar.no:80/ignar/www/VirtualHostRoot" /> </match> <rule class="emptypage"> <replace content="element:/html/head" theme="element:/html/head" /> <replace content="element:/html/body" theme="element:/html/body" /> </rule> Basically I used a match instead of a proxy - and that solved my problems nicely. Hopefully this will help others with the same problems.

Source

0 Comments


Recommended Comments

There are no comments to display.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By continuing to use our site you indicate acceptance of our Terms Of Service: Terms of Use, our Privacy Policy: Privacy Policy, our Community Guidelines: Guidelines and our use of Cookies We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.