[TYPO3-ect] The Big Plan
Michael Scharkow
michael at underused.org
Wed Jul 5 19:33:41 CEST 2006
Hi Elmar,
Elmar Hinz wrote:
> Well, palettes are specific for the BE. There will always be differents in
> the display for BE and FE or more general between different groups of
> users. I am very open for proposals how this can be done.
Palettes are specific for the BE only because TCEforms et. al. is BE
specific, that's just a legacy issue, not a conceptual constraint.
> Yes, I also see an advantage of an additional validation on the model
> level. Especially if the data comes from other sources then forms. However
> model level and view level can make use of the same validation library.
Right, they *have* to use the same validation methods.
>> 2. TCAObjects must render themselves both input (=form) and output
>> (list, detail view), or the other way round: view classes should accept
>> any TCAObject as input and render forms, single view accordingly
>
> I wrote the long intro to point out the disadvantages of this monolithic
> concept. Obviously I didn't convince you. I don't will repeat my arguments
> and negative experiences with this.
Right, please consider only the latter proposal: A generic view class
(or some of them) that accepts any model and displays some CRUD forms
and a record browser, basically Rails's scaffolding. Everybody hates it,
but it does work as a default/fallback mechanism.
> If functionally can be separated one should separate it. Kaspers code
> suffers mostly from overloading classes with to much functionality.
> Combining of separated function when it is needed is much easier than to
> separate functionality from oversized classes.
Right, so the question is whether to completely move all display-related
configuration away from TCA, or just use a kitchensink TCA as a
multi-purpose definition used by the model *and* the view classes.
>> 3. The Client-Side-Validation belongs to the view part, although the
>> requirements are derived from TCA
>
> * Yes. Requirements of validation are derived from TCA in all cases.
> * Validation is done with a separte validation library.
> * Client side validation is JavaScript based. If we use JavaScript, we
> directly can use AJAX. If we use AJAX, we directly use the server side
> validation.
>
> That makes it very simple for us. AJAX clientside, serverside view and
> serverside model validation can all be done with the same library.
Yes, see
http://tetlaw.id.au/view/blog/really-easy-field-validation-with-prototype/
which seems very suited for us as prototype will hopefully be the TYPO3
standard JS library.
>> By mixing both model and view aspects in TCA we gain a lot of
>> configurable "magic" views which IMHO far outweighs the advantages of
>> strict M-V separation.
>>
>
> The advantages, the magic, you see in the monolithic concept can also be
> gained at a very cheap price with separated funcitonality by combination.
>
> With separation of functionality you don't loose any functionality. You
> simply structure it more fine grained.
I never doubted that, and I'm all for more separation of *classes*, but
I'm at least uncertain about splitting up TCA.
GReetings,
Michael
More information about the TYPO3-team-extension-coordination
mailing list