28.07.2013 Views

Hent teknisk dokumentation - Go Basic

Hent teknisk dokumentation - Go Basic

Hent teknisk dokumentation - Go Basic

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!