Difference between revisions of "Tables/extensions"

From Joomla! Documentation

< Tables
m (→‎Notes: categorisation)
 
(4 intermediate revisions by 2 users not shown)
Line 4: Line 4:
  
 
= Description =
 
= Description =
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.
+
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 its information for installation or uninstallation. The aim of the extensions table is to reduce the need to create a new table for each extension instead thus allowing specific tables to be created that store information that is unique to that extension instead of information that should be shared. This table is closely modelled off the plugins table with some slight additions and replaces the plugins table in the Joomla! 1.6 release.
  
{| border=1
+
{| class="wikitable" border=1
|+ Extensions Table
+
|+ '''Extensions Table'''
 
|- bgcolor=grey
 
|- bgcolor=grey
 
! Field !! Type !! Null !! Key !! Default !! Extra !! Comments
 
! Field !! Type !! Null !! Key !! Default !! Extra !! Comments
 
|-
 
|-
| extensionid      || int(11)            ||      || PRI || NULL                || auto_increment || Unique extension ID
+
| extension_id    || int(11)            ||      || PRI || NULL                || auto_increment || Unique extension ID
 
|-
 
|-
 
| name            || varchar(100)        ||      ||    ||                    ||                || Friendly name of the extension
 
| name            || varchar(100)        ||      ||    ||                    ||                || Friendly name of the extension
Line 29: Line 29:
 
| protected        || tinyint(3)          ||      ||    || 0                  ||                || Uninstallation protection
 
| protected        || tinyint(3)          ||      ||    || 0                  ||                || Uninstallation protection
 
|-
 
|-
| manifestcache    || text                ||      ||    ||                    ||                || Cache of the XML manifest file
+
| manifest_cache  || text                ||      ||    ||                    ||                || Cache of the XML manifest file
 
|-
 
|-
 
| params          || text                ||      ||    ||                    ||                || Parameters for the extensions
 
| params          || text                ||      ||    ||                    ||                || Parameters for the extensions
Line 40: Line 40:
 
|-
 
|-
 
| ordering        || int(11)            || YES  ||    || 0                  ||                || Ordering
 
| ordering        || int(11)            || YES  ||    || 0                  ||                || Ordering
 +
|-
 +
| state            || int(11)            ||      ||    || 0                  ||                || Extension State (discovered, installed, etc)
 
|}
 
|}
  
 
= Notes =
 
= 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.
 
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.
 +
 +
<noinclude>[[Category:Database]]</noinclude>

Latest revision as of 10:37, 16 March 2013

Usage[edit]

  • Since: 1.6
  • Deprecated Since: Current

Description[edit]

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 its information for installation or uninstallation. The aim of the extensions table is to reduce the need to create a new table for each extension instead thus allowing specific tables to be created that store information that is unique to that extension instead of information that should be shared. This table is closely modelled off the plugins table with some slight additions and replaces the plugins table in the Joomla! 1.6 release.

Extensions Table
Field Type Null Key Default Extra Comments
extension_id 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
manifest_cache 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
state int(11) 0 Extension State (discovered, installed, etc)

Notes[edit]

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.