From Joomla! Documentation

The extensions table is designed to hold all extensions installed into Joomla!. The extensions table also functions as the primary storage of information for plugins as of 1.6 as well as the library and package extensions added in to the 1.6 release. Additionally, modules now uses the table to gather The aim of the extensions table is to reduce the need to create a new table for each extension instead allowing specific tables to be created that store information that is unique to that extension.

Extensions Table

Field

Type

Null

Key

Default

Extra

Comments

extensionid

int(11)

PRI

NULL

auto_increment

Unique extension ID

name

varchar(100)

Friendly name of the extension

type

varchar(20)

The extension type

element

varchar(100)

The unique name of the element

folder

varchar(100)

The folder of the element

client_id

tinyint(3)

0

The client ID of the extension

enabled

tinyint(3)

1

The enabled status of the extension

access

tinyint(3) unsigned

0

Primitive access control

protected

tinyint(3)

0

Uninstallation protection

manifestcache

text

Cache of the XML manifest file

params

text

Parameters for the extensions

data

text

Unused excess data field

checked_out

int(10) unsigned

0

Checked Out (FKEY users.id)

checked_out_time

datetime

0000-00-00 00:00:00

Checked Out Time

ordering

int(11)

YES

0

Ordering

Notes

Not all fields are used for all extension types. For example, plugins use the folder whilst most other extensions do not. Client ID is used by modules, templates and languages to specify which application (client) they should run in (e.g. administrator or site). The extensions table can be used to set defaults for extensions where there may exist instances of the extension (e.g. modules), however in 1.6 this does not occur. The table also features the standard checked out fields to support extension locking which is utilised by plugins. The protected field controls if an extension can be uninstalled through the administrator interface and the access is analagous to the access control field used in many other tables (typically public, registered or special). Again, extensions may wish to use this table as either the primary table (plugins) or as a 'defaults' table or 'global' table to control the behaviour of all instances of an extension.