| From | Sent On | Attachments |
|---|---|---|
| 66 earlier messages | ||
| Ross Gardler | Oct 3, 2005 10:17 am | |
| Luca Morandini | Oct 3, 2005 10:30 am | |
| Nicola Ken Barozzi | Oct 3, 2005 10:44 am | |
| Antonio Gallardo | Oct 3, 2005 12:30 pm | |
| Sylvain Wallez | Oct 3, 2005 1:38 pm | |
| Steven Noels | Oct 4, 2005 1:08 am | |
| Daniel Fagerstrom | Oct 4, 2005 2:16 am | |
| Pier Fumagalli | Oct 4, 2005 2:31 am | |
| Bertrand Delacretaz | Oct 4, 2005 2:36 am | |
| Daniel Fagerstrom | Oct 4, 2005 3:01 am | |
| Andrew Savory | Oct 4, 2005 3:13 am | |
| Upayavira | Oct 4, 2005 3:17 am | |
| Bertrand Delacretaz | Oct 4, 2005 3:29 am | |
| Steven Noels | Oct 4, 2005 3:39 am | |
| Torsten Curdt | Oct 4, 2005 3:47 am | |
| hepabolu | Oct 4, 2005 4:00 am | |
| Joerg Heinicke | Oct 4, 2005 4:39 am | |
| Sylvain Wallez | Oct 4, 2005 4:57 am | |
| Daniel Fagerstrom | Oct 4, 2005 5:48 am | |
| Arje Cahn | Oct 4, 2005 5:55 am | |
| Stefano Mazzocchi | Oct 4, 2005 9:08 am | |
| Sylvain Wallez | Oct 4, 2005 9:24 am | |
| Carsten Ziegeler | Oct 4, 2005 12:43 pm | |
| Steven Noels | Oct 5, 2005 3:57 am | |
| Carsten Ziegeler | Oct 10, 2005 5:02 am | |
| Joerg Heinicke | Oct 11, 2005 2:03 pm | |
| Vadim Gritsenko | Oct 11, 2005 8:01 pm | |
| Stefano Mazzocchi | Oct 11, 2005 8:16 pm | |
| Vadim Gritsenko | Oct 11, 2005 8:35 pm | |
| Bertrand Delacretaz | Oct 11, 2005 11:20 pm | |
| Max Pfingsthorn | Oct 12, 2005 12:31 am | |
| Torsten Curdt | Oct 12, 2005 12:32 am | |
| Bertrand Delacretaz | Oct 12, 2005 12:58 am | |
| Sylvain Wallez | Oct 12, 2005 1:34 am | |
| Carsten Ziegeler | Oct 12, 2005 2:21 am | |
| Daniel Fagerstrom | Oct 12, 2005 4:52 am | |
| Stefano Mazzocchi | Oct 12, 2005 8:58 am | |
| Stefano Mazzocchi | Oct 12, 2005 9:01 am | |
| Upayavira | Oct 12, 2005 9:20 am | |
| Vadim Gritsenko | Oct 12, 2005 9:38 am | |
| Stefano Mazzocchi | Oct 12, 2005 9:47 am | |
| Niclas Hedhman | Oct 12, 2005 10:04 am | |
| Upayavira | Oct 12, 2005 11:57 am | |
| hepabolu | Oct 12, 2005 12:43 pm | |
| Stefano Mazzocchi | Oct 12, 2005 2:09 pm | |
| Stefano Mazzocchi | Oct 12, 2005 2:18 pm | |
| Stefano Mazzocchi | Oct 12, 2005 2:20 pm | |
| Sylvain Wallez | Oct 12, 2005 2:35 pm | |
| Vadim Gritsenko | Oct 12, 2005 2:47 pm | |
| Daniel Fagerstrom | Oct 13, 2005 2:41 am | |
| Reinhard Poetz | Oct 13, 2005 3:25 am | |
| Vadim Gritsenko | Oct 13, 2005 8:07 am | |
| Ralph Goers | Oct 13, 2005 9:14 am | |
| Vadim Gritsenko | Oct 13, 2005 9:22 am | |
| Ralph Goers | Oct 13, 2005 9:44 am | |
| Daniel Fagerstrom | Oct 13, 2005 9:56 am | |
| Stefano Mazzocchi | Oct 13, 2005 10:01 am | |
| Stefano Mazzocchi | Oct 13, 2005 10:05 am | |
| Daniel Fagerstrom | Oct 13, 2005 1:59 pm | |
| Joerg Heinicke | Oct 13, 2005 2:03 pm | |
| Joerg Heinicke | Oct 13, 2005 2:05 pm | |
| Stefano Mazzocchi | Oct 13, 2005 3:25 pm | |
| Reinhard Poetz | Oct 13, 2005 10:57 pm | |
| Daniel Fagerstrom | Oct 14, 2005 2:05 am | |
| Vadim Gritsenko | Oct 14, 2005 6:01 am | |
| Vadim Gritsenko | Oct 14, 2005 6:06 am | |
| Stefano Mazzocchi | Oct 14, 2005 11:34 am | |
| Vadim Gritsenko | Oct 14, 2005 11:45 am | |
| Reinhard Poetz | Oct 15, 2005 1:38 am | |
| Joerg Heinicke | Oct 15, 2005 1:40 am | |
| Joerg Heinicke | Oct 15, 2005 1:45 am | |
| Stefano Mazzocchi | Oct 15, 2005 8:53 am | |
| Stefano Mazzocchi | Oct 15, 2005 9:08 am | |
| Peter Hunsberger | Oct 21, 2005 10:12 pm | |
| Stefano Mazzocchi | Oct 23, 2005 10:39 am | |
| Peter Hunsberger | Oct 24, 2005 8:05 am | |
| Subject: | Re: Public/Private classification (was Re: javadocs navigation) | |
|---|---|---|
| From: | Daniel Fagerstrom (dani...@nada.kth.se) | |
| Date: | Oct 13, 2005 2:41:42 am | |
| List: | org.apache.cocoon.dev | |
Upayavira wrote:
So, I have created a wiki page:
http://wiki.apache.org/cocoon/PublicAPIClasses
Please go there and mark classes public/private as necessary. As it says at the top of that page, if you disagree with someone, change it to "dispute" or D for short. Then it becomes an opportunity for some healthy argument!
Wow! that's a lot of classes. While I aplaud the initiative, 673 classes are huge amount to classify. I would suggest that we start discussing principles first a bit.
IMO we need to find two set of interfaces/classes: the API of Cocoon, and the set of classes (components) that an application programmer need JavaDoc for.
I guess this thread is mainly about the second set, but I find it hard to adress whoyhout discussing the first one.
Cocoon API ==========
These are the interfaces that we intend an application programmer to implement while building Cocoon applications. Our "contract" with the user is that we do our best to keep these interfaces. And when that would be a to large hinder for further development of Cocoon, we follow standard practices for deprecation or interface modification.
We should IMO put the Cocoon API in one or possibly several pure interface jars (bundles).
So what is the Cocoon API? All interfaces used in cocoon-core-sitemap.xconf are part of the Cocoon API: Generator, Transformer, Serializer, Reader, Matcher, Selector, Action, ProcessingPipeline. Then the interfaces refered to in the Cocoon API must be part of the API as well by transitive closure. So here we get various exceptions, SitemapModelComponent, XMLPipe, XMLProducer and much more. The ObjectModelHelper with dependencies is also part of the API.
Then we can continue to take a look at cocoon-core.xconf. Most of the interfaces used here are probably part of the Cocoon API: InputModule, OutputModule, Source (with extending interfaces: WritableSource and maybe some more), to mention some obvious. For some of the interfaces here it is less clear if they are part of the Cocoon API, as an example are we going to support the use of Processor? To connect to a current discussion.
Maybe there are part of the Cocoon API that not is used for components and "sitemap components"? We obviously support Servlet e.g.
"Public API Classes" ====================
This is what a user needs to build own components, use components from flowscript or using Cocoon from other applications or environments.
Here we have all (or most) components defined in cocoon-core-sitemap.xconf and cocoon-core.xconf. The CocoonBean and CocoonServlet would also be part of this. Some utility classes from util and xml and abstract classes that helps implementing different component classes could also be part of the public API classes.
--- o0o ---
So if you think that the above is a good idea, we could work incrementally: Start with defining the Cocoon API: one list of sitemap component interfaces, one with component interfaces and one where people could add other intefaces that should be part of the Cocoon API. Then we could mark what should be public and private in these lists.
We also need to have a list with the transitive closure of all interfaces and classes that the previous lists depends on (hopefully some IDE or other tool can generate that list). As the dependencies also need to be part of the Cocoon API. This will also give as an indication if there are parts of Cocoon that would need to be refactored to give cleaner and more focused interfaces.
When we have agreed about what is the Cocoon API, I would be happy if we could move it to an own jar.
After or in parallell with finding the Cocoon API, we could work on the "public API classes", following similar principles. Listing all components from our configuration for marking them public or private and also utility classes. And then a list of the transitive closure of the dependencies. Also the public API classes should go to one or several "component" bundles.
WDYT?
/Daniel





