[TYPO3-50-general] Thoughts on UML tools for TYPO3 V5

Dan Frost dan at 3ev.com
Sat Oct 21 15:01:30 CEST 2006


Hi,

I've spent a little time thinking about UML tools for the development of
TYPO3 v5.

The tool I made a little while ago was for transforming XMI (XML
representation of UML) into PHP code -
http://www.danfrost.co.uk/index.php?id=15.

This worked OK, but is awkward to use because it's one-way - not a
round-trip tool.

This got me thinking about and looking at other projects - Ruby on
Rails, CakePHP etc etc...

Here's what I think we should do:

- *Make a PHP code generation framework written in PHP* - the TYPO3
community it mostly PHP developers and this means that the tools for
code management / creating are also written in PHP. The framework would
work from XMI by default but will be built with proper separation +
object models so that it could work with anything else in the future.

- *Use patterns* - For example, instead of having to create an extension
by adding classes, configuration files and text files you create it
using a "domain specific" pattern suited to the extension. These
patterns would be preset combinations of classes, functions,
configuration etc - a lot like UML patterns. The patterns can be built
in a UML tool.

- *Create eclipse plugin to use the framework* - but keep an abstraction
between eclipse's representation, the XMI and the PHP model so we're not
tied to eclipse and so other parts of TYPO3 can use the framework.

- *Integrate build and test tools with the generation of the code*. E.g.
generate unit tests and makefiles as required.

- *Complete round-trip* - parse PHP into a model and generate PHP from a
model.

In the future, this could be integrated into the kickstarter so that the
kickstarter can be round-trip as well.

Why not use an existing tool?? Because if we have a tool built in PHP we
can integrate it with eclipse or any other platform so we're not tied to
any single program. RoR is my model for this.

In terms of effort, I can post a much longer, detailed description of
how this would work, the architecture and deployment considerations.

What do you think?

dan

-- 
Dan Frost
Technical Director
3rd Eye Vision - 3ev.com



More information about the TYPO3-project-5_0-general mailing list