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 anything.

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:

  http://www.mindmeister.com/maps/show/21419197

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.

Cheers,
Martin

[1]http://plone.org/documentation/tutorial/manipulating-plone-objects-programmatically

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


_______________________________________________
Product-Developers mailing list
[email protected]
http://lists.plone.org/mailman/listinfo/product-developers

Reply via email to