Weblog

published Nov 03, 2021, last modified Nov 04, 2021

Now on Technorati (or not)

published Oct 11, 2007, last modified Jan 30, 2008

By popular request

As Christian Scholz and Reinout van Rees requested, I have now added technorati tags to my post and claimed my blog at technorati.com. Now my posts should show up there as well, increasing the post count especially for the Plone conference 2007 (tag: ploneconf2007). This post is actually one step in the process to claim my blog at technorati.


To make it more applicable to plone, here is some code that I added to Quills (which is the weblog product I use) so the posts get the proper technorati tags. This is code for the entry_macros.pt file.

Technorati tags:

 
    
      rel="tag"
      tal:content="topic/title_or_id"
      tal:attributes="href
                      string:${techbase}/${topic/getId}">
      Link to the topic
    
  



See my Technorati Profile. Update: Technorati does not seem to pick this post up yet though. Maybe I just have to be patient.

The state of the Plone

published Oct 11, 2007, last modified Jan 30, 2008

Plone conference 2007 Keynote talk, Naples. Speaker: Alexander Limi, Alan Runyan

A lot of people here are on the Plone conference for the first time. Over the last 12 months 84 people committed code to core Plone. That is a lot. Plone is among the top two percent largest open source projects in the world.

Plone 3 has arrived! A great release with few bugs. For the details, see the talk of Jon Stahl of yesterday. Infoworld put us in spot number two a few days ago, after Alfredo.

Plone has a lot of Rock Stars, too much to list here.

A lot of smaller sites are using Plone. You cannot make the major press enthusiastic enough to talk about that though. We now have some major sites though. http://www.novell.com, http://www.cia.gov/ (they might be here at the conference but we will never know), http://discovermagazine.com/ (which is really beautiful).

We have a recent book by Martin Aspeli: Professional Plone Development. We also have Content Management with Plone: Handbook for authors and editors by Thomas Lotze and Christian Theune.

Our own website http://plone.org has gotten quite a bit of attention. It is stable, using caching (varnish). The subversion repository was moved to another server so it could not bring the site down.

What happened with the Plone Foundation. In the United States you can now donate money with tax exemption. We received about 20,000 dollars this years. We are clear about our licensing, enforcing it. We have thirty trademarks now, most importantly the name Plone. Plone Solutions also had rights to this. They graciously have changed their name to Jarn to show their commitment to the community and their support of the Plone Foundation..

On the http://plone.net/ web site we have 200 providers listed, in 44 countries, and over 800 sites listed. There is much cool information there. We can use more case studies there though (18 now), so get your information up there.

How many people here have there own Plone company? (About 80 hands showed I think). And how many of them are searching for new developers? Roughly 60 percent.

The Plone logo is very recognizable. It is a bit pale though. Jola Hyjek is working on that, making it far more readable. It still looks like the original, so that it good.

The documentation area on http://plone.org/documentation was revamped. We made new, clearer categories. Check it out. Sometimes the important thing is getting rid of 14 documents about LDAP and turning them into one really good document.

PloneSoftwareCenter was redesigned, making it much simpler. You can search for products that support Plone 3.0.

The release of Plone 3.0 has been managed by Wichert Akkerman (wiggy on irc). (Applause.) Also applause for Alec Mitchell, who is still managing Plone 2.5 and has released 2.5.4 a few days ago.

Trends. You should look at Lennert Regebro's talk about what Zope did wrong (and right). Philipp von Weitershausen will talk about Zope 3, Grok, Plone working together. Testing is improving. Let's give a round of applause to the original Zope developers. It is ten years old and still holding up very well. The ZODB is still perfect for storing objects.

Everyone is busy. There is huge demand for Plone. It makes a lot of money. A lot of other open source projects struggle there. We have to try to lower the barrier of entry though: make it easier for people to start with Plone and contribute.

We van do better with evangelism. Let people know that you are using Plone and why you are using it. When Plone 3.0 was released I encouraged people to digg it at http://digg.com and we made the top in about 12 hours. We have enough people to do things like that. Blog about it, talk about it, comment about it, link to it.

"The future is here already, it is just not evenly distributed." So what does the future hold? A lot of it is just continuation of current developments. Lots of soft issues instead of only hardcore programming. See the points about evangelism, communication. Jon Stahl: "Approachable Plone". Plone needs to be simple. Joel did a talk about Plone as a humane CMS. Hard things need to be addressed. Darci Hanning is not a coder. She works at a library and made Plone very usable for libraries. I like those stories.

Plone 3.0 was a necessary big lift. It took a lot of time. We pulled it off. Now we want to release 3.1 faster. Small, focused, 100 percent compatible with Plone 3.0. No real new things, but polishing up, making things simple, no risky changes. 3.1 should not break anything that works on 3.0. Big things will go in 4.0 (or 3.5, we will see about the version number).

A lot of people moved from Vignette to Plone. Why is that? What can we learn from other projects. Where are they cooler than us and where do they fail? I like to hear more about that. That can give us a roadmap, a vision.

Talk to other people on the conference here. Meet new friends, exchange good and bad points about Plone. Give that info to the Plone developers.

Thank you for being here (or reading this).

Content rules

published Oct 11, 2007, last modified Jan 30, 2008

Plone conference 2007, Naples. Speaker: Kamon Aveya Company: Ingeniweb

Plone conference 2007, Naples. Speaker: Kamon Aveya Company: Ingeniweb

In Plone Content is king. Content is a first class citizen. You manage content. But we still do a lot of stuff manually: content modification, reviewing, publishing, awareness of content/workflow changes, collaboration, etc. Of course you can add python code to do some things automatically.

"Content rules" to the rescue! This is a new feature in Plone 3. It allows the Manager of the site to automatically do things with content.

We have a content rules engine. Rules allow automatic actions based on triggers. Rules consist of three parts: if an event happens and if a condition is True, some action is taken.

The main events that are available to the rules engine are: an object is added to a container (folder), or removed from it, or moved to another container, an object is modified, or its workflow state has changed.

Possible use cases:

  • Moving contents automatically.
  • Log content modifications in the event log or somewhere else.
  • Provide notifications as a status message.
  • Send email messages.

You get these use cases out of the box with Plone 3. They work already. So some of the things that you were doing manually or by writing some custom code yourself are now available by default.

What you can do, is manage News items better. You can put News items anywhere. You can have a Collection for having a central folder that shows all News items. But having News items all over the site is not very nice. So you can use a content rule: when a News item is published, it is moved to a specific central folder.

In the Content rules configlet in the Plone Control Panel you add a new rule with the workflow change trigger. You select some conditions then: do this for the content type News item and only for the publish transition. And you select an action: move it to a folder of your choosing.

Now you go to the root of your site and as Manager you click the Rules Tab. At that point you can say which content rule you want to use here and in sub folders if the rule is not activated globally.

You can add an email action. That has a field where you can use things like ${title} and ${url}.

Other examples:

  • Track the removal of content. This works already.

  • Prepopulate a folder, for example a MemberFolder. You can write an action for that. The start of an implementation would be:

    class IPopulateAction(Interface):
        skeleton_folder = schema.Choice(...)
    

It is powerful and extensible. Use it when it makes sense for your use case!

plone.portlets

published Oct 10, 2007, last modified Jan 30, 2008

Plone conference 2007, Naples. Speaker: Geir Baekholt

Plone conference 2007, Naples. Speaker: Geir Baekholt

The left_slots and right-slots properties are probably the oldest piece of Plone that is sill in 2.5. It is at least seven years old. It is not working really nice for users or developers.

Then we had PlonePortlets. With this product, portlets became content objects (which is not terribly nice). They worked but has many side effects.

In April 2006 we had the Archipelagosprint in which we spent time thinking about portlets and coding a bit. Then everyone went home and did nothing about it. Except Martin Aspeli (optilude on irc). He almost singlehandedly (well, with help by Philipp von Weitershausen) coded plone.portlets and plone.app.portlets which is in Plone 3.0.

In Plone 3.0 portlets are objects, not templates (although there are templates in the background of course, to actually show the portlets in the browser).

Default portlets are the login portlet, navigation, calendar, recent items, news, events, search, RSS feed (though it does not work), review list and the classic portlet (which we will see later).

Adding portlets is now more involved than just setting the left_slots and right_slots properties. They can be assigned to context, users/groups and content types.

With the Manage Portal permission you have a link at the bottom of the left and right slots to a page for managing the portlets of that context. You can also block portlets in subfolders. Due to a bug this does not work in Plone 3.0, but it does work in 3.0.1.

Often you want to have a portlet that is only visible to for example the finance department. You can now do this in the Group Management in the Plone Control Panel. Go to the Group Portlets tab and add left and right portlets there for this group.

You can have user portlets. A user can add portlets in his personal dashboard. Click on the user name (next to logout usually). Edit your dashboard there and add your favorite portlets.

There is a static portlet in the collective. It is a good example that you can copy. Also look at the Collection portlet, which can come in place of the News and Recent Items portlets.

These new portlets are a bit more complex than the old ones. For backwards compatibility there is the Classic portlet so you can still use them (with all its downsides of course).

Portlets are not viewlets. Portlets are persistent. Viewlets are defined in zcml.

Porlets have at least: interface, assignment, renderer. Possibly also an add form, edit form. Interface describes what it looks like (it has a header attribute in our case), inheriting from IPortletDataProvider. The Assignment class implements that Interface. The Renderer class renders the portlet (mostly using a template). It also has a method available so you can use that to conditionnally show the portlet. You wrap all this up with some lines in a zcml file.

In the future we want to have more GenericSetup support for this so you can define portlet assignments in xml so you do not need to write code for this. (Are there any volunteers?) We need widgets for more advanced configuration. We need more reusable portlets. Try it! We also may come up with a paster template that you can use as a starting point for your own portlet.

Multimedia in Plone

published Oct 10, 2007, last modified Jan 30, 2008

Plone conference 2007, Naples. Speaker: Nate Aune

Plone conference 2007, Naples. Speaker: Nate Aune

Plone has rss 1.0. This does not support enclosures, so not podcasting. Plone4Artists improves this. It uses Zope 3 technologies: it does not introduce new content types. You can just use it to adapt existing content types.

Plone4ArtistsSite wraps together a few of the Plone4Artists products.

We went from CMFAudio (CMF) via ATAudio (Archetypes) to Plone4Artists (Zope 3). Instead of ATAudio, ATVideo, ATPhoto we just have default content types like ATFile, ATImage, ATLink and adapt it to our needs with Plone4ArtistsAudio/Video, etc.

Example sites: http://talk.bmc.com, http://engagemedia.org, http://thedailyreel.com, http://bilive.it, http://phonogen.com and since last Thursday... http://plone.tv!

Id3 metadata is automatically extracted by Plone4Artists and when you edit them they are written back to the audio file. That is cool.

With WebDav you can upload audio content to Plone.

You can turn a SmartFolder into a podcast.

Uploading large files is tedious in Zope. To improve this you now have ZipFileTransport, PloneFlashUpload and Tramline.

More info: http://plone4artists.org/products

irc: #plone4artists on irc.freenode.net