From: Marcus W. <ma...@ph...> - 2004-12-30 07:15:18
|
First of all... these ideas aren't new, not even to CEP discussion. I recall many convos where Jaxn suggested XSLT and having modules simply return XML. I'm just catching up, we work that way sometimes. The basic premise is that Modules are the one public universal API for requesting activity from CEP. Bootstraps can handle Module requests differently (web request, XML-RPC, SOAP, REST, CEP Clean URL, etc.), but the API itself would never change and never require any changes to the transports to add functionality. Libraries are primarily for data access. They could serve other purposes... which brings a question for the spec. Are libraries really just namespaced method packages? I'm starting to think I like that instead of all the ORM, DataObject stuff. Seems too involved for our spec, but anyway.... Components are reusable interface widgets essentially. They are not modules, period. My thinking here is that components follow a basic model. The one we have now would serve the purpose. Now, the important thing is, anyone can write any component they want. So, if I like QuickForm, Jaxn like PHPObjects and Patrick likes PatForms, we could all wrap those packages into different CEP components. Or, they could all suck and we wrote our own. The point being, the component isn't core, the component model is. A healthy diverse component repository would be encouraged in this model. Modules can be called from within other Modules natively as they are part of CEP ($module = new Module), or then can be requested through any of the transport bootstraps, either way, the returned value should be valid UTF-8 XML. The XSLT aspect can be left out since you can return valid XML/XHTML from a module, or it can always be used, since XSLT always works on valid XML. Up the the developer. Again, this isn't core, however forcing all modules to return valid UTF-8 XML would be a core requirement. The diagram is attached, lemme know what you think. This is just a brainstorm. Side Note: This diagram offers PHP4 and PHP5 suggested package notes. My hope is that this, or something similar, could be achieved in both branches, I don't think PHP4 is dead just yet, although PHP5 is far more elegant. |