More Information
This section provides further information about extensions. To read the sections, click on the titles
Extension Types
Extensions come in three types:
- System Extensions
These are the main applications which make up the CMS itself, and they are generally both required for the system to operate, and hidden from users. They are upgraded together when TYPO3 is released in a new version. - Global Extensions
Global extensions are supplied with TYPO3 distributions, and are relevant to all instances of TYPO3 which are run from a given installation (one installation may be used for several web sites). Global extensions form the functions which are accessed from the back end in a basic installation of TYPO3 - Local Extensions
These are valid only for the instance of TYPO3 they are installed in. These are the extensions that you can install through the "ext manager" back-end module
Extension Categories
There are now around 2500 extensions available for installation. They divide into a number of categories:
- Back-end:
Extend the functionsality of the backend, but do not appear as separate modules. Most are quite small, but some, such as Rich Text Editors (RTE) can be large and complex. - Back-end Modules:
These extend the functionality of the backend, and have an entry (usually) in the left-hand side menu which you click on to access their interface(s) - Front end
These extend the front-end functionality in some way - e.g, adding additional meta-tags, or additional functions for plug-ins. - Front-end Plug-ins:
These expand the display and functionality of the front-end. They include the base content elements such as text and html, and also complete front-end applications such as news, the calendar extension, guest book, etc.
For an editor, the process of creating a page generally consists of inserting front-end plug-ins into slots on pages, and then managing their content. - Miscellaneous
These are plug-ins such as programming libraries which are used by other extensions or static databases such as lists of countries or airports. - Services
These add functions which can be used by the system or by other extensions. - Templates
A "template" in this context is usually a typoscript template (a programme which generates html by being interpreted by TYPO3), rather than an html template.
A series of typoscript templates is available as an extension. These are mainly useful for study as examples of how to use typoscript. In addition, there are a number of third-party templates which can be used directly as the basis of production sites. These can be quite extensive - in the case of the YAML and WEC templates they install and configure quantities of extensions and pages in addition to typoscript. - Examples
Usually extensions that set up a system so that you can follow a tutorial, or which illustrate the use of an API - Documentation
Extensions which install only documentation. Most extensions include their own documentation, and in either case it is supplied as Open Office documents and is downloaded through the extension manager.
Extension States
Several thousand extensions are freely available by downloading them from the typo3 website or a mirror, though the extension manager in the back-end.
Extensions get into the repository when someone requests a unique code for one, and uploads it. Except in the case of reviewed extensions (which have been checked mainly for security holes rather than functionality), anyone can place an extension in the repository, and you use them at your own risk - which, fortunately, is usually quite small. The main risk is that they may not actually be complete and/or that they do not do what they say they do.
Experimental, Alpha, Beta, Stable Reviewed and Rating
One or more of these labels is attached to each extension in the list of extensions on typo3.org. In case you don't understand them, their meanings are as follows:
- Experimental:
Usually a(n attempt at a) proof of concept, so best keep away unless you want to develop a similar extension - Alpha
The functionality is actively under development, and anything may change, so it may be impossible to upgrade to a newer version.
Only use these if they do just exactly what you need, and there is nothing more stable available. - Beta
The functionality is specified, but may be buggy, or under development or just plain not there. You should be able to upgrade to a newer, less buggy, version without problems.
Many excellent extensions seem to remain in (technical) beta, and they may work perfectly well - but treat them with caution, ideally installing them on a test system before committing to them on your live server. Be particularly aware of the possibility that the extension may cause problems for other extensions. - Stable
Everything should be working as advertised. Choose stable extensions if you can. - Reviewed
The current review process applies a security check, but is no guarantee that the extension does what it says it will - Rating
Users can rate an extension from 0 to 5. Take note.
Selection Strategies
The best approach to deciding on extensions usually follows the following path:
- It helps to have a demo site to try extensions out on. It is very easy to inbstall a typo3 WAMP installation onto your PC for testing purposes.
- keep abreast of extension developments by bookmarking the list of new and revised extensions
- The most downloaded extensions are listed here on typo3.org, so this is a good place to start from
- You can search the full list of extensions
- If that doesn't come up with anything, you can display the full list
- This may also be a good place to start if you just want to explore what is available
- Extensions are listed with their development status - stable, beta, alpha, experimental, obsolete. Best not to use the less developed categories on a production website without prior testing.
- Most extensions have manuals included with them, and these can be referred to on-line by clicking on a link in the various listings, or from the documentation section of the typo3.org website. It is always worth referring to the documentation before starting work with an extension
- If an extension does not have a manual it may be because it needs no more than installation.
- Preferably, install the extension on a test site, and work with it there before you introduce it to your main site.
Installation and Configuration
Extensions are installed, uninstalled and potentially edited, through the Tools>ExtManager module of the backend.
Modern extensions are configured through their flexform interface which is available when they are inserted on a page, through entries in the main typoscript template, and by installing static typoscript templates.
Installation itself is usually straightforward, and most extensions will work "out of the box", provided you follow the instructions in the manual which is usually included with the extension, and which can be downloaded to your computer using the extension manager, or referred to on-line from the typo3.org website.
It makes sense to download extension manuals, which are in Open Office format (so you need to also install Open Office to read them). From Open Office you can save the manuals as pdf files, complete with contents list, and you may find the Acrobat Reader interface more convenient than the Open Office files.
The process of implementing a front-end extension includes the following steps. You can save yourself a great deal of grief if you RTFM:
- Selection and evaluation - see above
- Installation on production server
- Installation of static templates, if any. A static template includes all the typoscript necessary to make the extension work. Many extensions will not work if you do not install the static template
- Setting up the extension on the pages where it is to be displayed, using the plug-in interface and (for modern extensions) the flexform.
Installation of extensions which are to appear on all pages is different, requiring you to write some typoscript which is included in the main (typoscript) template of the site. - Modifying css files forming part of the extension so that the output integrates with the site
- Modifying html templates used by the extension so that they meet your needs
- Additional configuration as required
- (Re)programming of the extension code
While steps 1-4 are straightforward and required for most extensions, steps 5-8 require specialist knowledge, and are usually not necessary merely to get output.
Anatomy of an Extension
Extensions are stored inside a directory, which is named with a uniqe extension key. Inside the directory are files and folders which together generate the backend interfaces for the extension and the frontend output (if any).
All these files can be viewed and edited from within the Tools>Ext Manager Module (if you have the necessary permissions) (EXCEPT locallang.php - never edit this in the backend). ALWAYS BACKUP THESE FILES BEFORE ALTERING THEM. The ones you are most likely to need to interact with are:
- locallang(_xxx).xml: Contains the translations of the (static) labels used by the extension, which will be inserted into the extension template, depending on the current language. It is a plain text xml file which can be edited in any text editor. The format is reasonably obvious, and you can quickly set up the extension for another language by copying and pasting within this file.
- locallang.php This is the same as the above, in older extensions. You MUST download and edit it in a dedicated php editor not the typo3 backend, or you will almost certainly corrupt the file and break the extension.
Alternatively, install the extension a4n_edit_locallang, which detects and then lets you edit all the language files relating to a particular extension. - html template files - usually with extension .tmpl or .htm. You can use these to alter the default output of the extension. They are usually self-documenting, and in most cases you need to insert variable content as labels of the form ***VARIABLE_CONTENT***. Some of the labels will be replaced by content generated by the extension, and others will be labels which can be altered in the locallang.xxx file.
Normally, you download the file from the extension, alter it, and then upload it into the Filelist, setting a reference pointing to the new path in the plugin flexform, the constats editor in the Web>template module, or in the typoscript template itself. This is done so that your template will not be overwritten if you update the extension. - css files These contain styles used by the (default) templates when outputting from the extension. The same considerations apply as to html template files, and you may wish to incorporate the extension css into the main site css, in which case you need to cancel the default CSS, ususlly with an entry in the typoscript template file of the form:
plugin.xxxxmyPlugin. - setup.txt These files contain the typoscript which is used to define the default setup of the extension. It may also contain the css styles for the extension. Since this will be a working setup, it is a good place to begin reconfiguring the extension, by copying the contents of the file into the typoscript template setup for your site, then modifying it. Entries in the extension typoscript nearest to the page containing the plugin overwirite those in the extension setup file
- constants.txt These files contain the information which can otherwise be entered through the Constants section of the typoscript template. In some cases you can also use the Constants editor, or the flexform interface of the individual plugin.