[TYPO3-ect] Close to final alpha - Roadmap

Elmar Hinz elmar07 at googlemail.com
Sun Dec 16 23:47:26 CET 2007


Hi,

you can checkout lib/div from SVN again now and test it with apples and the
PHP5 plugins of bananas. 

You will discover that I did a lot of changes again, bringing in all the
experiences made before the API is finally carved in stone. 

I shortly summarize the principles I finally decided for, where different
options where in discussion:

1.) As known the alpha branch of lib/div will be able to run with PHP4
(still not tested.) I suggest to use a slightly different extension key for
the beta branch (lib5), so that both versions can be used in parallel.

2.) Although I don't really like hardcoded values in the sourcecode there
will always be a kind of final falback, so that the classes show some
usable output whereever possible. All settings can be customized be
configuration.

3.) There was always some concurrency between to different approaches to do
the objects configurations. The first was to set it all from side of the
controller and second to access the configuration objects directly from the
other objects and to keep the controller the more simple. 

Finally both options are possible. The suggested way is to set all
configuration from side of the controller to the objects, so that you can
see all configurations and date flowing to and fro from within one file in
a central place.

If you prefer the other approach you still can set (and you should) the
controller to all objects to connect all configuration objects, so that you
can access all configurations whenever you need. 

Example: $this->controller->context->getPageId();

4.) As in the beginning the setup is accessed by a setup path again:

$controller->setupPath = 'plugin.tx_myextension.setup.'

5.) A new approach is the configuration of the object mesh, wich includes
the setting of the setupPath, default action etc.:

plugin.tx_myextension.setup {
 ... 
}

plugin.tx_myextension.list = USER_INT
plugin.tx_myextension.list.userFunc = tx_bananas_php5_listController->main
plugin.tx_myextension.list.mesh {
  setupPath = plugin.tx_myextension.setup.
  defaultAction = defaultAction
  ...
  context = tx_myextension_context
  parameters = tx_myextension_parameters
  globalSetup = tx_myextension_globalSetup
  ...
}


The object mesh enables you to quickly exchange the central configuration
classes by extended versions. You should at least extend the "context"
class to put in access to all configurations you need. There are to many
corners of configuration in TYPO3 that lib/div could implement them all for
you.


Roadmap update.

NOW:

* You can start using the SVN version. The API 98% final. 

December:

* To bring it to TER it requires a 
  -> freshup of the sourcecode configurations
  -> testing with PHP4
  -> see plugins in Bananas to do: php4, smarty, mvc

January:

* It's time to set up a team that is responsible for the alpha branch.

* I hope it's also a base to start a PHP5 branch with autoloading by a team.

* Cool is my personal project for the next year. 

* As announced it is time for me to forward the leadership of ECT to
  other people, a leader and a small board. We will collect suggestions and 
  do votings in the mid of January.

Cheers

Elmar









  






































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