Reinhard Poetz wrote:
Stefano Mazzocchi wrote:

Reinhard Poetz wrote:

Stefano Mazzocchi wrote:

Daniel Fagerstrom wrote:




[...]

Daniel,

let me repeat: I don't care about precision and elegance and completeness, I care about usability.

I am thinking at flow users that want to use java components to do their stuff. They should *NOT* care about org.apache.cocoon.xml.XMLPipe.


Not all Cocoon users are flow users only ...



Reinhard, how many cocoon users have ever implemented org.apache.cocoon.xml.XMLPipe?

My point is not about flow, is about brevity over completeness.


Stefano,

TBH I have no strong opinion whether XMLPipe should be part of the public _documentation_. Of course it is part of the _public API_ because otherwise you're not able to implement e.g. a transformer, but I'm sure that you know this as you're the author of this interface ;-)

I only doubt that the proposed way of how to find the classes and interfaces, that should become part of the public documentation, will lead to success. Do you guys really think that many people will start to evaluate ~670 classes and interfaces? And if yes, Daniel, Vadim you and me can't agree whether the interface XMLPipe is public or not. So I'm not really optimistice about the outcome as we have to discuss the other 669 classes and interfaces too.

I'm just with Daniel that we should talk about the principles of what is public and private first. After agreeing on them one person can move the public interfaces and classes into a seperate directoy and then we can create a cocoon-api.jar and can create javadocs out of it.

If you or others think that the "wiki way" of tagging classes is more successful (and faster), please go for it. Believe me, it's not my intention to block this, especially as I don't have the time to work on the alternative within the next 3-4 weeks.

Boy, this is getting frustrating.

I don't give a proverbial f*&k on how we do it the fact is that there are many levels of "public API" and we are not acknoledging that, nowhere something like this can be found.

In the past, we wanted FOM to be the only interface between flowscript and the rest of the system but given how many services are embedded in components and how many things were never added to FOM but just expected to be discovered out of getComponent(), which means that you need to know the entire cocoon internals to be able to write a simple flowscript, which is totally ridiculous.

You want principles? here they are:

1) script-oriented people, those who don't know java and don't care, those looking for RAD, those coming from the client or from the XML world, should have a reduced API which includes FOM + useful components + environment API and no cocoon internals.

2) for power users, willing to extend cocoon, the cocoon internal APIs (pipelines, caching, input modules, etc..)

 3) for cocoon devepers, everything but at least packaged by block.

This is what I want.

I don't care if we do it by hand or we do it by javadoc or by other means.

I don't care if we use wikis or post-its to find out which interface goes in which category(s), or if we use tags or even if we use embedded RDF in the javadoc comments for it.

All I want is to help our users stick around... because honestly, I find myself in the very uncomfortable position of suggesting people *NOT*TO* use cocoon, because is such a horrible climb to get to that comfortable plateau of productivity and this is honestly not acceptable today.

--
Stefano.

Reply via email to