Programming customized extensions
A Customized Extension is a self-programmed plug-in or module, which carries particular, not yet otherwise available, functions for professional work with TYPO3. By completely separating the basic program core from the extensions, such custom programs can be easily encoded in PHP, without any anxiety that a small error could damage the entire TYPO3 system. This means, for example, that one can write interface plug-ins for other external software or workflow systems, or even a much-needed Frontend connection for video imaging.
Professional TYPO3 providers often develop extensions, some very complex, for large businesses with specialized requirements, keeping in mind the particular demands of the current IT architecture within which they will be integrated. A commercial stock management system, an SAP connection or a piece of self-developed ad-hoc software; there is hardly a challenge that can't be resolved by a custom-written TYPO3 extension. In such cases, TYPO3 service providers and agents mostly use TYPO3 as a development framework.
Generally speaking, any developer with reasonable (or better still, superb) PHP skills can program extensions for TYPO3. However, what is needed in particular is a sound working knowledge of the TYPO3 Core, in particular those interfaces and system functions that are to be addressed by the new extension.
Extensions which have been published in the TER (the TYPO3 review), and which have proven themselves especially useful, may be included in the next edition of the T3 Core.
- The Kickstarter
The Kickstarter is a so-called "shy extension", one that the TYPO3 user first has to download and install from the repository. If you can't find this in the TER list, mark the "system extensions" box with a tick and the kickstarter should show up at once.
Kickstarter, which is itself an extension, is a tool designed to aid TYPO3 developers create or install their own extensions. The Kickstarter delivers a basic scaffolding of necessary files and structures, as well as, if needed, database connections within which one can then program the functions desired. In this way, for example, Frontend plug-ins can be made to integrate an employee database and put the results onscreen in the browser window as quickly as possible.
Even professional TYPO3 service providers work with Kickstarter to create the basic PHP files needed for a module or plug-in.
- The MVC programming method
In addition, one needs the help of the Model-View-Control (MVC) add-on for programming highly complex functions. This helps particularly when creating large quantities of small PHP files at the outset. In this way complex structures can be better organized and the workload shared between different development teams. The result is an optimized and error-free PHP code for the T3 extension and is certainly the most modern way of programming extensions.