[TYPO3-ect] tcaObjects WAS: MVC Project

Elmar Hinz elmar.DOT.hinz at team.MINUS.red.DOT.net
Sun Feb 5 21:22:23 CET 2006


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Jeff Segars schrieb:
> Sounds good!  I'll look forward to your thoughts and Achim's.
> 
> Thanks,
> Jeff

Hello Jeff,

I waited a few days, to think about the relation of MVC, tcaObjects, the tca
driven forms library and Ernestos proposal of using cObjects as replacement of
classic ###-markers. All this you find mentioned in this NG or in WIKI.

http://wiki.typo3.org/index.php/Extension_coordination_team

After all I think tcaObjects is related to MVC but it is not the same and it is
not the opposite. It is simple another matter. I think tcaObjects are such
important that they deserve their own thread.

tcaObjects:

Michael Scharkow has already celebrated the idea of tcaObjects. tcaObject would
be an important step to implement the most important features of Ruby on Rails
into TYPO3.

I try some definitions and positionings of the concept in the world of TYPO3.
Please correct me. You have a much deeper knwolage.

===========================
What are tcaObjects?
===========================

+------------------------------------------------------
Messanger Objects between model, view and controller:
+------------------------------------------------------

* They are data carrier. They carray data from the model to the view.

+------------------------------------------------------
Model:
+------------------------------------------------------

* They partly define the model. One tcaObject contains information about the
dataformat of one table.
* They carray inormation of relations to other tables. Together they define all
realations.
* They can query one table.

+------------------------------------------------------
View:
+------------------------------------------------------

* They define a part of the view. They contain informations how to transform the
data to a human readable format and back again.
* They contain information how to validate inputs.

+------------------------------------------------------
Limitations:
+------------------------------------------------------

* They can't build detailed complex joins themslevs, but thay could pack the
results of join queries. That is the reason why they only can be one part of the
model with complex queries.

* You could use them for 100% of TYPO3 BE form and for 80% - 95% of TYPO3 FE
forms, but there keeps a rest, where it comes to comples joins.

* Because they mix aspects of model and view they don't really match
requirements of a clean MVC architecture. They are rather like direct pipes
between model and view, limited to one table each.

* If they are used both in model and view, you can't simply exchange the view or
the model angainst another one. There isn't a typical interface between model
and view.



================================
What are tcaObjects related to?
================================

* tcaObjects are related to concepts of Ruby on Rails

* They are related to the idea of real TS-Objects powerd by Dan Frost.

* They are related to the "new Form Framework" alias "Forms Library for FE
Extensions" found on http://wiki.typo3.org/index.php/Extension_coordination_team

* They could play a role in the template model Ernesto has proposed int the
thread:  Improvement of the template engine.

* Last not least they are realted to MVC


Please discuss and continue.

The important target you should allways have in mind is how we can integrate it
all in the best way into TYPO3 development without doing work in double. We need
to think of an overall organizational structure of this complex field.


Regards

Elamr











- --
Climate change 2006 is killing people: floods in California, drought and fires
in Australia, Texas, Sahel, Oklahoma, South Africa. The Bush administration is
responsible for corruption of the Kyoto Protocol. The US majority is responsible
to the world for reelection of a convictable [...censored by Echelon...].
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org

iD8DBQFD5l5/O976RNoy/18RAvhpAJ9wotyaVQ5zyGIKOX3PN300rRlPlgCeLnH6
Ahgco8lfbLCBJxOc8l1TlOE=
=kjVF
-----END PGP SIGNATURE-----



More information about the TYPO3-team-extension-coordination mailing list