[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