I plugin permettono di inserire all'interno di un sito internet nuove funzionalità, come l'integrazione di contenuti multimediali quali News, Gallery e Video o strumenti per attività di E-Commerce o interazione con applicativi esterni.
All'interno di ANM22 WebBase è presente una serie di plugin necessari a realizzare la maggior parte di tipologie di siti richiesti, ma gli utenti sono liberi di crearsi nuovi plugin custom per coprire le esigenze più sfiziose.
I plugin per WebBase vengono gestiti in due parti: lato server hosting, lato server WebBase.
Lato server hosting
Nella parte di plugin installata sull'hosting su cui gira il sito web viene implementato tutto ciò che è necessario al suo funzionamento.
Lato server WebBase
Nella parte di plugin installata sul server di ANM22 WebBase devono invece esserci i componenti necessari alla modifica e alla configurazione del plugin.
Questa divisione permette di avere un hosting leggero e ottimizzato per la visualizzazione e l'esecuzione dei plugin. Sul server di ANM22 WebBase invece saranno presenti tutte le molteplici configurazioni possibili di ogni plugin.
I plugin vanno caricati all'interno del server del sito, all'interno della seguente cartella:
ANM22WebBase/website/plugins/com_autorePlugin_nomePlugin/
All'interno della cartella del plugin i file devono essere organizzati nel seguente modo:
css
img
js
plugin.php
pluginSignature.txt
I file del plugin caricati all'interno del server di ANM22 WebBase devono essere caricati in una cartella con il seguente nome:
com_autorePlugin_nomePlugin
All'interno della cartella del plugin i file devono essere organizzati nel seguente modo:
css
img
js
plugin.php
pluginSignature.txt
I plugin sono sviluppati in PHP utilizzando il paradigma ad oggetti.
La classe del plugin deve estendere la classe com_anm22_wb_editor_page_element e lato server deve ridefinire i seguenti metodi:
- importXMLdoJob($xml)
// Hosting, WebBase
Importazione valori proprietà dal XML di salvataggio, lato hosting può essere utilizzato per le implementazioni PHP che devono essere eseguite prima che la pagina HTML venga stampata.
- exportXMLdoJob($xml)
// WebBase
Generazione XML per il salvataggio dei valori delle proprietà
- show()
// Hosting
Metodo in cui deve essere stampato il codice HTML
- showLabPreview()
// WebBase
Anteprima del plugin all'interno della schermata dell'editor in cui sono mostrati gli elementi di una pagina
- showLabEditor()
// WebBase
Campi per configurare il plugin nella schermata del back office in cui viene modificato un elemento della pagina
- showLabEditorScript()
// WebBase
Gestione parametri $_POST generati dai campi inseriti nel metodo showLabEditor()
Inoltre devono sempre essere ridefiniti i seguenti campi:
elementClass = nomeClassePlugin
elementPlugin = nomeCartellaPlugin
Le caratteristiche della risorsa generica plugin, implementata con la classe com_anm22_wb_editor_page_element sono le seguenti:
- elementClass
Nome classe plugin
- elementPlugin
Nome cartella plugin
- page
Proprietà contenente l'oggetto Pagina
- importXMLdoJob($xml)
// Hosting, WebBase
Importazione valori proprietà dal XML di salvataggio, lato hosting può essere utilizzato per le implementazioni PHP che devono essere eseguite prima che la pagina HTML venga stampata.
- exportXMLdoJob($xml)
// WebBase
Generazione XML per il salvataggio dei valori delle proprietà
- show()
// Hosting
Metodo in cui deve essere stampato il codice HTML
- showLabPreview()
// WebBase
Anteprima del plugin all'interno della schermata dell'editor in cui sono mostrati gli elementi di una pagina
- showLabEditor()
// WebBase
Campi per configurare il plugin nella schermata del back office in cui viene modificato un elemento della pagina
- showLabEditorScript()
// WebBase
Gestione parametri $_POST generati dai campi inseriti nel metodo showLabEditor()