Settimana scorsa abbiamo visto come iniziare a personalizzare Community Server, scrivendo un
CSModule: prima di
affrontare le API di Community Server voglio soffermarmi su un come rendere
configurabile un CSModule.
La cosa è abbastanza semplice, anche se non ho ancora trovato sui vari blog
nessun post a riguardo: l'unico metodo dell'interfaccia ICSModule ha la seguente signature:
void Init(CSApplication csa, XmlNode node)
il
parametro node restitusce
proprio il nodo XML con il quale si aggiunto il modulo all'interno del file
communityserver.config
Per prova sto implementando un CSModule per permettere l'invio automatico
delle notifiche a Communtiy-Credits.com dai forum e dai blog di CommunityServer.
In questo caso ecco com'è configurato il file communityserver.config:
<add name = "CommunityCreditPointSubmission" type = "CSModuleTest.CommunityCreditPointSubmission, CSModuleTest">
<AffiliateKey Value="34jdop"/>
<AffiliateCodey Value="_f8Dsa"/>
</add>
e questo il codice presente nella Init per leggere la configurazione
public void Init(CSApplication csa, XmlNode node)
{
foreach (XmlNode child in node.ChildNodes)
{
if (child.Name.Equals("AffiliateKey"))
{
_affiliateKey = child.Attributes["Value"].Value;
}
else if (child.Name.Equals("AffiliateCode"))
{
_affiliateCode = child.Attributes["Value"].Value;
}
}
csa.PostPostUpdate += new CSPostEventHandler(csa_PostPostUpdate);
}
Ok, la parte di lettura dell'XML poteva essere implementata meglio, ma a
scopo d'esempio, va bene così
powered by IMHO 1.3