[Typo3-dev] Extension Kickstarter/Cleanup+Optimization
Ingmar Schlecht
ingmars at web.de
Tue May 18 13:49:44 CEST 2004
Hi Dan,
nice to hear you're gonna look at the Kickstarter!
Daniel Brün schrieb:
> I am looking forward to reading your suggestions regarding optimization
> and wanted features!
- Easy way to overwrite TCA informations
You might consider using parts of the Tools->Configuration module
- Easy way to XCLASS something
- Making the Kickstarter extendable by Typo3 extensions.
If someone invents something new, that could be done with the
Kickstarter, it would be nice to enable him to extend the Kickstarter
Currently, this is only possible by means of XCLASSes.
Example 1:
Did you know that you can use the Kickstarter to create those smart
things called services(tm) since Typo3 3.6.0? Well you can.
That's a new feature of the Kickstarter, provided by René.
But hey, lets imagine Kasper didn't like the idea of services.
Then René couldn't do anything but using an XCLASS (which is bad) to
make the Kickstarter support Services.
Now, if the Kickstarter were extendabel, the "Service" section of
it could have been provided by René by means of an extension.
Example 2:
Another example of such a new 'architechture idea' (like services) is
ObTS, which is implemented as an extension. Having the Kickstarter
use Services, Dan could encourage some people to making new Data
Types by providing the Kickstarter with functions to create a new
data type.
Conclusing: It makes sense if the Kickstarter were extendable.
Idea: The 'extendability' of the Kickstarter could be achieved by
means of services(tm).
OK, next point:
- All extendable modules (like Web->Func, etc.) should be listed in the
Kickstarter section "Integrate in existing Modules".
Since it's hard to 'sniff' which modules are extendable and which
not, it might be an option to introduce an array in the tables.php
in which every extension 'states' how it's extendable.
<?php // this would be the tables.php of some extension
$apidata = array(
'modules' => array(
'mod1' => array(
'extendability_methods' => array(
// some details about the module and how to extend it
),
),
'mod2' => array(
'extendability_methods' => array(
// some details about the module and how to extend it
),
),
'cm1' => array(
'extendability_methods' => array(
// some details about the module and how to extend it
),
),
),
'services' => array(
'iconService' => array(
'required_methods' => array(
'getIcon' => array(
'arguments' => array(...),
),
'getMimeType' => array(
'arguments' => array(...),
),
),
),
'metaData' => array(
'required_methods' => array(
'getMetaDataArray' => array(
'arguments' => array(...),
),
),
),
),
'classes' => array(
'tx_something_classname' => 'this/is/the/xclass/path',
)
);
t3lib_extMgm::registerMyExtensionsAPIData('tx_something',$apidata);
?>
The kickstarter could then offer new options for the possible
submodules, XCLASSes and services. If you look closer at the 'services'
section of the above array, you'll see the 'required_methods' key. I
think it would be nice if the Kickstarter could, based on those
required_methods for the example iconService from above, deliver example
code such as:
function getIcon(...) {
}
getMimeType(...) {
}
cheers,
Ingmar
More information about the TYPO3-dev
mailing list