Hent teknisk dokumentation - Go Basic
Hent teknisk dokumentation - Go Basic
Hent teknisk dokumentation - Go Basic
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
}<br />
Site Status<br />
Site status er en feature, som giver administratorer mulighed for nemt og hurtigt at se,<br />
hvilke komponenter der er konfigureret for de forskellige sites i en <strong>Go</strong> <strong>Basic</strong> løsning.<br />
Det er også meningen, at man herfra nemt skal kunne konfigurere komponenterne<br />
uden at behøve at foretage alle de manuelle operationer, det ellers ville kræve.<br />
En komponent kan være alt lige fra hånderingen af 404-fejl, til konfigurationselementer<br />
til videoafsplining osv. En komponent kan også være et tredjepartsmodul som <strong>Go</strong><br />
<strong>Basic</strong> ikke kender til, og som kræver oprettelse af forskellige items i sitestrukturen for<br />
at fungere. Det skal altså være muligt for tredjepart, at tilføje sektioner til statussiden.<br />
Arkitekturen omkring sitestatus fungerer således, at systemet scanner de inkluderede<br />
assemblies efter klasser som implementerer ISiteComponent interfacet.<br />
public interface ISiteComponent<br />
{<br />
string Name { get; }<br />
void Initialize(Document siteRoot);<br />
SiteComponentState State { get; }<br />
void InstantiateIn(ControlCollection controls);<br />
}<br />
Name propertien benyttes til at udskrive komponententens navn.<br />
Initialize metoden har til formål at initializere State propertien for det givne<br />
site.<br />
State propertien kan antage følgende værdier : Ok, warning, disabled. Ok<br />
betyder at komponenten er konfigureret og virker. Warning betyder at<br />
komponenten er obligatorisk og ikke konfigureret, eller at komponenten kun<br />
er delvist konfigureret. Disabled betyder at komponenten ikke er<br />
konfigureret, og at komponenten ikke er obligatorisk (eller vigtig).<br />
I InstantiateIn metoden kan man oprette og tilføje diverse kontroller til<br />
outputtet, som f.eks. en label som beskriver status, eller en knap til at udføre<br />
en kommando.<br />
Denne løsning giver en stor fleksibilitet i forhold til, hvilke kontroller man vil vise, men<br />
det kan være lidt omstændigt at implementere interfacet. I de fleste tilfælde kan man<br />
med fordel nedarve sin klasse fra BaseSiteComponent, som implementerer<br />
ISiteComponent, og som har en række hjælpemetoder til forskellige formål. Alle<br />
indbyggede <strong>Go</strong> <strong>Basic</strong> komponenter nedarver fra denne klasse.<br />
Følgende eksempel viser, hvordan News Archive komponentens state er<br />
implementeret (simplificeret en smule her for overskuelighedens skyld ).<br />
Nyhedsarkivet kræver, at der findes en side af typen NewsListPage et sted under<br />
home item’et, og at der findes et systemlink kaldet ”NewsArchivePage” for sitet, som<br />
peger på denne.<br />
11