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