Etusivu > Näistä sivuista > Sivujen tekniikasta
Ellin sivut

Sivujen tekniikasta

[Emman rakenneultra]

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

HTML 4.01 on monipuolinen sivunkuvauskieli, jossa sivujen muotoilu on mahdollista määritellä tyylisivujen (CSS) avulla.

PHP-ohjelmointikieli

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ä.

HTTP-palvelin

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

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, ...)
);

Sivun viimeisin muutos: "2004-02-20 20:32:43 mtreinik"