A more simple editorial process in Plone

Ecrit le 17 Feb 2010

For a project I have tried to create a more simple editorial process for Plone.To understand this you have first to know the normal editorial process of Plone:

  • First you have to go to the folder where you want to add your article.
  • Next you click on add an article
  • You fill the form (content + categorisation)
  • Finaly you publish your article.

Pages are created with topic to fake publication of one article in multiple sections.

Contents are stored like on a computer : inside folders.

In many project this is a pain because the writer must first thinking about “where do I will add this article”.

So the idea is here. Remove the first step and simply use a link “add article” available anywhere in the site.

The way to achieve this is to create one “database” (large plone folder) per content type and add one action category with all “add xxx” actions + a portlet. At the moment I initialise this in policy.

Now we are able to create article without that first step. We need to know How to keep my tree that make so nice URL with Plone ? Let me introduce you the magic “acquisition” used with topic: collective.inplacetopicview.

A topic is like a persistent search done in Plone. The webmaster add criteria, and the display is like folders but links point to the real destination where article has been added. This add a real issue when you add contextual theming inside Plone. The user can be very surprised if just by clicking on an article link he moved outside the current context (so theme can change).

With inplacetopicview the link has a different behaviour. When you click you just stay in the current context so theme just stay the same.

There are different way to achieve this. inplacetopicview doesn’t add any new content type or what so ever, it just add some new views that let your visitor stay in the context of the topic but in different ways:

  • With acquisition (domain.com/mytopic/articles/myarticle with myarticle real path = /myplone/articles/myarticles)
  • With beatifulsoup by rendering both article and topic, and replace the content of the topic with the content of the article.

There are some other idea to implements in inplacetopicview like

  • Ajax
  • Popup

Now let’s try it by installing collective.inplacetopicview and add an initial structure with transmogrifier in your profile.

This process is not perfect but it is one first step done. For example image content handle threw wysiwyg editor need customization. The breadcrum show the real path.

Let me know what you think of this process and if you have idea to improve it.