Brukerverktøy

Nettstedverktøy


Sidefelt

Prosjekteringsveileder

Redigeringshjelp (admin)

Alle sider (admin)

Opprett side (admin)

Du har ikke tilgang til å legge til sider
admin:tekniske_detaljer

Tekniske detaljer

Her er det forsøkt samlet en del tekniske detaljer som kan være nyttig for den som skal vedlikeholde prosjekteringsveilederen.

Detaljer om Hosting/Server

Prosjekteringsveilederen hostes på en virtuell server hos OPM (Operasjonssenter Marienborg) i trondheim. Dette styres av en SLA (service level agreement) mellom Finn Holom og OPM som sier at OPM har ansvar for drift av serveren opp til og med operativsystem (Ubuntu 12.04 LTS), men ikke webserver (apache), applikasjon (dokuwiki) eller innhold. Det betyr at vi er ansvarlige for enten å vedlikeholde disse installasjonene selv, eller leie inn noen til å gjøre det.

Feilmeldinger meldes til opm.brukerstotte@banenor.no. OPM har i service level agreement bundet seg til relativt strenge tidsfrister for feilmelding, men erfaring viser at disse sjeldent holdes. Vanligvis tar det flere måneder å få løst selv enkle problemer eller endringer.

Serveren står bak en brannmur, avstengt fra internett. Veilederen er tilgjengelig på internett via en revers proxy, som også oversetter fra https til http.

Backup

Backup utføres av OPM i form av differensielle snapshots av serveren som lages hver natt. De lagrer snapshots 30 dager tilbake i tid.

Internett-tilgang fra serveren

Serveren står som sagt bak en brannmur. For å få tilgang til internett fra serveren, er dokuwiki satt opp til å bruke proxyen http://10.255.255.40:8888/

For å få tilgang til å sende mail, brukes mailrelay.li.jbv.local - SMTP port 25.

Shell-tilgang til serveren

Shell-tilgang til serveren fås ved hjelp av vpn, og må bestilles via opm.brokerstotte@banenor.no.

Detaljer om dokuwiki-oppsett

Meny

Hovedmenyen er lagd manuelt og finnes i sidebar. I tillegg har innloggede brukere en mer fullestendig autogenerert meny generert av indexmenu-plugin for dokuwiki. Denne inkluderes via admin:include:adminsidebar (se admin:include).

JavaScript og CSS

Wikien er satt opp med htmlok-instillingen skrudd på, slik at wiki-sider kan inneholde html-kode. Dette er gjort for å kunne redigere grunnleggende JavaScript/CSS uten å måtte ha direkte tilgang til serveren. Ettersom bare faggruppemedlemmer har skrivetilgang til wikien, unngår vi sikkerhetsrisikoen som htmlok-instillingen vanligvis medfører.

Wiki-siden meta blir inkludert fra include hooken meta.html, inneholder et lite stykke javascript og css som skal inkluderes i wikien.

meta har JavaScript/CSS for følgende formål:

  • Skjule irrelevante html/css-knapper på bunnen av wikien
  • Utheve valgt rad i dokumentoversikten
  • Legge til referrer-informasjon i tilbakemeldingsskjemaet så vi kan se hvilken side vi får tilbakemelding på
  • Skjul «Dette er en gammel utgave av dokumentet»-melding fra publish plugin (se https://github.com/cosmocode/dokuwiki-plugin-publish/issues/16)
  • Sett opp verktøylinjeknapp for å oppdatere objektbiblioteket

Inkluderingen av wiki-siden meta gjøres med følgende kode i conf/meta.html på serveren:

<?php
tpl_include_page("meta");
?>

Bunntekst

Wiki-siden pagefooter blir inkludert på alle vanlige innholdssider fra include hooken pagefooter.html. Denne er brukt til å legge lenke til tilbakemeldingsskjemaet. I tillegg brukes den før nypublisering til å legge inn beskjed om at dette ikke er den offisielle prosjekteringsveilederen.

Inkluderingen av bunnteksten gjøres med følgende kode i conf/pagefooter.html på serveren:

global $ACT;
if ($ACT == "show") {
  tpl_include_page("pagefooter");
}
?>

admin:include-navnerommet

Dette navnerommet blir brukt til å lage admin-bokser som inkluderes på vanlige sider med informasjon og hjelpetekst til administratorer. Se admin:include

Objektbibliotek

Det ble valgt å publisere jernbaneverkets objektbibliotek som en del av prosjekteringsveilederen. Dette var fordi den eksisterende løsningen med publisering i en html-tabell som ligger som et vedlegg på jbv.no fungerte dårlig. Det må etter hvert vurderes hvorvidt prosjekteringsveilederen skal fortsette å være hjemmet for objektbiblioteket, eller om det skal utvikles/velges en mer spesialisert løsning.

Strata-pluginen til dokuwiki er brukt for å skape en database av objekter med ulike kategorier, filer, etc. Fordi strata-pluginen har tungvindt syntax, er det skrevet et kort JavaScript-verktøy til Dokuwiki for å konvertere en vanlig dokuwiki-tabell til en liste med strata-objekter. Koden ligger i meta, og en beskrivelse av hvordan den brukes ligger i objektbibliotek-kurs.

Selve strukturen i objektbiblioteket består av manuelt opprettede dokuwiki-sider, mens objektlistene under hver kategori, samt listen over alle objekter, er autogenererte med strata-pluginen.

Det er brukt en liten PHP-snutt i Oppdater objektbibliotek-zip (som kun er tilgjengelig for folk som er innlogget), som genererer objektbibliotek.zip basert på dwg-filer den finner i :objektbibliotek:objekter.

Det er også en javascript-snutt i alle-objekter som oppdaterer overskrift og filtrering av tabellen basert på GET-parametre. Se for eksempel objektbibliotek:alle-objekter?kategorier=overbygning:sporveksler


Send tilbakemelding på denne siden

admin/tekniske_detaljer.txt · Sist endret: 2018/12/21 15:32 av akhshe