Webbsidor
Hur man hanterar stackens webbsidor
Abstract
Stackens webb består av XML-sidor som generar HTML med mycket XML/XSL-magi. Rasmus Kaj kaj@stacken.kth.se är upphovsmannen till mycket av denna.
Om webbsidorna
Htmlfilerna byggs med XSLT från källfiler i ett XML-format som
bygger på XHTML-2.0, med några lokala tillägg. Vad som är XHTML och
vad som är lokalt skiljs ut med namnrymder. Källformatet deklareras
i _rng/page.rng
. Målformatet är HTML 4.01 Strict.
Filer (och kataloger) vars namn börjar med _ är saker hör till den gemensamma byggstrukturen snarare än till en specifik websida.
Innan man comittar något bör man göra make validate
(i den aktuella katalogen). Gör man större ändringar / tilläg är
det bra att även testinstallera och titta i en webbläsare.
För att testa hur webbsidorna ser ut kan man köra
make install
. Om man inte har någon speciell konfiguration
kommer filer att installeras i ~/public_html/s/
(Ta
gärna bort den katalogen efter avslutat testande).
Katalogöversikt
-
_README
- Den här filen. -
_rng
- Scheman i Relax NG. -
_xslt
- Transformer för att bygga html (och annat) av källdokumenten. -
2005, 2004 ...
- årtalskataloger för "aktuell" information. -
foo.xml
- källdokument tillfoo.html
. -
foo.sv.xml, foo.en.xml
- dokumentet finns på flera språk.
Byggförutsättningar
För att kunna bygga behöver man:
-
GNU make
(Makefilerna är inte kompatibla med bsd make) -
xsltproc
(Av "tillräckligt" färsk version) wget
-
AFS
(metainfo för gallerybilder läses (än så länge) ur afs) -
Perl
(för att bygga AFS-statistik
Var bor sidorna? Hur ändrar jag?
Sidorna hanteras i CVS, noga räknat i modulen
stacken-www
under
/afs/stacken.kth.se/src/SourceRepository
. Du måste
ingå i gruppen webauthors
för att få commit:a.
Emacs-moden nXML-mode rekommenderas då denna har en inbyggd Relax-NG-validator
För att lägga till en ny sida så skapar man XML-filen i rätt katalog samt lägger till den resulterande HTML-filen i $HTML
i katalogens Makefile.
Själva webbservern är för närvarande
igloo.stacken.kth.se
. Ett cron-jobb hämtar ut sidorna
från CVS varje kvart och transformerar till HTML.
Tekniska detaljer
AFS och kerberos
Stackens webbtjänser kör normalt med en servicenyckel som är medlem
i pts-gruppen webservers
. Det kan utnyttjas både för
Stackens egna websidor och för kårföreningar och andra som har websidor
på Stacken.
Autouppdatering på webservern
På igloo
kör ett cronjob som uppdaterar en lokal kopia
av webkällkodsträdet och installerar till lokalt träd var sjätte minut.
Träden ligger i /usr/local/www/www.stacken.kth.se-src
respektive /usr/local/www/www.stacken.kth.se