Squall: Perfect Plone blogging with Scrawl + Quills

I just did a little experiment today (prompted by a clever idea from Erik Rose) to see if I could achieve Plone blogging nirvana by mashing together QuillsEnabled and Scrawl.  Not only did it work, it made me cackle with such evil genius glee that I needed to write it up.

OK, so you’re probably thinking: Scrawl and QuillsEnabled are both blogging products for Plone — how could you possibly combine them without creating a rupture in the very fabric of spacetime itself?  And yet…

QuillsEnabled is content-type agnostic.  It just provides some very nice portlets (archive, tag cloud, etc), some smart syndication, and a sweet little blog-style view on a folder.  Just create a folder, hit “enable blog” in Actions  (which applies a marker interface to your folder) and start blogging.

Scrawl is in many ways just the opposite.  It provides a Blog Entry content type (a straight-up copy of a News Item), some default settings on the Blog Entry (comments enabled, and a blog-style view for the Blog Entry).

Either of them alone provides a pretty nice blogging experience in Plone.  But each is missing something.  QuillsEnabled can’t let you have comments automatically enabled on only your blog posts, because it’s just using standard Plone content types, and comments get enabled per-type or per-item, but not per-location.  On the other hand, Scrawl doesn’t have nice blog-style portlets, and setting up a blog in Scrawl involves a bunch more pointing-and-clicking than with QuillsEnabled.

Erik suggested that I could install both Scrawl and QuillsEnabled, then tell QuillsEnabled to use Scrawl’s “Blog Entry” objects as its “blog” type (which is a configurable option in QuillsEnabled).  So I did, and it worked beautifully!  I now have a blog based on Scrawl’s Blog Entry objects, which have a nice blog view and default to having comments enabled, wrapped up in QuillsEnabled’s lovely master blog view and portlets.

If you want to give it a try, here’s how:

  1. Add Products.QuillsEnabled, Products.basesyndication (required by Quills) and Products.Scrawl to your buildout.
  2. Install QuillsEnabled, fatsyndication and Scrawl in your Plone site.
  3. Add a folder; use the actions menu to mark it as a blog.
  4. Click the “configure blog” link in the Weblog Admin portlet on the right side of your screen.  Change the “default type” from Document to Blog Entry.
  5. Add Blog Entries to your blog and publish them.

Voila!  You’re now publishing beautiful Scrawl blog entries in a Quills blog.


Warning: I have no idea if this is a good idea or a horrible one.  I certainly wouldn’t advise you to try it in production unless you know how to extract yourself from a sticky situation.

14 thoughts on “Squall: Perfect Plone blogging with Scrawl + Quills”

  1. John, Thanks for writing this up. I have been playing with QuillsEnabled of late, and I have been wondering about the best way to migrate clients sites form Scrawl to QuillsEnabled. Looks like there maybe no migration needed. Just enable QE on the existing Scrawl Blog. Cool.

  2. Jon, thanks for the writeup. However, the Scrawls tarball on plone.org won’t download, it’s an empty file. :-(.


  3. Hmm… how odd, perhaps Plone.org ate our tarball. We’ll check into it ASAP… in the meantime, you can also install via buildout (add Products.Scrawl to your buildout) or check out from SVN if you know how to do that.

  4. Jon,
    This is probably a stupid question… Do you have an example of this combination? Sounds very cool. My assumption is that this blog is running on wordpress. Just curious to see what squall looks like.


  5. @Brett-

    This is a wordpress blog, I started it long before I started using Plone, and am too lazy to migrate. 🙂

    I’ve not actually deployed “Squall” in production yet, but the blog posts look like Scrawl, with the portlets and master blog container provided by Quills. I’ll try to post a few screenshots back here soon.

  6. Hi John,

    Looks great! I just gave this a shot on a test instance, and found a few minor quirks that might be helpful to others:
    – you note “Install QuillsEnabled, fatsyndication and Scrawl” – I also had to install “quills.app” in order for Blog Entry to be activated.
    – Blog Entry must also be made “addable” in Folders under portal_types, otherwise the add new entry form results in an error.
    Thanks for your great work on this! I look forward to seeing it in production.


  7. Hi Jon!
    I love this idea. I’ve been testing it out on a site I’m working on, also using qPloneComments, but ran into a problem where something in QuillsEnabled overrides the anonymous comments of qPloneComments. What happens is anonymous comments are allowed, but instead of saving who the comments are from (i.e. the name of the anonymous user), it says ‘Posted by ‘

    Have you seen this problem before or d’you have any ideas on how to start addressing it? Thanks!


  8. Trying this today with QE 1.70c3 and scrawl 1.3.1 and having problems with date values (less than 1900) causing portlet errors and/or blog folder won’t render.

    What versions are you using together?

  9. I have followed the instructions to have Quills and Scrawl added to the site. Thank you for your excellent write-up.

    I wondered if you might answer a couple quick questions?

    After creating a blog entry by clicking on the Add Entry link above the Manage Comments link on the right side of the page, no items are listed in the recent entries, tag cloud, archive, etc. It does show up on the Contents area (one of the default portlets for the site). The page says “No weblog entries have been posted”

    I had set the Default type to “Blog Entry”. Is this correct?

    Also, for the entry (which I can get to by looking at the folders contents), when I post a comment, I get an error stating “‘NoneType’ object has no attribute ‘strftime'”

    I am really excited to begin allowing my users to post blogs, I just need to work out these last kinks.


  10. I installed qPloneComments, QuillsEnabled, and Scrawl – all the most current versions – on a clean instance of Plone, and still came up with the same anonymous author error. Someone from the QuintaGroup responded to me as well, saying they came up with the same problem and that “QuillsEnabled overrides some discussion functionality. It has to be customized to work as expected.

  11. Rebeca, sorry to hear you had problems… this article is now pretty old… for example, Plone’s core discussion system has now been totally overhauled, rendering qPloneComments unnecessary for most purposes.

    I’ve just installed Products.QuillsEnabled 1.8a1 and Products.Scrawl 2.0b1 (the latest releases available) on Plone 4.1.2 and they seem to work just fine for me.

    I do note that Quills’ “Recent Comments” portlet breaks, probably because it is not yet aware of Plone’s new comment system. However, you could easily disable that portlet and replace it with a Collection portlet to find recent comments.

    If you or anyone is having difficulties with anything related to Plone, please come join us either in the #plone IRC channel or on the Plone-users/general support email list at http;//plone.org/support. I can’t really provide support via blog comment threads. 🙂

Comments are closed.