Etusivu > Näistä sivuista > Sivujen tekniikasta
|
Emman kotisivut on kirjoitettu HTML 4.01 -kielellä. Osa sivujen toiminnoista on toteutettu PHP-ohjelmointikielen avulla. Sivut tarjoaa Internetiin Apache-HTTP-palvelin, joka pyörii PC-koneessa, jossa on Debian GNU/Linux -käyttöjärjestelmä. Koneessa pyörii myös PostgreSQL-tietokantapalvelin, jota osa sivujen palveluista hyödyntää.
HTML 4.01 on monipuolinen sivunkuvauskieli, jossa sivujen muotoilu on mahdollista määritellä tyylisivujen (CSS) avulla.
Sivut voivat sisältää PHP-kielisiä ohjelmia, jotka suoritetaan joka kerta, kun sivu ladataan. Tämän avulla on mahdollista tehdä sivuille osia, joiden sisältö päivittyy itsestään. Tällaisia ovat esimerkiksi etusivulla oleva tieto Emman iästä sekä vieraskirja. PHP-kielellä voidaan ottaa yhteys tietokantaan ja hakea sieltä osa sivun sisällöstä.
Apache-HTTP-palvelin, eli webbiserveri, tarjoaa palvelinkoneen kovalevyllä olevat tiedostot HTTP 1.1-protokollan avulla luettavaksi selaimella Internetin kautta. Apache on tehokas HTTP-palvelin, johon on helppo liittää lisäosia, moduuleita, joiden avulla sen saa esimerkiksi tukemaan PHP-ohjelmointikieltä.
Tietokanta sisältää tietoa sivustolla esiintyvistä kuvista sekä päiväkirja- ja vieraskirjamerkinnöistä. Tietokantaa käsitellään SQL-kielen avulla. Seuraavassa on tietokannan taulujen kuvaus.
-- kuvat
create table kuvat (
id serial primary key, -- id
filmi varchar(10) not null, -- filmi tai skannauskerta
numero varchar(10) not null, -- kuvan numero filmillä tai skannauskerralla
nimi text, -- kuvan nimi
kuvaus text, -- kuvaus
paivays text, -- milloin kuva on otettu
avainsanat text, -- kuvaan liittyvät avainsanat
tekniikka text, -- kuvan tekniset tiedot
seuraava integer, -- seuraavan kuvan id (ei käytössä)
edellinen integer, -- edellisen kuvan id (ei käytössä)
thumbnail text, -- peukalonkynsitiedoston nimi
small text, -- pienen kuvatiedoston nimi
medium text, -- keskikokoisen kuvatiedoston nimi
large text, -- suuren kuvatiedoston nimi
huge text, -- erittäin suuren kuvatiedoston nimi
raw text, -- alkuperäisen kuvatiedoston nimi
julkinen boolean, -- onko kuva julkinen (ei vielä käytössä)
paivitetty timestamp default current_timestamp -- milloin päivitetty
);
-- paivakirja
create table paivakirja (
id serial primary key, -- id
paiva date default current_timestamp, -- päivä, jota päiväkirjamerkintä kuvaa
paivays varchar(100), -- päiväys, joka näytetään merkinnän yhteydessä,
-- voi olla myös esim. jouluna 2002.
otsikko varchar(200), -- päiväkirjamerkinnän otsikko
kirjoittaja varchar(100), -- päiväkirjamerkinnän kirjoittaja
tyyppi varchar(50) default 'yleinen', -- päiväkirjamerkinnän tyyppi:
-- yleinen, kieli, www
teksti text, -- itse päiväkirjamerkintä
julkinen boolean default true, -- onko merkintä kaikkien nähtävissä
naytetaan boolean default true, -- näytetäänkö merkintää ylipäätään
paivitetty timestamp default current_timestamp, -- milloin paivitetty?
-- jos samana päivänä on useita merkintöjä, jarjestys kertoo,
-- missä järjestyksessä ne näytetään:
jarjestys varchar(50) default current_timestamp,
sivusto varchar(10) -- päiväkirjamerkinnän sivusto (Emma; Elli; Emma, Elli)
);
-- vieraskirja
create table vieraskirja (
id serial primary key, -- id
paiva timestamp default current_timestamp, -- minä päivänä jätetty?
otsikko varchar(100), -- viestin otsikko
teksti text, -- viestin teksti
kirjoittaja varchar(100), -- kirjoittaja
julkinen boolean default true, -- onko viesti julkinen?
naytetaan boolean default true, -- näytetäänkö viesti?
paivitetty timestamp default current_timestamp, -- milloin päivitetty?
vastaus text, -- vastaus viestiin
vastaaja text, -- kuka vastasi viestiin?
vastauspaiva timestamp, -- milloin vastattiin?
sivusto varchar(10) -- mille sivustolle vieraskirja kuuluu?
);
-- sanat
create table sanat (
id serial primary key, -- id
ika text, -- ikä jolloin sana esiintyi
paiva timestamp, -- milloin sana esiintyi
sana text, -- sana tai sanat
suomennos text, -- sanan suomennos
selitys text, -- sanan selitys
paivitetty timestamp default current_timestamp --
);
create table viikonkuvat (
id serial primary key, -- id
paiva timestamp not null, -- milloin kuva ilmestyy
filmi varchar(10) not null, -- filmi tai skannauskerta
numero varchar(10) not null, -- kuvan numero filmillä tai skannauskerralla
sivusto varchar(50) -- millä sivustolla kuva on?
-- (Mikko, Elli, Mari, ...)
);