Huvuddelen av sidorna använder XML, Cascading Stylesheets och Metatags. De mest frekventa cgi-programmen förladdas i webbservern via mod_perl. På så vis ökas kapaciteten radikalt. Använder även nytta av ett antal andra komponenter.
Funktionerna i den nuvarande webbplatsen har skapats under kvällar och helger parallellt med mitt jobb. Den ursprungliga lösningen gjordes som ett enkelt första steg. Jag hade då ännu inte fått rutin på att använda databaser, utan skapade ett filsystem och funktioner för att hämta postinformation för en användare. Denna lösning fungerar inte längre bra eftersom programmen ganska ofta får beta sig igen alla medlemskataloger. Systemet var inte gjort för 2000 medlemmar. Att jag inte gjort något åt saken beror på att all tid gått åt till mitt jobb, och att jag har stora planer på ett nytt system.
Jag använder glimpse, v4.1, för fritextsökning på webbplatsen. Ett enkelt interface finns på indexsidan. Varje natt indexeras över 1700 dokument. Sökning kan göras på substrängar.
En liten algoritm försöker sortera de bästa resultaten överst. Hänsyn tags till förekomsten av sökbegreppet i rubriken, antalet träffar i dokumentet och rubrikens längd. Först prövas en strikt sökning. Om inga träffar ges, söker programmet stegvis mer generellt och prövar slutligen en fuzzy search.
När det nya systemet påbörjats, kommer jag förändra sökfunktionen till att bland annat använda siddatabasen, och söka i flera steg enligt mina tankar om sökning i WWW. Implementering av sökning efter dokument enligt hur de låter, snarare än stavas, finns också i åtanke.
För en vanlig besökare visar första sidan bara en inbjudan att logga in sig, förrutom ett antal länkar. När man väl loggat in sig visas istället små meddelanden där inloggingsknappen förut var. Den enda vettiga interaktion som implementerats här är att medlemmen får en erbjudan att få sin presentation postad till mailinglistan om han är med i listan och dessutom har skrivit en presentation.
Dock var tanken att man ständigt skulle få nya tips och uppmaningar. I det nya systemet kommer nyhetslistan och föreslagna startpunkter att ständigt förändras i enlighet med vad medlemmen gjort och angivit som sina intressen.
Vid medlemsinskrivning sker identifieringen av besökaren genom att ett lösenord slumpas fram och skickas till den emailadress besökaren angivit. Medlemmen kan sedan helt enkelt klicka på en länk i brevet för att logga in. En cookie sätts och gör att man alltid är inloggad när man kommer till webbplatsen. Skulle man glömma bort lösenordet kan man välja att få det skickat till sina emailadresser.
Tyvärr tar själva inskrivningen och inloggningen lång tid eftersom antalet medlemmar är så stort i förhållande till vad som är rimligt för den lösning jag valde (utan indexfiler) när jag skapade systemet. I det nya systemet används givetvis en databas.
I Ändra uppgifter kan medlemmen ändra alla sina uppgifter. En primär emailadress används som unikt id. Även denna kan ändras här, och orsakar då en uppdatering genom hela systemet. Här kan en hel del uppgifter matas in, så som en kort presentation, mm. Man kan även markera om man vill vara med i en allmän mailinglista. Men det viktigaste valet här är hur interaktiv man vill vara på webbplatsen. Defaultinställningen ger användaren full anonymitet.
Den medlem som så valt interaktivitet, får i varje sidfot se vilka andra medlemmar som är inloggade just nu och dessutom (om de godkänt så) vilken sida de läser för tillfället. Man ser även hur många ickemedlemmar/anonyma som är inne. (Normalt runt 20 stycken.) Här går det bra att klicka för att läsa personens presentation eller hoppa till den sida han/hon befinner sig på eller skicka ett litet meddelande till personen.
Medlemmar kan skicka meddelanden till de som är inloggade samtidigt. Mottagaren får medelandet som ett litet popuppfönster nästa gång han/hon laddar en webbsida.
Tyvärr fungerar detta inte så bra eftersom man antingen gör ett kort besök på webbplatsen eller stannar och läser en intressant sida för att sedan avsluta. En självklar lösning som jag inte hunnit implementera, är att skapa ett externt onlinehanteringsfönster som ständigt (var 5:e sekund) håller kontakt med servern. Resultatet kommer att likna ICQ.
Pratrummet är en traditionell HTML-chat med två frames. Men här har man möjlighet att bjuda in medlemmar som befinner sig på andra sidor i webbplatsen. Är ingen i närheten kan man inte heller skriva något. Möjligheten finns här också att få mer info om deltagarna och skicka privata meddleanden till varandra. Ett medvetet val var att göra gränssnittet så enkelt och störningsfritt som möjligt för deltagarna.
Planer finns att erbjuda flera olika sorters interface till samma pratrum. Exempelvis HTML-, plugin-, java och IRC-version. (Allt blir då olika gränssnitt till IRC-servern.)
Mailinglistan har enbart ett webbgränssnitt. Breven kommer till medlemmens primära emailadress. Inlägg accepteras från den primära emailadressen samt från alla alternativa emailadresser som angivits. Varje mail i mailinglistan avslutas med en kort instruktion för hur man gör för att gå ur. ("Klicka på den här länken...")
Mailinglistan är just nu deaktiverad på grund av att servern nyligen flyttats bakom en brandvägg. Men planen (i det nya systemet) är att inte ha någon mailinglista alls, utan enbart personliga nyhetsbrev med länkar till inlägg och kommentarer som hör samman med ett speciellt ämne.
Enkelt mailformulär så att alla besökare ska kunna skicka kommentarer. Ett extra steg ligger i mailformuläret där man får chans att läsa igenom det man tänkt skicka. Är man inloggad kommer namn och svarsemailadress upp som defaultvärden.
De flesta sidor har ett nere i högra hörnet. Symbolen är inspirerad från filmen "Nätet". Trycker man på denna, och anger ett adminlösenord, kommer webbsidan upp i ett editeringsformulär. Därifrån kan man göra önskvärda uppdateringar, förhandsgranska resultatet och sedan publicera den ändrade sidan. Tidigare version sparas i ett backuppbibliotek tillsammans med versionsnummer. En ruta visar editeringsfönstrets dimensioner. Genom att ändra värdet för rader eller kolumnet, ändras fönstrets storlek, utan att redan gjorda ändringar går förlorade. En cookie håller reda på senast valda dimensioner. Editeringsfunktionen klarar mycket långa webbsidor och förstör ingen information.
Jag siktar på att minska användingen av pi, till förmån för editeringsformulär speciellt anpassade för dokumentets typ och databaskopplingar. Medlemmar ska kunna lägga till material, beroende på deras säkerhetsnivå. De ska inte behöva skriva HTML/XML-dokument.
En komplett filhanterare för navigering i filsystemet, uppladdning av filer, radering, flyttning, kopiering, namnbyte, skapande osv. En grupp av filer kan markeras för att påverkas tillsammans. Mjuklänkar kan skapas. Ett klick på en textfil plockar upp den i Pi för editering. Raderade filer hamnar i en soptunnekatalog. Ett klippbord används för flyttande/kopiering av filer mellan olika kataloger.