[Product-Developers] Help identify Plone's API

Martin Aspeli optilude+lists at gmail.com
Sun May 17 16:02:17 UTC 2009

Hi folks,

We've recently had some discussions about what Plone's "API" looks like. 
The challenge, of course, is that so many things are customisable, so 
"the API" is really a very loose term, when you can call just about 

That said, I think there are about 50-100 interfaces/tools/functions 
that cover 80% of what most of us do day-to-day. If we can capture 
those, we can do some useful things like:

  - identify which APIs suck
  - identify which APIs we're missing (i.e. we end up having to poke at 
internals when we should have some clearly defined interface)
  - identify where we have duplication and can consolidate APIs
  - document!

As an end goal, I'd like us to extend and refactor the "Manipulating 
Plone Objects Programmatically" tutorial[1] into a more hierarchically 
structured reference manual that covers the most common tasks. Some 
tasks may require references to other tutorials (e.g. the Archetypes 
tutorial), but at least it's a starting point and a place to collate 
future APIs as well.

The current groupings and lists of APIs can be found here:


That mind map is public, though you may need to sign up for an account 
(OpenID support makes that pretty quick if you have that already). I can 
also give you access to edit the mind map if you want to collaborate: 
just drop me an email with your MindMeister user id.

At this point, I'm interested in:

  - any APIs that you use regularly that are not captured
  - any APIs that you use regularly that you hate (whether on the list 
or not)
  - any APIs you wish you had, that you can't find anywhere
  - any comments/suggestions on how to group and structure these

Please leave your comments in this thread.



Author of `Professional Plone Development`, a book for developers who
want to work with Plone. See http://martinaspeli.net/plone-book

More information about the Product-Developers mailing list