La piattaforma | Caratteristiche | Sviluppo | Scarica | Licenza |EnglishItalian

SourceForge.net Logo

Support Wedgefish development

Estendere la piattaforma con le funzioni plug-in

Wedgefish è strutturato mediante un'architettura a plug-in progettata in base agli standard più diffusi, che consente di estendere le funzionalità del sistema e dei suoi moduli senza bisogno di modificarne il nucleo principale.
Ciò avviene mediante il collaudato meccanismo degli hooks: in particolari fasi dell'esecuzione del programma, vengono richiamate, in sequenza, tutte le funzioni che sono state "agganciate" ad un determinato hook, passandogli i parametri adeguati al contesto, oltre a dare loro accesso alle proprietà globali della piattaforma.
Una funzione può essere eseguita in diversi punti del programma, per svolgere uno scopo differente: una peculiarità di Wedgefish è che ciò può essere impostato semplicemente modificando la configurazione globale o quella di un particolare sito, senza dover scrivere una riga di codice.

Perché usare gli hooks invece di modificare i sorgenti della piattaforma?

La licenza Open Source di Wedgefish consente di modificare liberamente il codice della piattaforma secondo le proprie esigenze, purché ogni modifica venga rilasciata alla comunità (ciò avviene normalmente senza che il proprietario del sito debba fare nulla, poiché in fondo ad ogni pagina viene aggiunto in automatico un link per scaricare i sorgenti del codice in esecuzione).
Perché è allora sconsigliabile fare modifiche al nucleo del sistema?

Nuove versioni di Wedgefish vengono pubblicate regolarmente, allo scopo di risolvere problemi o aggiungere funzionalità che risultano essere spesso necessarie allo sviluppo di nuove applicazioni.
Può quindi capitare che, all'atto di aggiornare la propria installazione, il vecchio codice modificato a mano venga sovrascritto dal nuovo, rendendo vano il proprio lavoro oppure costringendo ad un lungo lavoro di integrazione.
Occorre tenere presente inoltre che il nucleo di Wedgefish è stato progettato per offrire massime prestazioni nella sua configurazione di base ed essere estremamente modulare. Aggiungervi nuove funzionalità potrebbe quindi appesantirlo, aumentando i tempi di risposta della piattaforma, poiché tale codice dovrebbe essere eseguito anche dai siti che non ne hanno bisogno.

Ecco perché ogni estensione dovrebbe sempre essere implementata come una funzione plug-in, affinché sia possibile abilitarla esplicitamente solo su determinati siti specificandolo nella loro configurazione.

 

Wedgefish - Copyright © 2005-2008 by Massimiliano Alessandri
This is free software, and you may redistribute it under the Affero GPL.
Wedgefish comes with absolutely no warranty; for details, see the license.
You may download the currently running source code for this software.