Stacken/admin/www

Revision as of 18:44, 26 August 2011 by Kaj (talk | contribs) (Autouppdatering på webservern: Bort med dublettinfo, så det blir lite överskådligare och lättare att hålla uppdaterat.)

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

HTML-filerna 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 webbsida.

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 till foo.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.

Om du använder Emacs så rekommenderas moden nXML-mode 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 cookie. Ett cron-jobb ska hämta 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.