Come comunicato da Sam Moffatt, Joomla 1.6 avrà un'unica tabella in cui saranno memorizzati i dati delle estensioni installate.
Attualmente (Joomla 1.5) ogni tipologia di estensione ha la propria tabella:
- #__components
- #__modules
- #__plugins
- #__languages
Il futuro vede una sola tabella extensions che si occuperà di contenere tutti i dati necessari.
| 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) |
`#__extensions` (
`extension_id` INT NOT NULL AUTO_INCREMENT,
`name` VARCHAR(100) NOT NULL,
`type` VARCHAR(20) NOT NULL,
`element` VARCHAR(100) NOT NULL,
`folder` VARCHAR(100) NOT NULL,
`client_id` TINYINT(3) NOT NULL,
`enabled` TINYINT(3) NOT NULL DEFAULT '1',
`access` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
`protected` TINYINT(3) NOT NULL DEFAULT '0',
`manifest_cache` TEXT NOT NULL,
`params` TEXT NOT NULL,
`custom_data` text NOT NULL,
`system_data` text NOT NULL,
`checked_out` int(10) unsigned NOT NULL default '0',
`checked_out_time` datetime NOT NULL default '0000-00-00 00:00:00',
`ordering` int(11) default '0',
`state` int(11) default '0')
Notiamo diversi campi interessanti:
- type: identifica il tipo di estensione (component, module, plugin
- manifest_cache: conterrà il valore di alcuni campi del file XML dell'estensione, in modo che il parsing del file XML presente nel file system debba essere fatto il minor numero di volte possibile.
- protected: se impostato "true" impedisce che l'estensione venga disinstallata: in Joomla 1.5 le estensioni "core" non possono essere disinstallate quando il campo "iscore" della tabella in cui sono memorizzate è "true", e questo campo estende la possibilità anche ai linguaggi aggiuntivi.
- client_id e state: verranno utilizzate dalla funzione di update automatico delle estensioni
- Post correlati:

October 24th, 2008 at 2:36 pm
mmm….non so quanto positiva può essere questa cosa…
October 24th, 2008 at 2:39 pm
Cosa ti preoccupa? Che ci sono circa 4000 estensioni da modificare? :))
BTW sicuramente il nuovo plugin legacy si occuperà anche di questo.
October 24th, 2008 at 4:55 pm
lascia perdere….la migrazione a 1.6 sta già prendendo le somiglianze di un incubo nella mia testa
October 24th, 2008 at 6:54 pm
questo è interessante
access tinyint(3) unsigned
preludio ad un acl strutturata
October 25th, 2008 at 1:41 pm
@k0nan: sì l’ACL è proprio una delle cose che (finalmente) arriveranno con Joomla 1.6!
http://www.copesflavio.com/blog/uncategorized/ecco-joomla-16-in-anteprima/