[CSDev#2] - Come configurare un CSModule

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

posted @ martedì 11 luglio 2006 16:19

Print
Comments have been closed on this topic.
«dicembre»
domlunmarmergiovensab
27282930123
45678910
11121314151617
18192021222324
25262728293031
1234567