[Product-Developers] Re: Help identify Plone's API

Martin Aspeli optilude+lists at gmail.com
Sun May 17 17:07:45 UTC 2009

Hi Mikko,

>      http://www.mindmeister.com/maps/show/21419197
> Is it just my, but I can't get the link open even after registering 
> myself to mindmeister (gives me my dashboard page)?

Mmm... that sucks. I had some trouble signing up, too. Did you use 
openid? I think I did at first, and it was a bit broken.

Can you try this URL instead?


That should work even if you're not logged in. At least I think so.

> In any case here is the old discussion from docs list from while ago:
> http://www.openplans.org/projects/plone-documentation/list-of-manuals
> Note that API does not only include Python API, but all templates and 
> CSS classes are basically undocumented. There already exist javadocs 
> like CSS documentation frameworks. But as long as it takes <tal:comment 
> replace="nothing"> </tal:comment> overhead to write a comment in TAL we 
> have little hope that anyone could ever bother to write comments there.

This is a problem, but not one that I want to solve with this specific 
effort. The stuff that's in CSS and TAL is different (it's something you 
may need to understand to customise, rather than something you call 
directly). There is a small number of re-usable macros/views that may be 
worth listing, but let's not worry about them for now. To keep this task 
managable, I only want to focus

>     <http://www.mindmeister.com/maps/show/21419197>
>      - 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)
> PloneTestCase has too less functionality out of the box and you have to 
> reinvent the functionality for every test case/product - also it has 
> tons of partially documented boiler plate code which is very fragile and 
> does not give meaningful error results.

+1. We should have a catagory for 'testing' I guess. That may be quite a 
big one, even.

> PTC could have functions e.g. for:
> - Automatic product/package/layer/whatever initialization without 
> boilerplate
>  - MailHost mocking
> - Sane error output for functional tests
> - Security testing (test code executed under RestrictedPython)


>  > Missing APIs...
> How to register and manipulate Z3 registeries (adapters, subscribers, 
> viewlets, views) from Python in Plone context. 

Actually, I would discourage this. Maybe some functions should be 
mentioned under the 'testing' banner, and possibly some of the 
introspection stuff would be useful, but we should be careful.

> Five/site awarness/etc.  adds extra complexity for this and Zope 3 
 > documents cannot be applied
> for Plone as is.

Are you sure? I'm pretty sure the basic zope.component APIs work just 
fine in Plone.

> Basically all can be done with magic multi adapter 
> queries as long as you would know the parameter list and the right 
> site(?) to call.

I don't understand this sentence. Manipulating registries does not 
require that you look up any multi adapters as far as I know?


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