[TYPO3-team-core-v5] FLOW3: First code sprint of F3PR

Tim Eilers tim.eilers at web.de
Wed Sep 10 20:17:44 CEST 2008


Christopher Hlubek schrieb:
> Hi FLOW3 gurus,

Disclaimer: I am faaaar away from a FLOW3 guru ;)

I do just answer, cause i can say something to the last sentence...
But i will also comment your ideas about package structure, just to give
you ideas...

> The code sprint report http://forge.typo3.org/attachments/445/08.txt
> from Thomas mentions the features we have done. Further on it proposes
> some changes to the package structure to enable multiple versions of a
> package. The key idea is to have the package contents in a folder with
> the version number right in the package folder. For example:
> 
> Packages
> | \- FLOW3
> |  | \- activeDistribution
> |  |  | \- Classes
> |  |   \ - ...
> |  | \- activeDevelopment
> |  |  |\- Classes
> |  |  \ - ...
> |  |\- 1.1
> |  |  |\- Classes
> |  |  |\- ...
> |  \ - 1.2
> |  |  |\- Classes
> |  |  |\- ...
> 
> To allow for context dependent activation of packages (could be used
> for staging new package versions) we thought about copying the package
> contents to a folder with the name of the context. Another idea was to
> use a configuration that overrides the active version and to have the
> latest package contents in a folder named something like "latest". But
> this imposes severe problems for the FLOW3 package. Classes in FLOW3
> are used and required before the configuration manager or even the
> component manager is available. In some cases the path to the files
> are simply hard-coded by now. So we either don't allow context
> dependent version switching for FLOW3 and other system packages or use
> an approach that doesn't rely on configurations, etc. and simply uses
> a special folder structure.
> 
> Other opinions are highly appreciated!

Hm, i understand your problems. And unfortunately i don't have a solution.

Perhaps i can give you some crazy ideas by thinking of the future use of
Packages:
Of course a central package repository later should have several
versions of a package, but i don't see much sense of it in a local
installation. So the part with 1.1, 1.2 doesn't look good to me.
The idea of folders for the different contexts are sounding good for me.
But i would rename "activeDistribution" to "activeProduction", because
"Production" is one context, which already exists.
Now i think of updating some existing package. It would be very cool, if
i could first update my local "activeDevelopment" version of the
package. Then i test my installation and that new version with the
"Development" context. If everything is ok i would like to change
(/copy/transfer/whatever) the "activeDevelopment" version to my
"activeProduction" version.
Local development could also be the same, perhaps with the option to
update my "activeDevelopment" version with the actual "activeProduction"
version. Then i develop in Development context and if everything is ok,
i copy that somehow to "activeProduction" again.
Also some fallback solutions would be cool: There is no
"activeDevelopment" folder? ok, take the "activeProduction" one. There
is no "activeTesting" folder? take the "activeDevelopment" one. Also not
there, ok fall back to "activeProduction".
Understand me: I just think about how i would use the whole thing as a
future end user...
The problem with TYPO3 4.x is, that you update a Extension immediately
in your running installation. If you want to first test it before going
live you would have to setup a whole second environment with a copy of
your running installation... Which is very complex and resource-wasting...
If i think in a very wrong direction just ignore this whole text... ;)

> BTW: How do we check our code for CGL conformance?

Just check out the FLOW3CGL [1] and the PHPCodeSniffer [2] package in
your local FLOW3 installation (folder "Packages") and call
<base-url>/FLOW3CGL
There you can choose your package and check it.
But be aware that the FLOW3CGL validator still is in Development and for
example misses the whole DocComment checks at the moment.
Unfortunately it isn't working at all, which i just noticed :( I will
work on that asap...

[1] https://svn.typo3.org/FLOW3/Packages/FLOW3CGL/trunk
[2] https://svn.typo3.org/FLOW3/Packages/PHPCodeSniffer/trunk

Cheers, Timmy.


More information about the TYPO3-team-core-v5 mailing list