Core API

2.1.8. ext_emconf.php

This script configures the extension manager. The only thing included is an array, $EM_CONF[extension_key] with these associative keys (below in table).

When extensions are imported from the online repository this file is auto-written! So don't put any custom stuff in there - only change values in the $EM_CONF array if needed.

Key

Data type

Description

title

string, required

The name of the extension in English.

description

string, required

Short and precise description in English of what the module does and for whom it might be useful.

category

string

Which category the extension belongs to:

 

  1. be

    Backend (Generally backend oriented, but not a module)

  2. module

    Backend modules (When something is a module or connects with one)

  3. fe

    Frontend (Generally frontend oriented, but not a "true" plugin)

  4. plugin

    Frontend plugins (Plugins inserted as a "Insert Plugin" content element)

  5. misc

    Miscellaneous stuff (Where not easily placed elsewhere)

  6. services

    Contains TYPO3 services

  7. templates

    Contains website templates

  8. example

    Example extension (Which serves as examples etc.)

  9. doc

    Documentation (Eg. tutorials, FAQ's etc.)

shy

boolean

If set, the extension will normally be hidden in the EM because it might be a default extension or otherwise something which is not so important. Use this flag if an extension is of "rare interest" (which is not the same as un-important - just an extension not sought for very often...)

It does not affect whether or not it's enabled. Only display in EM.

Normally "shy" is set for all extensions loaded by default according to TYPO3_CONF_VARS.

dependencies

list of extention-keys

This is a list of other extension keys which this extension depends on being loaded before itself. The EM will manage that dependency while writing the extension list to localconf.php

conflicts

list of extention-keys

List of extension keys of extensions with which this extension does not work (and so cannot be enabled before those other extensions are un-installed)

priority

"top", "bottom"

This tells the EM to try to put the extensions as the very first in the list. Default is last.

loadOrder

 

 

TYPO3_version

[version-span]

Defines the TYPO3 version requirements of the extension.

 

Syntax:

  1. [version]-

    Extension is compliant with TYPO3 from  this version (included) and forward

  2. -[version]

    Extension is compliant with TYPO3 until  this version (included)

  3. [version]-[version]

    Extension is compliant within this span of TYPO3 versions

 

Version string syntax is [int].[int].[int][pre-release][int] where [pre-release] is "dev", "b" or "rc" in that order.

 

Examples (in order of precedence):

 

4.0.0

3.6.1

3.6.1rc1

3.6.0

3.6.0rc2

3.6.0rc1

3.6.0b2

3.6.0b1

3.6.0dev2

3.6.0dev1

3.6.0dev (=3.6.0dev0)

3.5.10

3.5.0

3.1.1

3.1 (=3.1.0)

3 (=3.0.0)

PHP_version

[version-span]

Defines the PHP version requirements of this extension.

Syntax is the same as for "TYPO3_version", see above.

module

list of strings

If any subfolders to an extension contains backend modules, those foldernames should be listed here. It allows the EM to know about the existence of the module, which is important because the EM has to update the conf.php file of the module in order to set the correct TYPO3_MOD_PATH  constant.

state

string

Which state is the extension in?

 

  1. alpha

    Alpha state is used for very initial work, basically the state is has during the very process of creating its foundation.

  2. beta

    Under current development. Beta extensions are functional but not complete in functionality. Most likely beta-extensions will not be reviewed.

  3. stable

    Stable extensions are complete, mature and ready for production environment. You will be approached for a review. Authors of stable extensions carry a responsibility to be maintain and improve them.

  4. experimental

    Experimental state is useful for anything experimental - of course. Nobody knows if this is going anywhere yet... Maybe still just an idea.

  5. test

    Test extension, demonstrates concepts etc.

  6. obsolete

    The extension is obsolete or depricated. This can be due to other extensions solving the same problem but in a better way or if the extension is not being maintained anymore.

internal

boolean

This flag indicates that the core source code is specifically aware of the extension. In other words this flag should convey the message that "this extension could not be written independently of core source code modifications".

An extension is not internal just because it uses TYPO3 general classes eg. those from t3lib/.

True non-internal extensions are characterized by the fact that they could be written without making core source code changes, but relies only on existing classes  in TYPO3 and/or other extensions, plus its own scripts in the extension folder.

uploadfolder

boolean

If set, then the folder named "uploads/tx_[extKey-with-no-underscore]" should be present!

createDirs

list of strings

Comma list of directories to create upon extension installation.

modify_tables

list of tables

List of table names which are only modified - not fully created - by this extension. Tables from this list found in the ext_tables.sql file of the extension

lockType

char; L, G or S

Locks the extension to be installed in a specific position of the three posible:

  1. L = local (typo3conf/ext/)

  2. G = global (typo3/ext/)

  3. S = system (typo3/sysext/)

clearCacheOnLoad

boolean

If set, the EM will request the cache to be cleared when this extension is loaded.

author

string

Author name (Use a-z)

author_email

email address

Author email address

author_company

string

Author company (if any company sponsors the extension).

CGLcompliance

keyword

Compliance level that the extension claim to adhere to. A compliance defines certain coding guidelines, level of documentation, technical requirements (like XHTML, DBAL usage etc).

 

Possible values are:

  1. CGL360

 

Please see the Project Coding Guidelines for a description of each compliance keyword (and the full allowed list).

CGLcompliance_note

string

Any remarks to the compliance status. Might describe some minor incompatibilities or other reservations.

private

boolean

If set, this version of the extension is not included in the public list!

 

(Not supported anymore)

download_password

string

If set, this password must additionally be specified if people want to access (import or see details for) this the extension.

 

(Not supported anymore)

version

main.sub.dev

Version of the extension. Automatically managed by EM / TER. Format is [int].[int].[int]

 

To top


Valid XHTML 1.0!