Joomla 1.6: una sola tabella per tutte le estensioni

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
Tags: , , , ,

5 Commenti al post “Joomla 1.6: una sola tabella per tutte le estensioni”

  1. odino Says:

    mmm….non so quanto positiva può essere questa cosa…

  2. Copes Flavio Says:

    Cosa ti preoccupa? Che ci sono circa 4000 estensioni da modificare? :))

    BTW sicuramente il nuovo plugin legacy si occuperà anche di questo.

  3. odino Says:

    lascia perdere….la migrazione a 1.6 sta già prendendo le somiglianze di un incubo nella mia testa :D

  4. k0nan Says:

    questo è interessante

    access tinyint(3) unsigned

    preludio ad un acl strutturata :)

  5. Copes Flavio Says:

    @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/

Lascia un commento

Nome (obbligatorio)

Mail (non sarà pubblicata) (obbligatoria)

Sito web