Monthly Archives: December 2009

unrestrictedGetObject()

Argh! Sometimes I am truly amazed by how much I can complicate things.

For the past year or so, every time I had to access an object with brain.getObject() that I otherwise did not have permission to, I went to great lengths hacking Zope’s SecurityManager to let me do it.

Today, I was introducted to unrestrictedGetObject(). I have kind of expected that it should exist, but I’ve always looked in the wrong place. It’s dead-easy to use:

brain._unrestrictedGetObject()

Hopefully this spares someone some frustration.

CWPortlets, Scrawl and DISQUS

Following previous post, here are instructions to get above mentioned products running on Plone 4 Alpha 2.

Products.ContentWellPortlets

ContentWellPortlets is a great product that enables you to add portlets before and after content as well as in the footer.

There is no official release for Plone 4 yet (as expected) so you need to use the latest code directly from the collective subversion repository. Fairly simple, with a little help from a buildout recipe called infrae.subversion.

[buildout]
parts += eggcheckouts

[eggcheckouts]
recipe = infrae.subversion
location = src
as_eggs = true
urls =
    TODO

Products.Scrawl

Scrawl is a simple blogging tool for Plone. Exactly what we need for this site.

The procedure for installing it on Plone 4 Alpha 2 is the same as above. Only change the url to TODO.

collective.disqus

This product replaces default Plone commenting engine with DISQUS commenting system. Perfect for simple sites like this one.

Installation is fairly simple, just add collective.disqus to eggs section of your buildout.cfg, re-run buildout and restart Zope. Now just enter your DISQUS id in the plone control panel and you are done.

Plone4 + collective.xdv + deco.gs

Here at NiteoWeb Ltd. we decided a few days ago that we should start trying out Plone 4 in order to be ready for the stable release. There are quite some new features that I can’t wait to start using on production sites.

Being in adventurous mood I volunteered for the job. I also wanted to give collective.xdv a go. So the first step was to grab the Plone 4 development buildout and marry it with collective.xdv buildout for Plone 3. After some trial-and-error it started working. You basically just add collective.xdv to eggs section in buildout.cfg and that’s it:

eggs =
 Plone
 plone.reload
 collective.xdv

Then I was off to code HTML template that I would use with xdv. After a few lines of CSS I remembered Limi‘s talk about deco.gs on the Plone Conference and still feeling adventurous I couldn’t refuse the temptation to position elements in the HTML template with the Deco grid system. It didn’t go as smoothly as with installing collective.xdv as there’s some lack of documentation, but the general idea is simple enough that you can grasp it rather quickly.

Having a proof-of-concept for all three components I also needed a real site to try it out. So I decided to update our old corporate website. After a rainy weekend it was ready to go live. As a beta :). Hence the warning:


This site is using a bleeding-edge Plone version. Please bare with us if something isn’t working properly. We are doing this to test the new version of Plone and help it make better for everyone.


TODO:

  • port (if necessary) ContentWellPortlets product to Plone 4 and install it to have a dinamic footer
  • port (if necessary) Scrawl blogging platform to Plone 4 and install it
  • integrate Disqus commenting platform