Instruktioner för handhavande av IRF:s webplats
Johan Arvelius
`"
Den här i instruktionen i PDF: http://www.irf.se/~johan/webmanual.pdf
Hur undviker jag att läsa detta dokument? Snälla hoppa inte över
det helt och ställ till det men hoppa gärna direkt till
punkt 4 och läs det stycke du behöver för tillfället.
Section 4 is also available in english: http://spider.irf.se/program/webman_en.html.
1 Introduktion
Grundiden med den nya tekniska lösningen för IRF:s webbplats är att
information som skall läggas ut på webben skall kunna skrivas ned i en
enkel form. Genom en grundsida som är ett php-skript som läser de
enskilda filer som ligger på webservern sätts de sidor som sedan visas
utåt ihop dynamsikt i samma stund som den visas. På detta sätt kan man
undvika att ha samma information lagrad i flera filer och behöva ändra
en och samma sak på flera ställen.
Vissa typer av information är statisk och läggs bara till hela tiden
som mötesprotokoll och sammanfattningar av seminarier. För dessa görs
särskilda skript som listar alla eller urval efter vissa kriterier och
för att lägga till sådana skall man bara behöva lägga dokumenten i
databasen.
Sidornas utformning görs med hjälp av sk cascadings style sheets (CSS)
och de kommer även att påverka utformningen av de sidor man lägger
till så att de skall ge ett enhetligt intryck i en praktisk
utformning. Denna gäller så länge man inte uttryckligen anger något
annat om utformningen i sina filer. CSS som är definierade i
sidhuvudet för filen kommer att tas bort för att inte kollidera med
den normala IRF-standarden om man verkligen vill ha en egen CSS kan
denna läggas in och länkas till dokumenten explicit.
I andan av att en information skall finnas på en plats för enkel
uppdatering har även en länkdatabas skapats. Där kan man både lägga in
länkar till sidor på vår egen webplats som man tror det finns risk att
man kommer att flytta på och länkar utanför vår konroll. Man länkar då
från respektive sidor på webplatsen till en referens i länkdatabasen
som innehåller adressen till den aktuella sidan.
2 Struktur
Grundstrukturen är som framgår ovan att sidorna på IRFs webplats skall
genereras dynamiskt av skript i olika nivåer. Den översta nivån är ett
php-skript - filen http://spider.irf.se/index.php som administreras av webmaster tar
hand om det som skall vara gemensamt för alla websidor, länkspalten på
vänstersidan (som indikeras i grönt i fig 1) och en
CSS som bestämmer de gemensamma delarna av utformningen. Nästa nivå är
det vi har valt att kalla wrapperfiler, ett annat php-skript som
administreras av webansvariga för respektive delar av webplaten, de
tar hand om att sätta ett sidhuvud på den högra sidan (som indikeras
med rött i fig 1 och alla andra saker som man vill ha
gemensamt inom den delen. Denna wrapper har till uppgift att
underlätta administrationen av de saker som skall vara gemensamma
förslagsvis en rad länkar som underlättar navigationen på den delen av
webplatsen.
Figure 1: Utseendet av en sida på webplatsen
Filer på webservern ordnas av praktiska skäl upp i några
underkataloger från det grundkatalogen /var/www/spider.irf.se/. I dessa underkataloger
finns länkar till http://spider.irf.se/index.php alla kallade index.php samt
försåss alla andra filer som ingår i websiten. Parallellt med detta
först och främst för sidor som på olika sätt skall kunna listas och
hållas reda på i mängd, men även alla andra efter tycke och smak finns
en databas där man kan lägga in sidor och en del andra typer av data
för publicering på nätet. Denna är också organiserad så att
huvudskriptet väljer länkar och wrapper beroende på var i databasen
den efterfrågade sidan ligger. I varje underkatalog till /var/www/spider.irf.se/ på
spider bör det finnas en wrapperfil som heter wrapper.php.
Denna kommer att användas om förvald wrapper för alla filer i
katalogen.
För databasen finns ett webgränssnitt för inläggande av sidor på
intranätet http://spider.irf.se/webinterface/intra/.
3 Fördjupning
3.1 Sökvägar
Eftersom skripten läser ihop en fil som sänds ut från webservern måste
alla relativa sökvägar i länkar och till inkluderade dokument vara
relativt denna fil i filsystemet. Det mest intuitiva när man skriver
sidor är att referera relativt den filen och i de fall man använder
något verktyg som automatiskt genererar relativa sökvägar är det ofta
det enda alternativet. Om man konsekvent gör så och sedan lägger en
länk till filen http://spider.irf.se/index.php i samma katalog kan man sedan lugnt skriva
länkar till denna länk av index.php.
Om man håller tungan rätt i mun kan man istället hålla reda på att
skriva alla länkar relativt http://spider.irf.se/index.php och skriva en länk till
http://spider.irf.se/index.php och så lägga resten av sökvägen till filen i parametern
file. Då kommer dock inte filen att fungera ''för sig själv''
d v s att länka direkt till filen som t ex utskriftsvänlig version
om den innehåller relativa sökvägar.
3.2 Databas
Skriptfilerna http://spider.irf.se/index.php och wrapperfilerna är php-skript. Detta är
ett skriptspråk som man bakar in i HTML-koden genom att ange
kodstycken som skall interpreteras med <?php och ?> för
början och slut respektive. Koden interpretteras av webservern som ger
ut en helt vanlig HTML-kod. Detta är en mycket stor fördel ur
kompatiblitetssynpunkt eftersom det inte behövs någon form av plug-in
eller tolk på användarsidan som är fallet med t ex javaskript och
flash. För att göra sidorna tillgängliga för så många som möjligt bör
man använda skript som interpreteras på webservern framför sådana som
skall interpreteras av användaren.
En manual för PHP finns t ex på http://www.php.net/.
3.5 HTML-standard och Validering
Detta är en akilleshäl i hela upplägget. Vi har valt att bekänna oss
till HTML version 4.01 Transitional för att det är den normalaste vid
den tidpunkt då denna weblösning introducerades och det kommer att
behöva uppdateras så snart några av sidorna som bäddas in med hjälp av
detta skript är skrivna i modernare versioner och använder de nya
möjligheter som erbjuds i dessa. Problemet kommer om dessa versioner
omdefinierar saker så att det äldre sidor då kan komma att feltolkas.
Prova gärna att validera några olika sidor med t. ex. W3Cs
valideringsservice http://validator.w3.org/.
Grundproblemet är att det är flera filer som kan vara skrivna enligt
olika versioner av HTML skall sättas ihop till en fil. Första raden i
en HTML-sida utläses av webläsen för att ta reda på vilken version av
HTML-standarden den skall tolka koden efter. Eftersom http://spider.irf.se/index.php och
wrapperfilerna också innehåller en del HTML-kod som idag är skriven
efter version 4.01 Transitional kan man inte ändra hur som helst. En
lösning på detta skulle kunna vara att bara använda saker som är
gemensamma för de HTML-versioner som kan komma i fråga och sedan
samtidigt som man filtrerar bort filhuvudet från sidor som packas in
tar första raden och låter det bli första raden i den utgående sidan.
Att göra för någon som känner sig manad.
3.6 God HTML-kod
HTML skapades för att i första hand förmedla texter med grundtanken
att det skall vara användaren, den som tittar på sidorna som genom sin
webläsare skall låta innehållet presenteras på ett sätt som är bra för
honom, textstorlek, typsnitt mm som ser bra ut på hans skärm och som
han tycker är lagom stor osv.
När webben snabbt spred sig i den kommersiella världen kom förståss de
som skrev sidorna att tycka att det är de som skall bestämma hur sidan
skall presenteras för att utmärka sig från alla andra. Det finns i
HTML-standarden ganska trubbiga verktyg för att ändra design, man
måste ange med kod mitt i dokumentet hur man vill ha fonter mm och för
att ändra marginaler finns i princip inget alls. För att fixa detta
kom en uppsjö av webdesignverktyg, dreamweaver m fl som gjorde det
lätt att ändra alla dessa olika saker. Problemet (eller för företagen
affärsiden) var att de kläcker ur sig makalösa mängder med
HTML-kommandon i själva koden och för att ha en chans att ändra något
mer i sidan måste man fortsätta att använda samma program. För att
komma runt problemet med att det inte finns något uttryckt sätt att
ändra marginaler gjorde dessa extensivt bruk av <table>
kommandot som egentligen är till för att göra tabeller. Genom att göra
tabeller med tomma rutor runt om och hela texten i en enda ruta gör de
någon slags marginaler med ganska skiftande resultat beroende på
vilken webläsare som användes.
I sinom tid har dock standardiseringsorganisationerna vaknat och det
har kommit ett sätt att effektivt skilja ut designen från innehållet.
Det kallas Cascading Style Sheets (CSS) och andemeningen är att man
skall ange på ett ställe antingen i början av html-filen eller i en
separat fil hur sidorna skall se ut, typsnitt, färger, marginaler
o s v. Man kan använda hur många CSS man vill och den senaste har
alltid företräde om de är motstridiga. Man kan använda olika CSS på
olika delar av sidan. IRFs sidor bygger på att använda CSS för att
definiera utseendet. Genom att använda normala kommandon som
<h1> för rubriker etc. kommer sidorna att få ett likartat
utseende. Om man av någon anledning märker att man ofta vill frångå
standarden och regelmässigt ändra designmässiga saker bör man istället
tänka över varför, skriva en CSS som gör det man vill och använda den,
detta bör göras i samråd med webmaster. Genom att skriva ett så enkelt
och rättframt innehåll som möjligt utan att överstyra med en mängd
design i koden kommer vi att få en sammanhållen design. Om man inte
tycker om den är det bättre att ta upp saken med webmaster och få det
man inte tycker om ändrat på hela siten.
3.7 Konvertering från gamla webplatsen
IRFs webplats är idag så pass omfattande att det inte är rimligt att
den helt kan konverteras till den nya form som beskrivs här på en så
kort tid att det inte under denna tid inkommer fortlöpande
förändringar som bör läggas ut på webplatsen. Detta innebär att det
under en övergångsperiod måste finnas sidor som är konverterade och
ligger ute samtidigt som det finns gamla kvar som ännu inte är
konverterade.
Eftersom strukturen i det nya konceptet skiljer sig ganska drastiskt
från det tidigare är det inte möjligt att de nya och gamla dokumenten
får samma URL. Detta ställer krav på att konverteringen görs på ett
strukturerat sätt eftersom webplatsens sidor är intimt sammanlänkade
på många sätt. Vi har kommit fram till arbetsordning som bygger på att
man hela tiden lägger länkar i länkdatabasen för de länkar som finns i
de dokument som man konverterar och som leder till ännu icke
konverterade dokument. När man sedan konverterar dessa ändrar man i
länkdatabasen och på så sätt säkerställer man att alla nya länkar som
skrivs är aktuella. När man har konverterat en sida tar man bort denna
fil och gör en omdirigeringslänk till den nya adressen och lägger i
dess plats. På detta sätt säkerställer man att de ännu icke
konverterade delarna av webplatsen inte får missledande
länkar. Samtidigt är detta en mycket god service till alla andra
utifrån som ev har länkar och bokmärken till våra sidor.
Denna procedur finns beskriven i detalj i stycke 4.6
- Varför & istället för bara & ?
- Vissa
tecken har speciella meningar i HTML. & är ett av dessa tecken och
har meningen att ta en sträng fram tills ett avslutande ; och tolka
denna till något tecken. Det är till för att man t. ex. skall
kunna skriva andra specialtecken man vill ha i texten utan att de
tolkas som ett kommando i HTML-koden. Det verkliga & tecknet heter
i denna notation amp och skall således skrivas & i länknamn. Nu
fungerar det för det mesta i moderna webläsare som gissar att
eftersom det aldrig kommer något ; så menade man nog egentligen
& men det är ingen garanti och om man av någon anledning skulle
hitta på ett länknamn med ett ; i blir det troligen ganska fel.
4 Praktiskt handhavande
En sak är viktig att komma ihåg för alla som hanterar IRFs webplats
och det är att alla relativa länkar och sökvägar är relativt
grundfilen index.php. För att kunna ge relativa sökvägar som
stämmer med dokumentets placering i filstrukturen kan man göra en
symbolisk länk till http://spider.irf.se/index.php med kommandot
ln -s index.php /var/www/spider.irf.se/index.php.
Kopiera absolut inte index.php till katalogen det skall vara en
fil och ändringar i den skall vara globala. Det är starkt
rekomenderat att göra sådana länkar närhelst man skapar en ny katalog.
4.1 Lägga till protokoll, seminarier och nyheter
Figure 2: Användargränssnitt för att lägga till protokoll
Protokoll, seminarier och nyheter lägges in i databasen och kommer
genom färdigskrivna rutiner att automatiskt visas upp i listor på
avsedda ställen. Steg för steg är processen:
- Gå till http://spider.irf.se/webinterface/intra/ och klicka på LOGIN nedanför IRF-logon.
- Logga in med ditt användarnamn och lösenord, samma som för
mailservern.
- Du får nu upp en lista med länkar till de grupper du har
rättigheter att lägga in dokument för. Klicka på den som är aktuell.
- Du kommer nu till ett administrationsgränssnitt där du kan välja
Admin. Protocols, Admin. Seminars eller Admin. News för protokoll,
seminarier resp nyheter. (Indikerat i Grönt i
figur 2.) Välj den som är aktuell.
- Du får nu upp en lista över befintliga dokument i denna kategori
enligt fig 2. Det kan finnas
underavdelningar. Klicka på länken Add
Protocol/Seminar/News för den underavdelning du vill
lägga ett nytt dokument till.
- Välj och fyll i fälten som kommer upp.
- Title
- Titeln är den som troligen används i listan varifrån
dokumentet nås från webplatsen.
- New category
- Tänk nogsamt igenom innan du lägger till en ny
kategori för ditt dokument och se till att den kommer att länkas
in på avsedd plats.
- Read permissions
- Anger vem som får läsa dokumentet du lägger
in. Group refererar till de som ingår i gruppen vars dokument du
håller på att lägga in, Intranet är alla användare som har en
användare på IRF:s datorsystem dvs alla anställda och tillfälliga
gäster. Public betyder att det kan läsas av alla, det behöver för
den skull inte betyda att det i praktiken går att hitta om listan
där det länkas är i intranet men någon annan kan komma att skriva
en sådan som är tillgänglig direkt från webplatsen!
- Write permissons
- Anger vem som har rätt att göra ändringar
eller ta bort dokumentet. Creator betyder att det bara är du
själv, gruppens administratör och huvudadministratören (troligen
informationsansvarig och/eller någon systemtekniker). Group
betyder alla i den aktuella gruppen.
- Lägg till dokumentet antingen genom att välja en fil från din
egen hårddisk genom att skriva in ett filnamn eller klicka på
browse-knappen. Alternativt skriva eller kopiera in texten direkt i
den stora rutan.
- Avsluta med att klicka på UPDATE DATABASE.
4.2 Länkdatabasen
För att använda länkar i länkdatabasen gör man en vanlig länk i sitt
dokument till http://titan.irf.se/www.irf.se/webinterface/intra/db/link.php/länknamn. Genom
webbgränssnittet för databasen http://spider.irf.se/webinterface/intra/ kan man se vilka länkar som
finns att tillgå genom att klicka på länken Link database högt uppe i
vänstra spalten. Där finns också hela länknamnen så att man kan
kopiera.
För att lägga in nya länkar i länkdatabasen:
- Gå till webbgränssnittet http://spider.irf.se/webinterface/intra/, logga in och klicka på
länken Link database högt uppe i vänstra spalten.
- Kontrollera om länken redan finns genom att klicka på SEARCH och
skriva in länknamnet i rutan.
- Klicka på ADD högst upp på sidan.
- Fyll i länknamn och adress i rutorna.
- Klicka på UPDATE DATABASE.
- Se ditt nya länknamn i listan.
För att ändra länkar i länkdatabasen:
- Gå till webbgränssnittet http://spider.irf.se/webinterface/intra/, logga in och klicka på
länken Link database högt uppe i vänstra spalten.
- Klicka på EDIT vid den länk du vill ändra.
- Fyll i den nya adressen.
- Klicka på UPDATE DATABASE.
Observera att det bara går att ändra adressen. Länknamnet är
fastställt och det skulle motverka länkdatabasens syfte om det gick
att ändra. Det går att ta bort länkar från databasen. Tänk noga igenom
innan du gör det. Det skall endast göras om man är säker på att
innehållet på den sida som det pekade till är definitivt borttaget
från nätet, det kan finnas fler än dina egna länkar till
länkdatabasen. Försök leta reda på alla länkar till den om du
verkligen tar bort en länk från länkdatabasen.
4.3 Andra dokument, ''vanliga websidor''
Här behandlas proceduren att lägga till websidor som skall vara del i
IRF:s webplats och ha den blå spalten på vänstersidan. Detta göres i
kort genom att spara sidan som en fil på webservern eller i databasen
och sedan länka till sidan http://spider.irf.se/index.php med parametern
?page=filnamn resp
?dbfile=databasentry&dbsec=grupp.
4.3.1 Restriktioner
Några tekniska specialiteter kan interferera med det skript som skall
läsa in filen på ett icke önskvärt och bör därför undvikas. För att
webplatsen skall ge ett enhetligt intryck finns rekomendationer om
designen av Jenny Brännström på http://www.irf.se/intra/webbredaktion/profilmall_030606.pdf. Om man gör enkel html utan
att påverka den grafiska utformningen kommer sidan att utformas enligt
dessa instruktioner.
- Absoluta koordinater
- Eftersom sidan i slutänden inte kommer att
vara ett eget html-dokument utan ett fält i ett större dokument som
innehåller den blå spalten i vänsterkanten och troligen ett sidhuvud
och en sidfot kommer delar som placeras med absoluta koordinater att
troligen att få en oväntad och inte önskvärd placering.
- CSS
- IRFs webplats använder CSS för utformningen av sidorna.
Dessa kommer även att appliceras på de sidor du lägger till. Om man
på ett obetänksamt sätt definierar om saker i en CSS i den sida man
lägger till kan man påverka utformningen av även de andra delarna.
Normalt läser man in en CSS i html-filens huvud (mellan tagarna
<head> och </head>). Hela denna del kommer att
strippas bort från filen och kommer då inte att appliceras. Om du
verkligen vill utnyttja en annan CSS en IRFs normalmall finns
möjligheten att lägga till den och länka in den med en egen
parameter till grundsidan http://spider.irf.se/index.php. Detta är överkurs, se
stycke 4.5.3.
4.3.2 Lägga till dokument till databasen
- För att lägga dokumenet till databasen följ punkterna under
stycket 4.1 med skillnaden att du skall välja Add
Document.
- För att länka till sidan skriver man sedan
en länk till http://spider.irf.se/index.php med parametern ?dbfile=
databasentry&dbsec=grupp. Om man länkar
in dokumentet i wrapper och vill länka till denna med den wrappern
kan man förståss också länka till den adress som genereras av
wrappern när man klickar sig fram till dokumentet. Denna kan vara
ganska lång och krånglig, men hjälper besökaren att förstå
sammanhanget genom att rätt undermenyer visas i sidhuvudet.
- Exempel:
- Om jag har lagt till en sida till databasen i grupp P1
som jag gav titeln ''exempel'' gör jag länken
<a href="index.php?dbsec=P1&dbfile=exempel">exempel</a>
från sidor som ligger i katalogen /var/www/spider.irf.se/ på spider. Från
andra sidor antingen den relativa sökvägen till test.php eller
hela:
<a href="http://spider.irf.se/index.php?dbsec=P1&dbfile=exempel">exempel</a>
I exemplen i stycke 4.4 fortsätter vi med hur
man lägger in detta i wrappern och skriver länkar till det.
4.3.3 Lägga till dokument som filer
- Lägg filen du vill lägga till i trädstrukturen under
/var/www/spider.irf.se/ på spider. placeringen i trädstrukturen bestämmer vilken
omgivning som kommer att användas för sidan. Om man t. ex. lägger ett
dokument i /var/www/spider.irf.se/P1/ kommer man att få en rad för
navigering på atmosfärfysikprogrammets sidor överst på sidan.
- För att länka till sidan skriver man sedan en länk till
http://spider.irf.se/underbibliotek/index.php med
parametern ?page=filnamn. Om detta inte
fungerar beror det på att det inte finns någon symbolisk länk till
http://spider.irf.se/index.php från det underbibliotek där man lagt filen. Då kan
man lägga till en sådan med kommandot
ln -s index.php /var/www/spider.irf.se/index.php.
Kopiera absolut inte index.php till katalogen det skall vara en
fil och ändringar i den skall vara globala. Alternativt kan man
länka till sidan som http://spider.irf.se/index.php?page=
underbibliotek/filnamn, då får man ett sidhuvud
som är gemensamt för hela institutet. Nackdelen med denna metod är
att man måste se till att alla länkar med relativa sökvägar i sidan
refererar från /var/www/spider.irf.se/. Även för filer gäller att det är
bättre att länka till wrapperns genererade adress som diskuterades i
stycke 4.3.2
- Exempel:
- Om jag har lagt till en sida /var/www/spider.irf.se/
P1/exempel.html gör jag länken
<a href="P1/index.php?file=exempel">exempel</a>
från sidor som ligger i katalogen /var/www/spider.irf.se/ på spider. Från
andra sidor antingen den relativa sökvägen till index.php
eller hela:
<a href="http://spider.irf.se/P1/index.php?file=exempel">exempel</a>.
I exemplen i stycke 4.4 fortsätter vi med hur man lägger
in detta i wrappern och skriver länkar till det.
4.4 Sidor med sidhuvud
För att lägga till sidor med dynamiskt genererade sidhuvud finns en
mall. Denna innehåller samtidigt kod så att den fungerar som
wrapper-fil. För att lägga till en omgång websidor med ett eget
sidhuvud t. ex. ett nytt projekt eller instrument enligt denna mall
gör man enligt nedan. Wrapperfilen till sidan som visas i
figur 1 är gjord med denna mall. Om denna inte är
tillämpbar se instruktioner om att skriva en ny wrapper från scratch
under 4.5.5.
- Kopiera filen /var/www/spider.irf.se/skeleton/wrapper.php.
- Sätt rubriken för sidan. Detta kan göras genom att sätta en
bildlogotype, en textrubrik eller båda delarna. Om man sätter båda
kommer bildlogotypen att komma överst och sedan textrubriken en rad
nedanför. Detta kan t. ex. användas för att lägga in ett nytt
projekt med programlogotypen från programsidan överst och sedan en
textrubrik med projektnamnet. Sökväg till en bildlogga sättes med
$imglogo="relativ/sökväg/till.fil";
medans textrubrik sättes med
$textlogo="Rubrik";. I
figur 1 visas ett exempel med bildlogotype.
- Lägg in namn på huvudlänkarna som skall visas i en rad under
rubriken. De sättes i tur och ordning genom att sätta
$linkname[x][0]="länknamn";
- Lägg till eventuella underlänkar som skall falla ut om
undermenyer till huvudlänkarna när man klickar på dem. På samma
sätt; $linkname[x][y]="länknamn";.
Underlänkar med första koordinaten x kommer i
turordning efter y under huvudlänken x
när den aktiveras.
- Länkar som skall leda ''ut'', d v s som inte skall visas inom
ramen för den här aktuella wrappern lägger man till genom att skriva
$linkurl[x][y]="url"; direkt efter
länknamnet. För filer som s a s ligger mer än en nivå under
huvudsidan, t ex forskningsprojekt inom ett program är det starkt
rekomenderat att ha en sådan länk som $linkname[0][0] som
leder tillbaks till den ovanliggande nivån.
- Fyll i vad som skall visas när länkarna aktiveras genom att
skriva direkt html-kod eller inkludera andra filer i respektive
else if sats. Om du inkluderar filer som i sig själva är
kompletta HTML-dokument finns två färdiga skript som kan anropas för
att strippa bort delar av HTML-koden som inte får förekomma mitt inne
i dokumentet.
- http://spider.irf.se/webinterface/intra/code/include_local.php är ett phpskript
som tar ett argument file=fil och ger tillbaks innehållet
i fil strippat enligt beskrivning i
stycke 4.5.5.
- http://spider.irf.se/webinterface/intra/code/include_db.php är ett phpskript
som tar argumenten dbfile=fil och dbsec=sec
och ger tillbaks innehållet i fil på samma sätt.
Dessa två skript bör anropas med include för att eventuell php-kod i
dem skall interpretteras, skripten i sig returnerar bara ordagrant
innehållet i filen som är kvar efter filtreringen.
- Lägg filen i databasen enligt stycke 4.3.2 eller
direkt på webservern enligt 4.3.3. Det är viktigt att
den har ändelsen .php på filnamnet.
- Eftersom http://spider.irf.se/index.php börjar med att leta efter en wrapper i
aktuell katalog skall man om man vill använda sin wrapper som
förvalswrapper för den aktuella katalogen kalla den
wrapper.php och göra en symbolisk länk från samma katalog till
http://spider.irf.se/index.php.
- Länka till de dokument som är inkluderade i den här wrappern
explicit görs som vanligt. Addresserna blir lite egensinniga.
Observera att de &-tecken som ingår i adresserna måste skrivas
& i länkarna för att & har en speciell betydelse i
HTML, se 3.8
- Exempel 1:
-
För att få med
exempeldokumentet i databasen (stycke 4.3.2) i
undermenyn till andra rubriken i sidhuvudet lägger jag till
$linkname[1][1]="ny fil"; i wrappern och sedan
include
"http://spider.irf.se/webinterface/intra/code/include_db.php?dbfile=exempel&dbsec=P1"
i satsen else if ($link[1][1]).
- Exempel 2:
- För att länka till dokumentet någon annanstans ifrån
gör jag en länk
<a href="http://spider.irf.se/P1/index.php?link[1][1]=1&chosen=program">exempel</a>.
- Exempel 3:
- För att få med exempelfilen i
stycke 4.3.3 bredvid i undermenyn lägger jag till
$linkname[1][2]="nyare fil"; i wrappern och sedan
include
"http://spider.irf.se/webinterface/intra/code/include_local.php?file=exempel"
i satsen else if ($link[1][2]).
- Exempel 4:
- För att länka till detta någon annanstans ifrån
gör jag en länk
<a href="http://spider.irf.se/P1/index.php?link[1][2]=1&chosen=program">exempel</a>.
4.5 Överkurs
4.5.1 Välja en annan wrapper
Om man av någon anledning vill använda en annan wrapper än den man får
automatiskt från filens placering eller vill länka in en fil som
ligger utanför /var/www/spider.irf.se/ kan man ange en wrapper explicit. Detta
kan vara praktiskt t. ex. för att använda en sida och låtsas som om
den tillhörde två olika program. Det är bara att lägga till parametern
&wrapper=fil till länken. Genom att bara ge
katalognamnet för ett program skall man få programmets förhandsvalda
wrapper (samma som man får om man lägger ett dokument i den mappen).
4.5.2 Annat val i vänstermenyn
Menyn i det blå fältet till vänster på sidan visar underrubriker i
ljusare text för en av menydelarna var man befinner sig. Även denna
går att ändra om man vill genom att ange parametern
&chosen=meny där meny är menyn i fråga.
4.5.4 Sidor med listningar från databasen
4.5.5 Lägga till en wrapper
För att lägga till en wrapperfil med standardbeteende. D.v.s. en bild-
och/eller textrubrik, dynamiska länkar i en rad med underlänkar i
kolumner och footer ?? finns en mall. Att lägga till en sådan
wrapper med hjälp av mallen beskrivs i stycket 4.4. Här
följer en mer generell beskrivning om man vill göra en egen
wrapperfil.
Wrapperfilen är en fil precis som vilken annan som helst och att lägga
till en ny wrapper följer precis samma steg som för en vanlig fil, se
stycke 4.3.3. För att den skall fungera som det är tänkt
och visa en annan fil finns det dock en del krav på wrapperfilen.
- Den kommer typiskt att anropas från http://spider.irf.se/index.php med en mängd
olika parametrar varav några är menade för wrappern och andra menade
för den fil som också anropas. Dessa andra parametrar måste skickas
vidare till den fil som läses in.
- Den skall hitta igen och ladda en fil som den får som parameter
$file.
- Den skall kunna hitta och ladda dokument som är lagrade i
databasen enligt parametrarna $dbfile och $dbsec.
- För att man skall kunna anropa hela html-filer skall den kunna
ta bort <html>, </html>, <body> och
</body> samt hela sidhuvudet för att dessa delar inte skall
dyka upp mitt i den slutgiltiga sidan som skickas ut.
För att klara dessa uppgifter måste filen nog vara ett php-skript (det
får parametrar i den formen). För att klara av ovanstående uppgifter
finns några färdiga skript som kan anropas:
- http://spider.irf.se/webinterface/intra/code/include_local.php är ett
php-skript som tar ett argument file=fil och ger
tillbaks innehållet i fil strippat från header och
taggar enligt fjärde punkten ovan.
- http://spider.irf.se/webinterface/intra/code/include_db.php är ett phpskript
som tar argumenten dbfile=fil och dbsec=sec
och ger tillbaks innehållet i fil från databasen
strippat från header och taggar enligt fjärde punkten ovan.
Dessa två skript bör anropas med include för att eventuell php-kod i
dem skall interpretteras, skripten i sig returnerar bara ordagrant
innehållet i filen som är kvar efter filtreringen.
Tanken med wrappern är att man skall kunna lägga till ett sidhuvud och
en sidfot. Dessa får förstås läggas till själv och man bör då följa
profilmallen http://www.irf.se/intra/webbredaktion/profilmall_030606.pdf för innehållet i dessa.
4.5.6 Ändra i http://spider.irf.se/index.php
Först och främst: Börja med att kopiera filen under ett annat namn och
prova ut dina ändringar på denna kopia tills du är övertygad om att
det fungerar som du tänkt dig. Dina missar kommer att påverka alla
sidor på webplatsen.
Från början av filen:
Till en början kommer det normala HTML-sidhuvudet.
- HTML-version
- läs punkt 3.5 innan du ändrar.
- description och keywords
- meta name="description" och
meta name="keywords" står direkt i filen. Dessa borde på
sikt läsas in från den lägsta filen i hierarkin d v s den som står
för innhållet på högersidan.
4.6 Konverteringen från gamla webplatsen
- Avgränsa en del av webplatsen som kommer att kunna konverteras
på rimlig tid.
- Frys denna del genom att meddela alla som kan tänkas uppdatera
den att inga ändringar får genomföras för tillfället.
- Kontrollera om det finns länkar till de befintliga dokumenten i
länkdatabasen, om inte, lägg till dem enligt
stycke 4.2. Anteckna alla länkar som finns till de
dokument du står i begrepp att konvertera.
- Tänk över strukturen av de delar som skall konverteras och börja
med att göra eventuella wrappers som behövs enligt
stycke 4.4.
- Konvertera resterande delar enligt de instruktioner som är
aktulla ovan. För alla länkar som leder till delar av webplatsen som
ännu inte är konverterad; gör länkar till dessa i länkdatabasen enligt
stycke 4.2 och ändra länka om till dessa istället.
- Prova att det fungerar ''internt'' d v s att wrappern hittar
alla filer och länkar fungerar både mellan de nu konverterade
dokumenten och till andra.
- Ändra alla länkar i länkdatabasen till de nya sidorna.
- Meddela den/de som har ansvar för sidorna att de går bra att
uppdatera igen och hur detta nu går till.
- Tag bort de gamla sidorna och ersätt varje fil med en
omdirigeringslänk till motsvarande nya sida enligt stycke 4.6.1.
4.6.1 Omdirigering från gamla sidnamn
Omdirigering av gamla sidnamn till nya sker genom att man ersätter
filen med en fil innehållande HTML-kommandot <META
HTTP-EQUIV=REFRESH CONTENT="0; URL=url">.
File translated from
TEX
by
TTH,
version 3.08.
On 17 Nov 2003, 12:47.