Per definire un'estensione è sufficiente decorare la dichiarazione di classe con l'attributo [Extension].
Sintassi dell'attributo Extension
[Extension("Descrizione dell'estensione", "versione", "autore")]
Gli eventi
Una volta definita la classe, possiamo sottoscrivere gli eventi che intendiamo gestire all'interno del costruttore. aggiungendo gli EventHandler
agli eventi scatenati dai diversi oggetti.
Il numero di eventi è davvero elevato, e questo consente di avere una gestione delle funzionalità che si intende realizzare, inoltre possiamo intervenire su molti oggetti e nei diversi momenti della vita dell'applicazione.
Facendo riferimento ad esempio alla pubblicazione di un post, gli eventi che si possono sottoscrivere sono:
Eventi sulla pubblicazione di un post | ||
---|---|---|
AddingComment | CommentAdded | RemovingComment |
CommentRemoved | Rated | Saving |
Saved | Serving | MarkedDirty |
e utilizzando gli argomenti di questi eventi è possibile modificare il post in questione (o i relativi commenti)
intervendo sia nel testo dei contenuti che nelle diverse proprietà dell'oggetto
(visibilità del post, autore, data, descrizione e quant'altro).
Nella documentazione è presente l'elenco di tutti gli eventi disponibili
a qui potersi collegare.
Il repository
Un'estensione ci permette di aggiungere funzionalità e potenza al blog
adattandola alle proprie esigenze. Prima di reinventare la ruota però, possiamo cercare la extension che ci serve nel repository del sito ufficiale
Dall'area amministrativa si ha la possibilità di attivare e disattivare le
estensioni presenti, senza dover metter mano al codice, dimostrando l'estrema
flessibilità di BlogEngine.