Ylläpitodokumentti. Anno3. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Samankaltaiset tiedostot
Käyttöohje. Anno3. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Bugikorjausdokumentti

Käyttöohje. Mooan. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Ylläpitodokumentti Mooan

Yhteenvetodokumentti. Anno3. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Projektisuunnitelma. Anno3. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Ylläpitodokumentti. Boa Open Access. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Testaussuunnitelma. Anno3. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Valppaan asennus- ja käyttöohje

Käyttöohje. Boa Open Access. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Käytin tehtävän tekemiseen Xubuntu käyttöjärjestelmää aikaisemmin tekemältäni LiveUSB-tikulta.

SQL Buddy JAMK Labranet Wiki

Subversion-ohje. Linux Traffic Control-käyttöliittymä Ryhmä paketti2

Ylläpitodokumentti. Ohjelmistotuotantoprojektin tietojärjestelmä OhtuTie

Anno Vaatimusdokumentti

Ohjelmisto on selainpohjaisen käyttöliittymän tarjoava tietokantajärjestelmä merikotkien seurantaan WWF:n Merikotka-työryhmän tarpeisiin.

Projektisuunnitelma. KotKot. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Asennusohje. Sahara-ryhmä. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Bitnami WordPress - Asenna WordPress koneellesi. Jari Sarja

Ylläpito-ohje. Matematiikan oppifoorumi. Carl Johansson Jukka Kariola Outi Marttila Helena Venäläinen Sampsa Virtanen. Ohjaaja.

Suvi Junes/Pauliina Munter Tampereen yliopisto / tietohallinto 2014

Testausdokumentti. Sivu: 1 / 10. Ohjelmistotuotantoprojekti Sheeple Helsingin yliopisto. Versiohistoria

Testausraportti. Oppimistavoitteiden hallintajärjestelmä harri

Harjoituksen aiheena on tietokantapalvelimen asentaminen ja testaaminen. Asennetaan MySQL-tietokanta. Hieman linkkejä:

Vaatimusmäärittelydokumentti

UCOT-Sovellusprojekti. Asennusohje

KYMENLAAKSON AMMATTIKORKEAKOULU Tietotekniikan koulutusohjelma / Tietoverkkotekniikka. Joni Korjala APACHE WWW-PALVELIN Seminaarityö 2012

Asennusohje. Sahara-ryhmä. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Testausraportti v.1.3

Uutisjärjestelmä. Vaatimusmäärittely. Web-palvelujen kehittäminen. Versio 1.3

Asteri Laskutus (Dos)

Suunnitteludokumentti

Testausdokumentti. Kivireki. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

206 Verkkosivun tuottaminen finaalitehtävät

TIETOKONE JA TIETOVERKOT TYÖVÄLINEENÄ

Playoff kokouspöytäkirja 4

Testausraportti. Orava. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Testaussuunnitelma. Ohjelmistotuotantoprojekti Nero. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Ylläpitodokumentti. Oppimistavoitteiden hallintajärjestelmä harri

Suunnitteludokumentti Mooan

Testaussuunnitelma. PUSU-ryhmä. Helsinki Ohjelmistotuotantoprojekti. HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Asteri Vuokrankanto (Dos) Vuosipäivitys

Versiohistoria: Versio Päivämäärä Kuvaus Tekijä Virallinen versio Janne Piippo

LINUX-HARJOITUS, MYSQL

ASENNUS- JA KÄYTTÖOHJE

Ohje 1 (12) Maarit Hynninen-Ojala MOODLE PIKAOHJE. Kirjautuminen Moodleen ja työtilan valitseminen

Yhteenvetodokumentti. PLAYOFF Jari Anttila Sanna Fröblom Aarno Sandvik Tommi Paavilainen Miikka Kohijoki. Päivi Pääkkö, ohjaaja

Webpalvelin muistitikulle - Ohje

Testaussuunnitelma Labra

Written by Administrator Monday, 05 September :14 - Last Updated Thursday, 23 February :36

Ylläpitodokumentti. PLAYOFF Jari Anttila Sanna Fröblom Aarno Sandvik Tommi Paavilainen Miikka Kohijoki. Päivi Pääkkö, ohjaaja

Ylläpitodokumentti. Kohahdus. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Microsoft Outlook Web Access. Pikaohje sähköpostin peruskäyttöön

Käyttöohje. Versiohistoria: versio Mari Kommenttien perusteella korjattu versio

Maastotietokannan torrent-jakelun shapefile-tiedostojen purkaminen zip-arkistoista Windows-komentojonoilla

Tietokantasovellus (4 op) - Web-sovellukset ja niiden toteutus

Liite 1: KualiKSB skenaariot ja PoC tulokset. 1. Palvelun kehittäjän näkökulma. KualiKSB. Sivu 1. Tilanne Vaatimus Ongelma jos vaatimus ei toteudu

Asennusohje. Sahara-ryhmä. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Testaussuunnitelma PULSU. Syksy 2008 Ohjelmistotuotantoprojekti. HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Tapahtumakalenteri & Jäsentietojärjestelmä Ylläpito

Tikon Web-sovellukset

Käytin tehtävän tekemiseen Xubuntu käyttöjärjestelmää aikaisemmin tekemältäni LiveUSB-tikulta.

Autentikoivan lähtevän postin palvelimen asetukset

Asteri Palkanmaksu Dos Vuosipäivitys

WWW-sivut HTML-kielellä esitettyä hypertekstiaineistoa

Määrittelydokumentti NJC2. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

KYMP Webmail -palvelu

Käyttöohje. KotKot. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Ohjeet What matters to me palvelun käyttöönottoon

Enigmail-opas. Asennus. Avainten hallinta. Avainparin luominen

Lohtu-projekti. Testaussuunnitelma

CVS. Kätevä väline usein päivitettävien tiedostojen, kuten lähdekoodin, hallitsemiseen

Simulaattorin asennus- ja käyttöohje

Visma Nova Webservice Versio 1.1 /

Matematiikan oppifoorumi Käyttöohje

Fakta versio Forecast versio

Visma Software Oy

Oma kartta Google Maps -palveluun

Paavo Räisänen. WampServer palvelimen asennus ja käyttö Eclipsen kanssa, sekä ensimmäinen FTP yhteys.

Purot.net Wiki. Tutkielma. Paavo Räisänen. Centria Ammattikorkeakoulu

FuturaPlan. Järjestelmävaatimukset

PHPMyAdmin. MySQL-tietokannan hallintatyökalu. Antti Järvinen Ville Pietarinen

Vaatimusdokumentti v. 1.0

Visma Fivaldi. Ohjeet Java web startin ja HTML5-työkalun aktivointiin

Webforum. Version 14.4 uudet ominaisuudet. Viimeisin päivitys:

Julkaiseminen verkossa

DXL Library ja DXL-kielen olemus. Pekka Mäkinen SoftQA Oy http/

Wikin käyttö Perus ja kehittynyt Juha Matikainen Antti Miettinen

NAVITA BUDJETTIJÄRJESTELMÄN ENSIASENNUS PALVELIMELLE

Good Minton Sulkapalloliiton Kilpailujärjestelmä SEPA: Heuristinen arviointi

Käyttöohje. HeTLi. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Ylläpitodokumentti. Tiput-ryhmä Ohjelmistotuotantoprojekti

pikaperusteet 3.3. versio

Ohjelman käyttöön ei sisälly muita kuluja kuin ohjelman lisenssimaksu ja mahdolliset webbipalvelusi käyttömaksut.

AJAX-konsepti AJAX. Asynkronisuus. Nykyisten web-ohjelmien ongelmia. Asynchronous JavaScript And XML

VERKON ASETUKSET SEKÄ WINDOWSIN PÄIVITTÄMINEN

Ohjelmoinnin perusteet Y Python

Olet tehnyt hyvän valinnan hankkiessasi kotimaisen StorageIT varmuuskopiointipalvelun.

ASENNUS JA KÄYTTÖOHJE

Transkriptio:

Ylläpitodokumentti Anno3 Helsinki 6.5.2007 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Kurssi 581260 Ohjelmistotuotantoprojekti (6 ov) Projektiryhmä Jukka Huhta Juho Iso-Markku Jarno Laitinen Timo Myyryläinen Roger Sandström Miro Wikgren Asiakas Sami Palhomaa Johtoryhmä Juha Taina Jaakko Saaristo Kotisivu http://www.cs.helsinki.fi/group/anno3/ Versiohistoria Versio Päiväys Tehdyt muutokset 0.1 24.4.2007 Otsikkorakenne luotu ja tekstin kirjoittaminen aloitettu. 0.2 25.4.2007 Asennusohjeita tarkennettu. 0.3 26.4.2007 Pieniä korjauksia ulkoasuun ja tekstiin. 0.4 30.4.2007 Asennusohje ja tarkennuksia. 0.6 3.5.2007 Muutama lisäys. 0.9 5.5.2007 Viimeisiä muutoksia. 1.0 6.5.2007 Jäädytetty versio.

Sisältö i 1 Johdanto 1 2 Sanasto 1 3 Asennusohje 2 3.1 Ohjelmistoympäristö............................ 2 3.2 Anno-järjestelmä.............................. 4 4 Jäädytyksen jälkeen muuttuneet vaatimukset 6 5 Jäädytyksen jälkeen muuttuneet suunnitelman osat 6 6 Toteutumattomat vaatimukset ja suunnitelman osat 6 7 Suunnitelman ylläpito 7 8 Koodin ylläpitoon liittyvät seikat 7 9 Muut ylläpitoon vaikuttavat seikat 8

1 Johdanto 1 Anno3-ohjelmistotuotantoprojektin tarkoitus on tuottaa annotointityökalu, jota käytetään www-oppimisympäristö Moodlen kanssa. Annotointi tarkoittaa merkintöjen tekemistä ja kommenttien lisäämistä www-sivuihin ja muihin Moodlen dokumenttiformaatteihin muokkaamatta itse varsinaisen dokumentin sisältöä. Työkalua voidaan käyttää yhteisöllisen prosessikirjoittamisen ja palautteen antamisen apuvälineenä, jolla merkinnät voidaan tehdä suoraan kontekstiin eli oikeaan paikkaan dokumentissa. Anno3 jatkaa aiemman, Mooan-ohjelmistoprojektin työtä, joka jäi osittain keskeneräiseksi ja puutteelliseksi. Tehtävät muutokset painottuvat järjestelmän toiminnallisuuden korjaamiseen, parantamiseen ja lisäämiseen. Tämä dokumentti sisältää Anno-järjestelmän asennusohjeet ja huomioita, joista luultavasti on hyötyä järjestelmää jatkokehitettäessä. 2 Sanasto Anno t. anno Järjestelmän nimi. Käytetään esimerkiksi ohjelmakoodissa tunnisteena. Anno3 Anno-järjestelmän tuottavan ohjelmistotuotantoprojektiryhmän nimi. Annotea, Annotea-palvelin Keskustelun tallennusalustana toimiva HTTP:lla käytettävä ulkoinen järjestelmä. annotointi (v.) Luokitellun merkinnän lisääminen. annotointi (s.) Dokumenttiin maalaamalla tehty merkintä, jonka yhteydessä on merkintään liittyviä kommentteja. dokumentti HTML-, XML, teksti- tai Wiki-sivu Moodle-oppimisalustalla. järjestelmä Ellei kontekstista muuta ilmene: projektin puitteissa toteutettava kommentointityökalu kokonaisuutena (Anno). Tähän ei lueta Moodlea eikä Annotea-palvelinta. keskustelu Merkintään liittyvät viestit, sekä kommentti että vastaukset. kommentti Annotointiin liittyvä yksi kommentti. kommenttinäkymä Näkymä, jossa voi lukea keskusteluja. kommenttityyppi-ikkuna Käyttöliittymän osa, jossa valitaan, onko kyseessä oikeinkirjoitusvai sisältökommentti. käsittelijämoduuli Palvelimella suoritettava järjestelmän varsinainen toimintalogiikka. Toteutettu PHP:lla. Engl. handler module. käyttäjämoduuli Selaimella suoritettava osa järjestelmää, joka on toteutettu JavaScriptilla ja tyylimäärittelyin. Engl. user module.

2 merkintä Korostettu kohta tekstissä, vrt. annotointi merkintäkategoria Merkinnän luokka, esim. oikeinkirjoitus- tai sisältömerkintä. muokkausnäkymä Näkymä, josta voi lukea ja kirjoittaa kommentteja sekä vastauksia. opasteikkuna Pieni ikkuna dokumentin ylälaidassa, joka kertoo annotointiominaisuudesta ja mahdollistaa sen päälle- ja poiskytkemisen. päällekkäisyysalue Alue tekstissä, jonka sisällä on voimassa sama joukko päällekkäisiä merkintöjä. Mikäli merkintä loppuu tai alkaa, päällekkäisyysalue vaihtuu. tiedosto Käsittelijä- tai käyttäjämoduulin osa, jossa on joku toiminnallinen kokonaisuus. vastaus Vastaus kommenttiin, ja sikäli myös kommentti. väli-ikkuna Käyttöliittymän elementti, jossa valitaan joku päällekkäisistä annotoinneista tarkasteltavaksi. 3 Asennusohje 3.1 Ohjelmistoympäristö Anno-palvelin vaatii toimiakseen Anno-palvelimen koodin lisäksi palvelinympäristön. Palvelinympäristön muiden komponenttien asennusohjeet eivät ole tässä dokumentissa, vaan ainoastaan tarvittavilta osin. Mukana on linkit kunkin komponentin asennusohjeisiin dokumentin kirjoitushetkellä, verkosta löytyvästä dokumentaatiosta voi tarkistaa muut yksityiskohdat. Anno-palvelin vaatii toimiakseen seuraavat komponentit: Moodle-palvelin, testattu versiolla 1.6.4 PHP, testattu versiolla 5.2.1 Annotea-palvelin (Bakunin), testattu versiolla 0.7 WWW-palvelin, testattu Apachen versiolla 1.3.33 ja Annotea-palvelimen osalta versiolla 2.2.4. Anno-palvelimen jakelumedia (CDROM) sisältää ainoastaan Anno-palvelimen, muut asennettavat komponentit on haettava verkosta. Tarvittavat http-linkit löytyvät kunkin komponentin asennusohjeesta.

3 PHP Anno-järjestelmää on testattu PHP:n versiolla 5.2.1 ja aiemmissa voi olla joitakin ongelmia esimerkiksi UTF-8-tuen osalta. Mbstring-laajennosta (http://www.php.net/mbstring) ei tarvitse kääntää päälle, mutta sen voinee tehdä, joskaan sitä ei ole testattu. Mbstring vaikuttaa phputf8-yhteensopivuuskomponentin funktioiden toimintaan. Pääasiassa PHP:ta koskevat vaatimukset kuitenkin määrittää Moodle. Erään vaatimuksen Anno kuitenkin PHP:lle asettaa: PECL-kirjastoista löytyvän HttpRequestluokan (http://pecl.php.net/package/pecl_http/) täytyy olla asennettu. Sen voi asentaa PHP:n PEAR/PECL-asennusohjeiden mukaan komennolla pecl install pecl_http. Tällöin tarvitaan tiettyjä PHP:n lisäosia, esimerkiksi Fedorassa php-devel- ja php-pearpaketit. Asennuksen jälkeen pitää vielä lisätä rivi extension=http.so php.ini-tiedostoon ja uudelleenkäynnistää www-palvelin. Anno3-ryhmä käytti pecl_http-pakkauksen versiota 1.5.2, mutta uudempikin toiminee. Myös DOMDocument-luokan täytyy löytyä. Sen saa kuitenkin yleensä helpommin asennettua, ellei se ole jo asennettu. Fedorassa sen voi asentaa asentamalla php-xml-paketin. MySQL Moodle toimii muillakin tietokanta-alustoilla, mutta koska tietojenkäsittelytieteen laitoksen Moodle-asennus on tiettävästi MySQL-tietokannan kanssa toimiva, ei tätäkään järjestelmää ole testattu muiden tietokantaympäristöjen kanssa. Kehityksessä ja testauksessa käytetty versio oli 5.0.27. Aiemmissa versioissa voi olla ongelmia esimerkiksi UTF-8-tuen kanssa. Moodle Anno-järjestelmää on kehitetty ja testattu Moodlen version 1.6.4 kanssa. Muiden versioiden kanssa järjestelmän toiminnasta ei ole tietoa. Bakunin s Annotea Annotea on Andrea bakunin Marchesinin ohjelmoima toteutus W3 Consortiumin Annoteaprotokollan toteuttavasta palvelimesta (http://www.autistici.org/bakunin/annotea/). Toteutus on tehty C:llä ja tietokantanaan se käyttää tiedostojärjestelmää. Palvelimen skaalautuvuudesta ei ole tietoa. Annotea vaatii niinikään Bakuninin tekemän XML-kirjaston libnxml (http://www.autistici.org/bakunin/codes.php) asentamisen. Näiden kääntämisen pitäisi sujua normaaliin autoconf-tyyliin. Eli esimerkiksi näin: cd libnxml-0.17.2./configure [--prefix=/usr/local]

4 make make install Ja vastaavasti Annotea-palvelimelle. Annotean configure-skriptillä voi tosin olla vaikeuksia löytää NXML-kirjastoja, jos sen --prefix on jotain muuta kuin /usr, ja sen oletushan on /usr/local. Tällöin Annotean configure-skriptiä täytyy kutsua esimerkiksi näin: PKG_CONFIG_PATH=/usr/local/lib/pkgconfig./configure Annotea-palvelin konfiguroidaan ja asennetaan haluttuun hakemistoon ja sen bin-hakemistosta kopioidaan annotea-binääri paikkaan, josta WWW-palvelin voi suorittaa sen CGI-skriptinä. Tästä lisätietoja seuraavassa. Annotea pitää vielä konfiguroida nimeämällä tiedosto <prefix>/etc/annotea.cfg_example uudelleen annotea.cfg-nimiseksi. Kyseisestä tiedostosta pitää muuttaa ainakin directory-optio sen mukaan, missä haluaa Annotea-dataa säilytettävän. Tiedostossa voi myös muuttaa esimerkiksi Annotean logitustasoa. WWW-palvelin Itse Anno-järjestelmä ei edellytä WWW-palvelimelta mitään erityistä, vaan sellainen palvelin, jossa Moodle pyörii, käy. Yllämainittuun erityisen suuren poikkeuksen muodostaa Annotea-palvelin, jota ajetaan CGI-rajapinnan kautta kutsumalla annotea-binääriä. Ensinnäkin sen suorittaminen voi vaatia joitakin konfiguraatiomuutoksia, jos palvelin on konfiguroitu suorittamaan CGI:nä ainoastaan.cgi-loppuisia tiedostoja. Suurin vaatimus koskee kuitenkin HTTP-protokollaa. Jotta Annotea-protokolla toimisi, täytyy normaalien GET- ja POST- metodien lisäksi myös PUT- ja DELETE-metodien olla sallittuja. Tämän tekemisen pitäisi olla dokumentoitu WWW-palvelimen dokumentaatiossa. Anno3-ryhmä käytti testiympäristön vaatimuksista johtuen erillistä Apache-palvelinta (2.2.4) localhostin jossakin satunnaisessa portissa (> 10000). Tämä salli yhteydet vain localhostista, mikä voi olla turvallisuusnäkökohdat huomioiden perusteltua. Sama WWW-palvelin molempiin tarkoituksiin käy myös, mutta silloin on syytä pitää huolta, että vain Anno-järjestelmä voi kutsua annotea-cgi-skriptiä GET-, POST-, PUT-, ja DELETE-metodein. 3.2 Anno-järjestelmä Anno-palvelimen asennus etenee pääpiirteissään seuraavasti: 1. Asenna Annotea-palvelin riippuvuuksineen.

5 2. Kopioi Annon tiedostot paikalleen anno_install_files.sh-skriptilllä 3. Luo Annon taulut Moodlen tietokantaan. 4. Muokkaa Anno-palvelimen asetuksia. 5. Liitä Anno-palvelin Moodle-palvelimeen. 1. Annotea-palvelin Annotea-palvelimen asennus on kuvattu edellisessä luvussa. 2. Tiedostojen kopiointi Anno-jakelumedia sisältää ohjelman nimeltä anno/create_install_dir.sh. Ohjelma luo tarvittavat hakemistot ja kopioi tiedostot paikoilleen. Ohjelmalle annetaan parametrina Moodlen asennushakemisto. Esimerkiksi:./anno_install_files.sh /var/www/html/moodle 3. SQL-tietokannan taulut Luo Moodlen SQL-tietokantaan taulut Anno-järjestelmälle. Taulujen luontia varten on valmiit SQL-lauseet tiedostossa anno_create_tables.sql. Esimerkiksi: mysql --user=moodleuser -p moodledb < anno_create_tables.sql 4. Konfigurointi Muokkaa tiedostoa moodle/anno/handler_module/anno_configuration.php sen mukaan, mihin annotea-binääri on kopioitu ja mikä sen WWW-osoite on, esimerkiksi seuraavasti: ANNO\_ANNOTEA\_ADDRESS=http://localhost/secure-cgi/annotea Muita muutoksia ei tiedostoon tarvitse normaalisti tehdä. 5. Moodle-liitäntä Asenna Moodle-liitäntä ajamalla patch-tiedosto anno_moodle_weblib.patch. Patch ajetaan esimerkiksi komentamalla seuraavasti: patch <moodledir>/lib/weblib.php < anno_moodle_weblib.patch Mikäli patch ei mene normaalisti läpi, sen sisältämät varsin yksinkertaiset rivit voi lisätä Moodlen lib/weblib.php-tiedostoon myös käsin. Tällöin tärkeintä on, että: anno_output_buffering_start() on ennen Moodlen sivun tulostuksia ja

6 anno_output_buffering_end() on Moodlen sivun tulostusten jälkeen. Käsityötä varten tarkemmat yksityiskohdat käyvät ilmi patch-tiedostosta. 4 Jäädytyksen jälkeen muuttuneet vaatimukset Jäädytyksen jälkeen muuttuneita vaatimuksia ei ole. 5 Jäädytyksen jälkeen muuttuneet suunnitelman osat Suunnitteludokumentti jäädytettiin niin myöhään, että kaikki muutokset ehdittiin viemään suunnitteludokumenttiin ennen jäädyttämistä. 6 Toteutumattomat vaatimukset ja suunnitelman osat Projektissa jätettiin toteuttamatta seuraavat vaatimusdokumentin vaatimukset: 4.10 Merkintöjen tulostaminen 4.11 Merkinnät ovat versiokohtaisia 4.12 Kommenttien muokkaus 4.18 Merkintöjen suodattaminen 4.19 Ylläpitäjä poistaa kommentteja 4.20 Ylläpitäjä muokkaa kommentteja 4.21 Kielituki 5.9 Wiki Kaikki oheisen listan vaatimukset on suunniteltu, mutta toteutus puuttuu. Toteuttaminen on muiden vaatimusten kohdalla suoraviivaista, mutta Wikiin liittyvät vaatimukset (4.11 ja 5.9) vaatisivat vielä pohdintaa. Wiki-vaatimuksen toteutus on suunniteltu, mutta vaadittu toteutus aiheuttaisi suuria muutoksia Anno-järjestelmän käyttämään tapaan tunnistaa dokumentti. Tällä hetkellä dokumentin tunnistaminen tapahtuu URL:n perusteella, joka kuitenkin on muuttuvalla Wikidokumentilla aina sama. Suunniteltu korjaus olisi tunnistaa dokumentti hash-taulukoinnin avulla; idean toimivuus tarvitsisi kuitenkin vielä pohdintaa, ja sen toteuttaminen vaatii paljon resursseja.

Myös muissa vaatimuksissa mainittu Wiki-tuki on puutteellinen, mutta kyseiset vaatimukset on toteutettu muiden dokumenttityyppien osalta. Ryhmä katsoo tällaiset vaatimukset toteutetuiksi vaikka Wiki-tuki puuttuisikin. 7 7 Suunnitelman ylläpito Koska suunnitelmaan ei tehty muutoksia jäädyttämisen jälkeen, ei suunnitelmaa ole myöskään ylläpidetty sen jälkeen. 8 Koodin ylläpitoon liittyvät seikat Annotea-palvelin on lähes dokumentoimaton, ja tämä varmasti vaikuttaa koko järjestelmän ylläpitoon. Nykyinen toiminnallisuus on saavutettu runsaalla työmäärällä ja testaamisella. Annotea-palvelimen versiossa 0.7 on HTTP-rajapinnan lisäksi myös PHP-rajapinta palvelimen käyttöön. Koodia päivittäessä kannattaa tutkia tämän rajapinnan toimintaa ja pyrkiä muuttamaan Anno käyttämään sitä, mikäli Annotea-palvelin pidetään samalla palvelimella Annon kanssa. Tämä aiheuttaa anno_annotea_lib.php -tiedoston uudelleenkirjoittamisen. PHP-rajapinta on tätä kirjoitettaessa dokumentoimaton. Anno-ohjelmassa on muutama toteuttamatta jäänyt virhetilanteen tarkastus. Nämä kohdat on merkitty @todo-merkinnällä. Mihinkään näistä virhetilanteista ei pitäisi päätyä ohjelman suorittamisen aikana, mutta ne kannattaa toteuttaa varmuuden vuoksi. Internet Exploler-tuki CSS-tyylitiedostoille voisi olla parempi. Käytännössä tässä projektissa on CSS-tyylitiedosto kirjoitettu Firefox- selaimelle, ja testattu sen toiminta Internet Explorerilla. Toteutus toimii, mutta jos IE-tuki halutaan paremmaksi olisi CSS-tiedosto kirjoitettava erikseen kummallekin selaimelle. IE:n päivittyessä on syytä pitää silmällä erityisesti sen DOM-puun kehitystä. Tämän projektin suurimpia hankaluuksia oli IE-yhteensopivuuden toteuttaminen, koska IE ei tallenna tietoa vain tyhjiä merkkejä sisältävien tekstisolmujen olemassaolosta, ja niinpä merkintöjen sijainti lasketaan väärin. Nykyisessä toteutuksessa tyhjät tekstinoodit riisutaan kokonaan pois dokumenteista (anno_strip_whitespace), jolloin eri selainten käsitys dokumenteista pysyy samana tällä hetkellä. Eri selainten JavaScript-toteutus vaihtelee niin suuresti, että merkintöjen sijaintiin ja erityisesti XPointerin laskemiseen liittyvissä JavaScript-rutiineissa on runsaasti selainspesifistä koodia. Näiden toimivuus tulevilla selainversioilla ei ole ollenkaan selvää. Erityisesti Internet Explorerin taipumukset olla noudattamatta standardeja hankaloittavat asiaa.

9 Muut ylläpitoon vaikuttavat seikat 8 Anno-palvelin on liitetty sekä Moodleen että Annotea-palvelimeen, Nykyiset ohjelmistoversiot ovat tiukasti sidoksissa toisiinsa, ja minkä tahansa komponentin päivittäminen uuteen versioon voi aiheuttaa dokumentoimattomia ongelmia.