MF > IBK > Support >
2011-12-21
 Izvedba lepljenja strani

Izvedba lepljenja strani

Spletne strani se lepijo s pomočjo ISAPI filtra in ASP datoteke, ki se izvajata na spletnem strežniku Microsoft ki je instaliran na spletnem strežniku IIS 6.0. Na tem mestu je na kratko opisano njuno delovanje.

ISAPI filter

Funkcija ISAPI filtra je preusmeritev vseh zahtev na ASP datoteko glue, ki opravi lepljenje. Pri tem se naslov zahteve shrani v spremenljivko na strežniku z imenom HTTP_MAINFILETOGLUE.

Izključitev strani iz mehanizma lepljenja strani

S pomočjo datoteke \scripts\grules lahko posamezne mape na strežniku izključimo iz sistema lepljenja. Le-ta datoteka vsebuje tudi navodila za pisanje pravil. Privzeta je nastavitev, da se lepijo vse strani. Npr. s pravilom -/people/username določimo, da so vse strani, ki se nahajajo na tej lokaciji ali nižje v hierarhiji strani, izključene iz mehanizma lepljenja.

Pri spremembi pravil lepljenja je potrebno restartati ISAPI filter, kar dosežemo z zahtevo HoochieMama. V potrditev se nam odpre novo okno z izpisom napake pri dostopu.

Izvedba lepljenja strani

ASP datoteka glue opravi lepljenje strani v sledečih korakih:

  • na nivoju seje se določita spremenljivki prefLanguage in currLanguage, ki predstavljata preferenčni in trenutni jezik; privzet preferenčni jezik je slovenski (uporabljena je okrajšava "slo")
  • na strežniku se poišče datoteka, do katere je uporabnik dostopil; če ta ne obstaja, se poišče ustrezna datoteka notFound.html (oz. notFoundXXX.html, kjer XXX predstavlja izbrani jezik); določita se vrednosti spremenljivk mainPath in mainUrl
  • če mainPath na strežniku obstaja, se iz nje razberejo spremenljivke languagesHtm, title, customCssUrl in dateText; obnovi se vrednost spremeljivke currLanguage
  • če mainPath na strežniku ne obstaja, vrednosti gornjih spremenljivk nastavi glue
  • iz zahteve se razbere, če je uporabnih zahteval stran v načinu za tiskanje (parameter ?printReady=1)
  • sestavi se glava strani, ki vsebuje
    • <meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
    • <title>title</title>
    • <link href="defaultCssUrl" rel="stylesheet" type="text/css">
    • <link href="customCssUrl" rel="stylesheet" type="text/css">
    • <base href="serverName/mainUrl">
  • prebere se vsebina datoteke mainPath
    • če gre za ASP ali ASPX datoteko, se datoteka izvede na strežniku
    • sicer se prebere le njen del med oznakama <body> in </body>; v primeru, ko oznaki ne obstajata, se datoteka prebere v celoti
  • če je zahtevan način za tiskanje, se vsebina doda med oznaki <div class="div_printReady"> in </div>
  • sicer se po principu dedovanja poišče posebne datoteke, in sicer datoteke z logotipom, spotlight, footer, menijem in potjo; datoteke se preberejo v celoti, pri tem se vse relativne povezave zamenja z absolutnimi
  • v primeru večjezičnih strani se posebne datoteke iščejo glede na vrednosti spremenljivke currLanguage in prefLanguage, in sicer v zapisanem vrstnem redu
  • vsebina datoteke mainPath in posebnih datotek se skopira na ustrezno mesto v tabeli, ki predstavlja zgradbo strani
  • glue poskrbi, da se trenutno izbrana povezava v meniju obrava drugače; to stori tako, da preveri, katera izmed povezav v meiju kaže na trenutno prikazano datoteko
  • če je vsebina datoteke za spotlight prazna, se spotlight ne prikaže (na ta način lahko iz naše strani odstranimo spotlight, ki je določen v hierarhiji višje)
  • pot, ki je prikazana na vrhu strani, se sestavi iz vsebine vseh datotek path.html, ki se nahajajo hierarhiji URL naslova od osnovne do trenutno prikazane strani, na konec pa se doda povezava na trenutno prikazano stran, katero se razbere iz menija (links.html)
2006 - Univerza v Ljubljani, Medicinska fakulteta, Institut za biokemijo.