Joona Kannisto MAINEENHALLINTAJÄRJESTELMÄN RAKENTAMINEN YHTEISÖLLISEN OPETUSPORTAALIN KÄYTTÖÖN



Samankaltaiset tiedostot
Tik Tietojenkäsittelyopin ohjelmatyö Tietotekniikan osasto Teknillinen korkeakoulu KÄYTTÖOHJE. LiKe Liiketoiminnan kehityksen tukiprojekti

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

Suvi Junes/Pauliina Munter Tietohallinto/Opetusteknologiapalvelut 2014

Visma Fivaldi -käsikirja Tehtävienhallinta- ohje käyttäjälle

SALITE.fi -Verkon pääkäyttäjän ohje

Ohjelmoinnin perusteet Y Python

opiskelijan ohje - kirjautuminen

ejuttu ohjeet kuinka sitä käytetään.

NÄYTÖT JA TYÖSSÄOPPIMINEN -pikaohje

Sisällysluettelo 1 Johdanto Root, koko Opalan pääkäyttäjä

Enigmail-opas. Asennus. Avainten hallinta. Avainparin luominen

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

Pauliina Munter / Suvi Junes Tampereen yliopisto/tietohallinto 2013

Onni-oppimispäiväkirjan ohje version 1.2

Käsikirjan paperiversiota ei enää ylläpidetä ohjeen päivämäärän jälkeen. Viimeisimmät versiot ohjeista löydät ohjelman Help-ruudulta.

Korkeakoulujen prosessipalvelin: mallintajan palvelinohje Versio 0.2

Hallintaliittymän käyttöohje

RockID-varastonhallintajärjestelmän käyttöohje. v. 1.0

SUOMEN KUNTALIITTO RY

Solve laskutus ja verkkolaskutus

Ohjelmoinnin perusteet Y Python

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

MOBISITE-TYÖKALUN SISÄLTÄMÄT TOIMINNOT

Ohjelmoinnin perusteet Y Python

Vaalijärjestelmä Vakka

Pedanet oppilaan ohje Aleksanteri Kenan koulu Eija Arvola

Alkuraportti. LAPPEENRANNAN TEKNILLINEN YLIOPISTO TIETOJENKÄSITTELYN LAITOS CT10A Kandidaatintyö ja seminaari

Informaatiotekniikan kehitysyksikkö

Taulukot. Jukka Harju, Jukka Juslin

EMVHost Online SUBJECT: EMVHOST ONLINE CLIENT - AUTOMAATTISIIRROT COMPANY: EMVHost Online Client sovelluksen käyttöohje AUTHOR: DATE:

Opintokohteiden muokkaus

Tietokannan luominen:

Provet Net Kutsut ohje

KYMP Webmail -palvelu

Ohjelmoinnin jatkokurssi, kurssikoe

Käyttäjätunnukset ja käyttöoikeudet

Kortinhaltijat joilla on maksukeskeytys Maksuryhmään liitettyjen kortinhaltijoiden lukumäärä, joiden maksut ovat tilapäisesti keskeytetty.

Moodle-oppimisympäristö

Muuttujien määrittely

Tentti erilaiset kysymystyypit

Asiointipalvelun ohje

Kompassi Suoritusten tarkistaminen ja tulosten julkaisu

Ohjeet Google kalenteriin. Kirjaudu palveluun saamillasi tunnuksilla

Tentti erilaiset kysymystyypit

Kompassi-digikokeen arvostelu ja tulosten julkaisu - opettaja

UUDEN NETTIJÄSENREKISTERIN OHJEET. Kirjaudu sisään antamalla käyttäjätunnus ja salasana

OHJE KILPIEN LISÄÄMISESTÄ ATJN KILPIVARASTOON

IDL - proseduurit. ATK tähtitieteessä. IDL - proseduurit

Suvi Junes/Pauliina Munter Tampereen yliopisto / tietohallinto 2014

Opas administraattori-tason käyttäjille. MANAGERIX -ohjelman esittely... 2 Kirjautuminen... 2

OHJE 1 (14) Peruskoulun ensimmäiselle luokalle ilmoittautuminen Wilmassa

ATK tähtitieteessä. Osa 3 - IDL proseduurit ja rakenteet. 18. syyskuuta 2014

Office 365 palvelujen käyttöohje Sisällys

Ohjelmoinnin perusteet Y Python

Blogger-blogin käyttöönotto ja perusasiat Bloggerista & bloggauksesta

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

Excel-taulukkoon X- ja Y-sarakkeisiin tallennettujen koordinaattien muuntaminen paikkatietokohteiksi

Tarva LC (Level Crossing) pikaohje Harri Peltola & Mikko Virkkunen

Tervetuloa käyttämään ehopsia

Oliosuunnitteluesimerkki: Yrityksen palkanlaskentajärjestelmä

opiskelijan ohje - kirjautuminen

Tehtävä. Asetukset. Moodlen versiossa 2.3. käyttöön tuli uusi tehtävätyyppi, jonka on tarkoitus tulevaisuudessa korvata aiemmat tehtävätyypit.

Excel-lomakkeen (syöttötaulukko) käyttäminen talousarvio- ja suunnitelmatietojen toimittamisen testaamisessa Kuntatalouden tietopalvelussa

Elisa Puheratkaisu Vakio Pääkäyttäjän ohjeet

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

Testaajan eettiset periaatteet

Arkkitehtuurikuvaus. Ratkaisu ohjelmistotuotelinjan monikielisyyden hallintaan Innofactor Oy. Ryhmä 14

Ohjelmoinnin perusteet Y Python

ARVI-järjestelmän ohje arvioinnin syöttäjälle

Visma asiakaspalvelu Tukipyyntöjen lähettäminen

Visma Business AddOn Tositteiden tuonti. Käsikirja

Ohjelmoinnin perusteet Y Python

Käyttötapauksen nimi Lukija: pääsivu

Opettajan pikaopas Opintojaksopalaute-järjestelmään

KÄYTTÖOHJE. Servia. S solutions

Johdatus Ohjelmointiin

Käyttötapauksen nimi Lukija: pääsivu

LoCCaM Riistakamerasovellus. Dimag Ky dimag.fi

Oma kartta Google Maps -palveluun

Opintokohteiden muokkaus WebOodissa. Sisällys. Aluksi

Maestro Lappeenranta Mannerheiminkatu Lappeenranta. Maestro Helsinki Huopalahdentie Helsinki

NOVAPOINT Soundings Editor 3.3

TELIA VIESTINTÄPALVELU VIP

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

HENKILÖLISTA-PALVELU Käyttöohjeet versio

Suvi Junes/Pauliina Munter Tietohallinto/Opetusteknologiapalvelut 2014

RAPORTTI SUORITETUISTA KÄYTETTÄVYYSTESTEISTÄ Luuppi-projekti

Pauliina Munter/Suvi Junes Tampereen yliopisto / Tietohallinto Valitse muokkaustila päälle kurssialueen etusivun oikean yläkulman painikkeesta.

Käyttötapauksen nimi Lukija: pääsivu Osallistujat Lukija Tuloehdot Käyttäjä on avannut sivuston pääsivun Kuvaus Ruudulle tulostuvat kirjoittajat ja

Vastuuhenkilön ohje. TIEKE

Ohjelmoinnin perusteet Y Python

Sonera Viestintäpalvelu VIP

Ohjelmoinnin perusteet Y Python

Punomo Blogit BLOGIN LUOMINEN WORDPRESS-ALUSTALLA. Kirjaudu -palveluun osoitteessa tunnuksellasi.

Lomalista-sovelluksen määrittely

Sisällys Clerica Web-sovellusten käytön aloittaminen 2

Tässä tehtävässä käsittelet metodeja, listoja sekä alkulukuja (englanniksi prime ).

Sisällys. 12. Näppäimistöltä lukeminen. Yleistä. Yleistä

Transkriptio:

Joona Kannisto MAINEENHALLINTAJÄRJESTELMÄN RAKENTAMINEN YHTEISÖLLISEN OPETUSPORTAALIN KÄYTTÖÖN Kandidaatintyö Tarkastaja: lehtori Jukka Koskinen

II TIIVISTELMÄ TAMPEREEN TEKNILLINEN YLIOPISTO Signaalinkäsittelyn ja tietoliikennetekniikan koulutusohjelma JOONA KANNISTO: Otsikko Kandidaatintyö, 24 sivua Joulukuu 2009 Pääaine: Signaalinkäsittely ja tietoliikennetekniikka Tarkastaja:lehtori Jukka Koskinen Avainsanat: TWiki, JOP, Maineenhallinta, Luottamus Tampereen teknillisellä yliopistolla kehitettävään tietoliikenne- ja tietoturvateknisen alan opetusmateriaalia keräävään joukoutettuun opetusportaaliin (JOP) haluttiin työkaluja luottamuksenhallintaan. Koska JOPin on tarkoitus toimia yhteistyöalustana useille eri organisaatioille, eivät niiden jäsenet välttämättä ole muodostaneet kuvaa toisen organisaation jäsenten luotettavuudesta. Lisäksi sisällön luotettavuuden arviointi jokaisen käyttäjän toimesta erikseen on aikaavievää ja vaivalloista. Tällaisissa tilanteissa tarvitaan JOPin sisältöön ja käyttäjiin kohdistuvien luottamuspäätösten teossa apuna muiden käyttäjien kokemuksia toisista käyttäjistä ja sisällöstä. Maineenhallintajärjestelmä kerää kokemuksia käyttäjistä ja palauttaa ne käyttökelpoisessa muodossa niitä tarvitseville. Työssä suunniteltiin ja toteutettiin maineenhallintajärjestelmä opetusportaalin käyttöä varten. Tunnettuja käytössä olevia maineenhallintajärjestelmiä vertailtiin keskenään ja niiden hyvin toimivia osia pyrittiin käyttämään hyväksi suunnittelussa. Rakennettu mainejärjestelmä käsittelee mainetta osaamisen ja aikeiden näkökulmasta. Sisällöstä annetut arviot toimivat suorina kokemuksina sen kirjoittajien osaamisesta ja aikeista. Perinteisistä keskitetyistä mainejärjestelmistä poiketen mainetta käsitellään arvioijasta riippuvana suureena. Mainetta arvioidaan käyttäjän suorien kokemusten ja muilta käyttäjiltä saatujen suositusten perusteella. Suositusten avulla välitetyn maineen vaikutus riippuu suosittelijasta kerätyistä suorista kokemuksista. Suunniteltu maineenhallintajärjestelmä toteutettiin JOPin alustana toimineen TWikin lisäosana. TWiki on ohjelma, joka mahdollistaa helpon verkkosivujen luomisen ja muokkaamisen selaimen välityksellä. Tuotos julkaistiin avoimena lähdekoodina TWiki-yhteisön sivustolla, joka sijaitsee osoitteessa: http://twiki.org/. Tässä dokumentissa kuvataan järjestelmän toiminta ja suunnitteluperiaatteet käyttäjiä ja jatkokehittäjiä varten.

III SISÄLLYS 1. Johdanto..................................... 1 2. Työn määrittely................................. 3 2.1 Vaatimukset................................ 3 2.2 Sisältöön kohdistuvat luottamustarpeet................. 4 2.3 Sisällön omistajan luottamus muokkaajiin................ 5 2.4 Rajaukset.................................. 5 3. Kirjallisuuskatsaus................................ 6 3.1 Aiheeseen liittyvät julkaisut........................ 6 3.2 Käytössä olevia mainejärjestelmiä.................... 6 3.3 Käytännön mainejärjestelmien soveltuvuus hankkeeseen........ 8 4. Maineenhallintajärjestelmän toteuttava lisäosa ReputationPlugin...... 9 4.1 ReputationPluginin asennus ja käyttöönotto............... 9 4.2 ReputationPluginin toiminta....................... 10 4.2.1 Äänestysten toiminta......................... 11 4.2.2 Äänestysten käyttöliittymä...................... 12 4.2.3 Luottamussuhteiden näkymä ja luottamusarvojen muutosdialogi. 14 4.2.4 Annettujen äänten listaus....................... 14 4.3 Datan tallennus ReputationPluginissa.................. 14 4.3.1 Artikkelia varten tallennetun tiedoston rakenne........... 16 4.3.2 Käyttäjää varten tallennetut tiedostot................ 16 5. Järjestelmän arviointi JOP-hankkeen tavoitteiden kannalta......... 18 6. Tuotoksen arviointi tietoturvanäkökulmasta ja jatkokehitysideoita...... 20 6.1 Syötteiden käsittely............................ 20 6.2 Tiedostojen luku ja tallennus....................... 21 6.3 Järjestelmän tietojen luottamuksellisuus................. 22 6.4 Yleisiä jatkokehitysideoita......................... 22 7. Yhteenveto.................................... 24 Lähteet....................................... 25

1 1. JOHDANTO Tämä dokumentti on osa Tampereen teknillisellä yliopistolla (TTY) vuonna 2009 tehtyä kandidaatintyötä. Työn tarkoituksena oli tuottaa ja tutkia työkaluja luottamuksenhallintaan JOP-hankkeen (Joukoutettu opetusportaali) [7] käyttöön. Kysymyksenä oli miten luottamuksenhallintaa voitaisiin JOPissa toteuttaa. Luottamus on ihmisten välisessä toiminnassa tärkeää, koska kumppanin kaikkien toimien tarkkailu on mahdotonta. Luottamus JOPissa jakautuu lukijan ja sisällön julkaisijan luottamukseen sisällön kirjoittajan osaamisesta ja aikeista. Käyttäjien kuuluessa samaan muutaman hengen pienryhmään, voidaan kirjoittajien ja heidän tuottamansa sisällön luotettavuutta arvioida heistä aikaisempien kirjoitusten perusteella muodostetun mielikuvan avulla. Luottamus muodostuu tällaisessa tapauksessa käyttäjien välille suorista kokemuksista. Käyttäjämäärän kasvaessa vaatimus suorista kokemuksista tulee kohtuuttomaksi. Maineenhallintajärjestelmän avulla muiden käyttäjien kokemukset toisesta käyttäjästä voidaan ottaa luottamuspäätösten teossa avuksi [14, p. 84]. Koska tarkoitus oli luoda yhteistyöalusta laajalle osallistujajoukolle, maineenhallintaan oli kehitettävä työkalu, joka vähentäisi tarvetta omakohtaisille kokemuksille toimijoista luottamuspäätöksiä tehtäessä. Maineenhallintajärjestelmästä haluttiin rakentaa sosiaalinen malli [21], jossa toimijoiden maine vaikuttaa heidän suositustensa luotettavuuteen. Kehitetty mainejärjestelmä ei siis käsittele mainetta toimijasta riippumattomana suureena, vaan ottaa huomioon toimijan omat suorat kokemukset muilta käyttäjiltä tulevien suositusten käsittelyssä. JOP toimii TWiki-alustalla [18]. Wikiympäristön käyttö tekee yksittäisten käyttäjien tekojen erottelemisesta vaikeaa, koska sisältö voi olla usean käyttäjän yhteistyön tulosta. Aikaisemmat tutkimukset maineenhallinnasta keskittyvät pääasiassa ympäristöihin joissa toimijat ovat helposti yksilöitävissä. Valmiita tarpeita vastaavia työkaluja, varsinkaan käyttäjien maineenhallintaan TWiki-ympäristössä, ei löydetty käytössä olevia ratkaisuja tutkittaessa. Ne piti siis tehdä itse. Dokumentti kuvaa työhön liittynyttä suunnittelua ja teoriaa sekä työssä toteutettua TWiki-alustan lisäosaa. Syntynyt TWiki-lisäosa julkaistiin avoimena lähdekoodina ja se on ladattavissa TWiki-yhteisön sivustolla [6] Toisessa luvussa kuvataan vaatimukset ja rajaukset, joiden pohjalta työtä alettiin toteuttaa. Kolmannen luvun kirjallisuuskatsauksessa syvennytään siihen mitä ai-

1. Johdanto 2 heesta on aiemmin kirjoitettu ja millaisia käytännön toteutuksia löytyy. Neljännessä luvussa kuvataan lisäosan toimintaperiaate ja tärkeimmät tekniset yksityiskohdat. Mahdollista jatkokehitystä varten selitetään myös mitä tietoja tallennetaan ja missä muodossa tiedot ovat. Teknisen toteutuksen kuvaus antaa mainejärjestelmästä konkreettisen kuvan. Viidennessä luvussa työn tuloksia arvioidaan JOP-hankkeen tavoitteiden kannalta. Näiden arvioiden ja työn aikana syntyneiden ideoiden avulla laadittiin jatkokehitysideoita. Jatkokehitysideoiden yhteydessä arvioidaan syntynyttä tuotosta tietoturvanäkökulmasta. Viimeisenä lukuna on yhteenveto.

3 2. TYÖN MÄÄRITTELY Työ lähti tarpeesta saada luottamuksenhallintaa JOPiin [7]. Luottamuksen tarve määräytyy pitkälti sivuston tavoitteiden mukaan. Esimerkiksi verkkotietosanakirja Wikipedia [20] on kerännyt valtavan määrän sisältöä osittain siksi, ettei sisällön muokkausta sivustolla juurikaan rajoiteta. Wikipediaa kritisoidaan yleisesti sen epäluotettavuudesta, mutta esimerkiksi Thomas Chesneyn tutkimus [2] pitää sitä luotettavana. Luotettavuuden varmistamiseen käytetään kuitenkin Wikipediassa hyvin paljon resursseja, eikä luotettavuuden arviointiin ole sivustolla jokaiseen artikkeliin käytettävää työkalua. Lisäksi luottamuksentarve on JOPissa erilainen, koska sen sisältöä on tarkoitus käyttää ensisijaisesti opetusmateriaalina. Opetusmateriaalille laatu ja luotettavuus ovat määrää tärkeämpiä. Luottamuksen voi määritellä toimijan haluksi suorittaa tietty toiminto tietyn kumppanin kanssa, riskit ja hyödyt huomioonottaen [14]. Verkkoyhteisöissä niiden jäsenille tulee käyttäjämäärän kasvaessa tarpeita toimia kumppaneiden kanssa, joista ei ole aiempia kokemuksia. Jotta toimija voisi valita itselleen tuntemattomien toimijoiden parista sopivimman kumppanin, täytyy kumppaneiden aikeita pystyä ennustamaan. Ihmisten voidaan olettaa toimivan tulevissa tilanteissa hyvin samankaltaisesti kuin aiemminkin, joten toimijan aiemmat teot ovat hyvä ennuste hänen aikeistaan. Mainejärjestelmä kerää tietoa toimijoiden aiemmista toimista näiden aikaisemmilta kumppaneilta ja palauttaa sen kumppania etsivälle toimijalle. JOPissa ei ollut mitään mekanismia toimijoiden maineen luotettavaan arviointiin, joten työn päämääränä oli rakentaa mainejärjestelmä JOPin käyttöön. 2.1 Vaatimukset Työlle asetetut vaatimukset määräytyivät osaksi JOP-hankkeen tarpeista, Wikiympäristöjen yleisistä toimintaperiaatteista ja JOPin alustaksi valitun TWikin ominaisuuksista [18]. TWiki alustana vaati käytännössä mainejärjestelmän toteuttamista Perl-ohjelmointikielellä TWikin lisäosaksi. Wikiympäristöjen erityispiirteenä artikkelit ovat jatkuvassa muutoksessa ja niillä voi olla useita muokkaajia. JOPin yhtenä tarkoituksena on toimia yhteistyöalustana maantieteellisesti suurella alueella sijaitseville jo sisäistä luottamusta omistaville ryhmille. Sisäisen luottamuksen välittäminen ryhmästä toiseen oli yksi mainejärjestelmän haluttu ominaisuus. Mainejärjestelmän päätarkoitus on auttaa luottamuspäätösten teossa. Tässä työs-

2. Työn määrittely 4 sä luottamusta arvioidaan osaamisen ja aikomusten näkökulmasta. Luottamusta on pääasiassa kahta tyyppiä: sisältöä käyttävä lukija luottaa sisällöntuottajaan ja sisältöä tuottanut osapuoli antaa omaan sisältöönsä muokkausoikeuksia luottamilleen henkilöille. Luottamus on näissä tapauksissa välttämätöntä, koska lukija ei pysty käytännöllisesti vahvistamaan jokaista lukemaansa tietoa, eikä sisällön omistaja pysty arvioimaan jokaisen muutoksen laadukkuutta. Mainejärjestelmän toinen tarkoitus on saada aikaan motivaatiota uuden sisällön luomiselle ja sen avaamiselle uusille lukijoille. Kun sisältöä julkaissut toimija saa positiivista palautetta lukijoiltaan, syntyy positiivisia tunnesiteitä yhteisöön, jotka kannustavat toimijaa tuottamaan lisää sisältöä [10]. 2.2 Sisältöön kohdistuvat luottamustarpeet Lukijan luottamus lukemaansa sisältöön vaihtelee sen mukaan miten muut käyttäjät ovat sen pisteyttäneet. Hyvin pisteytetty sisältö on todennäköisesti ollut muiden käyttäjien mielestä merkittävää ja sisällöltään hyvää. Huonon arvosanan saanutta sisältöä voidaan taas pitää virheitä sisältävänä. Pisteyttämättömyyden tulisi kiinnostavan artikkelin tapauksessa ohjata lukijaa artikkelin sisällön luotettavuuden tarkempaan tutkimiseen ja palautteen antamiseen. Pisteyttämättömän artikkelin tapauksessa on myös mahdollista, että samasta sisällöstä on toinen tunnetumpi artikkeli. Artikkelin pistemäärän lisäksi myös sisällöntuottajan maine voi lujittaa lukijan luottamusta esimerkiksi uuteen, vielä pisteyttämättömään sisältöön. Artikkelien keräämän maineen oli tarkoitus perustua äänestämällä toteutettuun pisteytykseen. Myös artikkeliin viittaavien linkkien määrää haluttiin käyttää maineen määrittämisessä. Pistemäärästä ja linkkien määrästä johdettu mainetta kuvaava kokonaisarvosana oli tarkoitus rajoittaa kattoarvoon, jota ei olisi mahdollista saavuttaa vain toisella mekanismilla kerätyillä pisteillä. Kokonaisarvosanan oli tarkoitus näkyä artikkelissa varsinaisesta tekstistä erotettuna, lisäksi äänien jakaumasta tulisi antaa tietoa. Äänestysmekanismille asetettu vaatimus oli olla helppokäyttöinen ja mahdollisimman hyvin väärinkäytöksiä estävä. Väärinkäytöksiä estävänä perustoiminnallisuutena voidaan pitää esimerkiksi lukijan äänioikeuden rajoittamista yhteen ääneen artikkelia kohden. Artikkelille annettua ääntä on kuitenkin sisällön muuttuvuuden vuoksi oltava mahdollista muuttaa. Helppokäyttöisyys tarkoitti sitä, ettei artikkelin luoja joudu tekemään mitään toimia artikkelinsa lisäämiseksi äänestysjärjestelmään ja lukija pystyy antamaan arvion artikkelista esimerkiksi hiiren napsautuksella. Lukijalle oli tarkoitus antaa palkkioksi artikkelien äänestämisestä henkilökohtainen listaus hänen äänestämistään artikkeleista.

2. Työn määrittely 5 2.3 Sisällön omistajan luottamus muokkaajiin Kaikella sisällöllä on omistaja, joka JOPissa on se henkilö tai useita henkilöitä, joilla on valtuudet antaa oikeuksia kyseiseen sisältöön. Sisällön omistajan luottamus hänelle ennalta tuntemattomaan toimijaan määräytyy toimijan maineen mukaan. Toimija on tällaisessa joku toinen JOPin käyttäjä, jolla on mainetta muuhun sisältöön tehdyistä muokkauksista JOPissa. Sisällön omistaja voi siis mainejärjestelmän avulla arvioida toimijan soveltuvuutta oman sisältönsä muokkaajaksi. Luottamuksena käsitellään tässä mainejärjestelmän antamaa luottamuspäätöksen apuvälineenä toimivaa palautetta toimijaan liittyvistä riskeistä ja hyödyistä. Luottamus jakautui suunnitellussa mainejärjestelmässä suoraan ja suositusten kautta hankittuun luottamukseen. Jos toimija A on lukenut toimijan B kirjoittamia artikkeleita ja äänestänyt niitä, hän on samalla arvioinut B:n osaamista ja aikeita. Mainejärjestelmän tarkoitus on tässä tapauksessa muuttaa A:n B:n kirjoittamille artikkeleille antamat arviot A:n suoraksi luottamukseksi B:tä kohtaan. Jos A haluaa määritellä luottamustasonsa B:hen hän voi käyttää joko edellä esitettyjä omia aikaisempia kokemuksiaan B:stä ja lisäksi hänen luotettavina pitämiensä toimijoiden kokemuksia B:stä. Luotetuilta toimijoilta saadut suositukset kuitenkin painavat enintään niin paljon kuin A luottaa suosituksen antajaan. [21] 2.4 Rajaukset Syntynyttä mainejärjestelmää olisi mahdollista käyttää muissakin samalla alustalla toimivissa sivustoissa. Tässä työssä kuitenkin keskityttiin vain JOP-hankkeen tarpeisiin. JOPissa on roolit: mestari, kisälli ja oppipoika [7], joiden tarkoitus on auttaa muokkaus- ja lukuoikeuksien määrittämisessä. Oppipojille annetaan muokkaus- ja lukuoikeuksia sisältöön. Kisällit pystyvät määrittämään oppipoikia sisällölle, johon heillä on kisällin oikeudet. Mestarit taas voivat nimittää kisällejä ja oppipoikia sisältöön, johon heillä on mestarin oikeudet. Näitä rooleja olisi ollut mahdollista määrittää mainejärjestelmän avulla automaattisesti. Tällainen luottamuspäätösten automaattinen tekeminen jätettiin kuitenkin pois, koska niitä tukevan toiminnallisuuden toteuttaminen olisi nostanut hankkeen työmäärän liian suureksi ja lisäksi järjestelmän väärinkäytösten riski kasvaisi [10]. Omiin artikkeleihin tehdyt viittaukset oli tarkoitus jättää huomiotta pistelaskussa, mutta koska wikiympäristöissä artikkeleilla ei ole yleensä ole vain yhtä kirjoittajaa tällaisten viittausten luotettava löytäminen olisi ollut vaikeaa. Lisäksi Wikisivustoilla niiden sisäiset viittaukset parantavat sivuston käytettävyyttä, joten käyttäjiä on tarkoituksenmukaista kannustaa niiden tekemiseen.

6 3. KIRJALLISUUSKATSAUS Aikaisempia julkaisuja luottamuksen- ja maineenhallinnasta löytyi runsaasti. Kirjallisuuskatsauksen alussa perehdyttiin luottamuksen luonteeseen ja tapoihin hallita sitä. Tutkimusten lisäksi kirjallisuuskatsauksessa tutustuttiin myös käytössä oleviin mainejärjestelmiin. 3.1 Aiheeseen liittyvät julkaisut Tietojärjestelmiin ja verkkoihin liittyvän luottamuksen luonnetta ja merkitystä avasi hyvin Trust Management Survey [14]. Artikkelissa toimijoiden maine koettiin tärkeäksi tekijäksi luottamuksen synnyssä. Koska artikkeli oli luonteeltaan yleiskatsaus, sitä käytettiin lähtökohtana aiheeseen tutustumisessa. Yksityiskohtaisemmin mainejärjestelmiin tutustuva Reputation Management Survey [13] vertaili erilaisia mainejärjestelmiä. Vertailtavana oli sekä hajautettuja että keskitettyjä mainejärjestelmiä. Ensisijaisesti oltiin kiinnostuneita keskitetyistä järjestelmistä, koska hajautetut järjestelmät vaikuttivat saavutettaviin etuihin nähden kovin monimutkaisilta. Mainejärjestelmissä oli myös eroja käyttäjien antamien arvioiden luottamuksellisuudessa. Joissain järjestelmissä annetut tiedot voitiin pitää luottamuksellisina, kun taas toisissa tietojen luotettavuuden arvioimiseksi esimerkiksi niiden antajan identiteetti piti olla selvillä. Luottamuksen sosiaalinen malli [21] vaikutti varsin soveltamiskelpoiselta JOPissa. Mallissa kuvattiin mainejärjestelmää, jossa on käytössä esimerkiksi suosituksia ja juoruja. Juorut olivat luonteeltaan kielteisiä suosituksia. Malli keskittyi sellaisiin järjestelmiin, joissa toimijat ovat selkeästi yksilöitävissä, joten sen ei uskottu toimivan kohdejärjestelmässä sellaisenaan. Mallissa esitetyt negatiivisen palautteen seuraukset olivat liian ankaria tilanteisiin, joissa negatiivinen palaute tulisi toisen toimijan tekojen vuoksi. 3.2 Käytössä olevia mainejärjestelmiä Aikaisempia ratkaisuja maineenhallintaan wikiympäristössä ei varsinaisesti löytynyt. Esimerkiksi Wikipediassa on käytössä erilaisia palkitsevia nimityksiä (artikkeleille ja käyttäjille), mutta niiden vaikutus koskee vain pientä määrää käyttäjiä ja sisältöä [20]. TWikissä on artikkelien mainetta käsittelevä lisäosa PeerPlugin [12], joka ei

3. Kirjallisuuskatsaus 7 kuitenkaan ota kantaa käyttäjien luotettavuuteen. Lisäksi se käyttää erillistä tietokantamoottoria tietojensa tallentamiseen, jonka tuomien lisävaatimusten vuoksi sitä ei otettu jatkokehityksen kohteeksi. Wikiympäristöjen sijasta etsittiin muun tyyppisillä sivustoilla käytössä olevia mainejärjestelmiä. Tieteellisten artikkelien hakukone ja tietokanta CiteSeer x [8] listaa löytämiensä artikkelien yhteydessä niihin viittaavien toisten tieteellisten artikkelien lukumäärän ja nimet. Artikkelien voidaan katsoa olevan sitä luotettavampia ja merkittävämpiä mitä useampi kirjoittaja on niihin omissa julkaisuissaan viitannut. Menetelmä on hyvä, koska se ei vaadi erillisiä äänestysmekanismeja eikä järjestelmän laajamittainen väärinkäyttö onnistu salassa kovin helposti. Menetelmää sopii ainakin teknisesti myös TWiki-ympäristöön, mutta se ei välttämättä sovi sellaisenaan, sillä wikien maailmassa sivuston sisäisiä linkityksiä käytetään navigoinnin apuvälineenä. Wikisivustolla viittaus artikkeliin ei välttämättä tarkoita että artikkeli olisi viittaajan mielestä hyvä, tai edes olemassa. Viittauksien käyttöä artikkelien merkittävyyden arvioinnissa on kritisoitu CiteSeer x -sivuston kehittäjien keskuudessa: Viittaustilastojen käyttö artikkelien arvioinnissa saattaa joissain tilanteissa johtaa vääriin johtopäätöksiin. Taustalla oleva ajatus suuren viittausmäärän ja tieteellisen merkittävyyden välillä ei aina pidä paikkaansa. [8]. Slashdot.org-sivustolla on käytössä kommenttien moderointijärjestelmä, jotta hyvä sisältö saadaan erottumaan vähemmän tärkeistä keskustelun sivuraiteista ja häirintätarkoituksessa lähetetyt viestit saadaan näkymättömiin. Järjestelmä on muovautunut nykyisenkaltaiseksi yrityksen ja erehdyksen kautta. Aluksi järjestelmän äänestystoiminnot olivat vain muutamien luotettavien henkilöiden käytössä. Sivuston kasvaessa tämä pieni ryhmä ei enää pystynyt viestien suuren määrän vuoksi arvostelemaan niitä kaikkia. Ensimmäisessä vaiheessa arvottiin joukko henkilöitä jotka otettiin mukaan äänestysjärjestelmään ja järjestelmää väärinkäyttäneet karsittiin käsin. Koska tämä ratkaisu osoittautui työlääksi, käyttöön otettiin mainejärjestelmä, jossa osa hyvämaineisiksi tiedetyistä tavallisista käyttäjistä saa rajoitetun määrän arvosteluvaltaa itselleen määräajaksi. Mainejärjestelmässä voi sekä korottaa että alentaa viestien pistemäärää. Palkkiona rehellisestä mainejärjestelmään osallistumisesta saa omille viesteilleen enemmän näkyvyyttä ja valtaa arvostella muiden käyttäjien viestejä. Väärinkäytösten karsimiseksi toinen käyttäjä arvioi järjestelmässä annetun äänen reiluuden. Arviointi vaikuttaa mainejärjestelmään osallistumisesta saatavaan palkkioon. Järjestelmässä kerättävä maine on nykyisin rajoitettu kattoarvoon, koska mainejärjestelmän pisteiden kerääminen muodostui lopulta eräänlaiseksi kilpailuksi. [9] Nettihuutokauppa ebay sisältää oman mainejärjestelmänsä luotettavien kaupankäyntikumppanien löytämiseksi. Mainejärjestelmässä tavarasta käydyn huutokaupan voittaneen henkilön ja tavaran myyjän on mahdollista antaa toisilleen palautet-

3. Kirjallisuuskatsaus 8 ta kaupankäyntikokemuksesta asteikolla positiivinen, neutraali,negatiivinen. Palautteeseen liitetään myös vapaamuotoinen lyhyt kuvaus kauppakumppanin toiminnasta. Asteikon arvosanoista tulevat pisteet (1,0, -1) lasketaan yhteen ja tulos näytetään käyttäjän nimen yhteydesssä. Kokonaissumman lisäksi kaikki käyttäjän saama palautteet näytetään käyttäjän profiilisivuilla. Koska arvostelu on mahdollista vain kauppakumppanien välillä ja kaupankäynnistä peritään maksu, järjestelmän huijaaminen ei ole kovinkaan kannattavaa. Koska palaute annetaan nimellä ja huono palaute usein kostetaan toiselle kauppakumppanille, ovat arvostelut pääsääntöisesti positiivisia ja mahdolliset erimielisyydet pyritään ratkomaan mainejärjestelmän ulkopuolella. Suuri positiivinen vinouma tekee tästä järjestelmästä epäluotettavan, jos tarkoituksena on kerätä totuudenmukaista tietoa muista käyttäjistä. Huolimatta sen puutteista järjestelmää kuitenkin käytetään luottamuspäätösten teossa hyväksi. [5, p. 631] 3.3 Käytännön mainejärjestelmien soveltuvuus hankkeeseen Wikiympäristössä artikkelit ovat usein hajanaisen ryhmän yhteistyön seurausta, kun taas esimerkkeinä olleissa mainejärjestelmissä toimijat ovat selkeästi yksilöitävissä. Esitellyt järjestelmät myös käsittelevät mainetta luottamuspäätöksen tekijästä riippumattomana suureena, joka ei välttämättä ole JOP-hankkeen tapaiselle tosielämän ryhmien väliselle yhteistyöalustalle tarkoituksenmukaista. Mainejärjestelmään osallistuminen esimerkiksi artikkeleita äänestämällä ei myöskään saisi vaatia liikaa työtä käyttäjiltä. Slashdotissa käytössä oleva mainejärjestelmä vaatii paljon osallistujia sisällön määrään nähden toimiakseen, jolloin sivuston ollessa pieni ei osallistujia vielä välttämättä ole tarvittavaa määrää. CiteSeer x - sivustolla käytössä oleva malli vaatii taas paljon sisältöä ollakseen hyödyllinen. Ebaynettihuutokaupan malli houkuttelee yksinkertaisuudellaan, mutta koska siinä tehdään äänestyksistä henkilökohtaisia voi luotettavien arvioiden saaminen olla sen kautta hankalaa. Koska tarpeita vastaavia järjestelmiä ei ollut TWiki-ympäristöön, rakennettiin sellainen tämän hankkeen aikana.

9 4. MAINEENHALLINTAJÄRJESTELMÄN TOTEUTTAVA LISÄOSA REPUTATIONPLUGIN Työn kohteena ollut maineenhallintajärjestelmä toteutettiin TWiki-alustan lisäosana käyttäen Perl-ohjelmointikieltä ja TWiki-alustan lisäosarajapintaa [17]. Lisäosa nimettiin TWiki-lisäosien nimeämiskäytäntöä mukaillen käyttötarkoitusta kuvaavalla nimellä ReputationPlugin. Sen testaukseen ja kehitykseen käytettiin TTY:llä osoitteessa http://huuliharppu.atm.tut.fi/cgi-bin/twiki/ sijainnutta, JOPiin liittyviä kandidaatintyöprojekteja varten perustettua kehitysalustaa. Kehitysalustaan on estetty pääsy muualta kuin TTY:n sisäisestä verkosta. Perl-ohjelmakoodin osuudesta tuli toteutuksessa laaja, mutta myös TWikin ominaisuuksia käytettiin hyväksi. Koska TWiki-alustan lisäosat ovat pääosin avointa lähdekoodia, kaikkea ohjelmakoodia ei tarvinnut kirjoittaa itse. Ohjelmointi aloitettiin muokkaamalla artikkelien luokitteluun tarkoitettua TagmePlugin-lisäosaa [15]. Se valittiin pohjaksi sen helposti ymmärrettävän tietojen tallennustavan perusteella. Lisäosia VotePlugin [3] ja PeerPlugin [12] harkittiin myös, koska niiden avulla voidaan toteuttaa äänestyksiä, joka oli myös yksi ReputationPluginin toiminnoista. Niistä olisi kuitenkin saatu apua lähinnä vain käyttöliittymän rakentamiseen, joka ei ollut työmäärältään kovin merkittävä. ReputationPluginin asennus ei poikennut merkittävästi muista TWiki-alustan lisäosista. ReputationPluginin toiminnallisuuden mielekäs käyttäminen vaati sen käyttöönottoa lähes jokaisessa artikkelissa, joten käyttöönottoon piti kiinnittää erityistä huomiota. Käyttöliittymästä tehtiin mahdollisimman yksinkertainen ja helppokäyttöinen. Resurssien käyttö pyrittiin huomioimaan kehitysvaiheessa, joten ReputationPluginin tallentamien tiedostojen määrä ja koko pyrittiin pitämään mahdollisimman pienenä. Resurssien käyttöä pyrittiin minimoimaan myös sulkemalla kirjautumattomat käyttäjät toimintojen ulkopuolelle. 4.1 ReputationPluginin asennus ja käyttöönotto ReputationPluginin asennus käsittää sen ohjelmakoodin ja oheistiedostojen kopioinnin TWiki-alustan sisältävälle palvelimelle niille tarkoitettuihin hakemistoihin. Tiedostot on pakattu valmiiseen asennuspakettiin, joka puretaan TWikin asennuskansioon. Tällöin tiedostot menevät oikeisiin hakemistoihin. Asennukseen kuuluu myös ReputationPluginin aktivointi TWiki-ohjelmiston configure-hallintatyökalun avul-

4. Maineenhallintajärjestelmän toteuttava lisäosa ReputationPlugin 10 la. ReputationPluginin käyttöönotto tapahtuu lisäämällä ReputationPluginia kutsuva komento artikkeleihin, joissa sen toiminnallisuutta halutaan käyttää. ReputationPlugin voidaan lisätä artikkeliin joko tätä tarkoitusta varten tehdyn teematiedoston avulla, tai kirjoittamalla ReputationPluginia kutsuva TWiki-komento artikkelin tekstiin. ReputationPluginia kutsuvassa TWiki komennossa tiedot käyttäjän toimista voitiin välittää ReputationPluginille TWikin URLPARAM-komentoa käyttäen. Komento kerää sivunlatauspyynnössä annetut lisäparametrit, jotka ohjataan ReputationPluginin syötteeksi. Äänestysjärjestelmään lisättävän artikkelin tekstiin kirjoitettava komento on esimerkkinä listauksessa 4.1. Teematiedosto sisältää tämän komennon ja määrittelyt sen tulostuksen paikalle: muun artikkelin tekstin alkuun. Teematiedosto voidaan lisätä TWikin teematiedostojen käyttöönottoon tarkoitetun Set SKIN -määrityksen [16] avulla joko yksittäiseen artikkeliin tai kokonaiseen työtilaan eli TWiki-webiin. Jos ReputationPlugin on lisätty teematiedostoa käyttäen TWiki-webiin se voidaan ottaa pois käytöstä yksittäisestä artikkelista määrittelemällä artikkelin teema Set SKIN -määrityksellä uudelleen ilman ReputationPluginin teemaa. Listaus 4.1: ReputationPluginia kutsuva komento %REPUTATION{ r p a c t i o n= %URLPARAM{ r p a c t i o n}% vote= %URLPARAM{ vote}% }%. 4.2 ReputationPluginin toiminta ReputationPlugin tulostaa äänestyksille käyttöliittymän ja toteuttaa äänestystoimintoja. Lisäksi käyttäjän äänestämät aiheet ja luottamustiedoston sisältö voidaan listata. Luottamusarvojen muuttamiseen on oma toimintonsa. Käyttöliittymässä pyrittiin yksinkertaisuuteen ja helppokäyttöisyyteen. Helppokäyttöisyys tarkoitti sitä ettei ReputationPluginin loppukäyttäjä joudu kirjoittamaan esimerkiksi TWikikomentoja, vaan kaikki tapahtumat ovat hoidettavissa käyttöliittymäelementeillä. Käyttöliittymän elementit ovat HTML-lomakkeista tuttuja painonappeja ja syötekenttiä. Tällaiset käyttöliittymäelementit olivat yksinkertaisia toteuttaa ja käyttäjien voitiin olettaa ymmärtävän niiden käyttötavan. Suoritettavan toiminnon nimi välitetään parametrin rpaction avulla. ReputationPlugin ainoastaan tulostaa äänestysten käyttöliittymän, silloin kun rpactionparametrin arvo on määrittelemätön. Parametrin arvot ja niihin liittyvät toiminnot on listattu taulukossa 4.1. Äänestystapahtumia ovat äänen lisäys ja poisto. Niissä vote-parametrin arvona välitetään lisäksi ääni jota toimenpide koskee.

4. Maineenhallintajärjestelmän toteuttava lisäosa ReputationPlugin 11 Toiminto Taulukko 4.1: Toteutetut toiminnot rpactionparametrin arvo tyhjä Lisäparametrit Lisäparametrien sallitut arvot Äänestysten käyttöliittymän tulostus Äänen lisäys vote vote negative, positive, excellent Äänen poisto remove vote negative, positive, excellent Omien äänten listaus Luottamustiedoston sisällön listaus Luottamustiedoston arvojen muutos showtopics showtrusted addtrust wikiname, addvalue wikiname toiminnon kohteena olevan käyttäjän nimi, addvalue etumerkitön tai negatiivisella etumerkillä varustettu kokonaisluku 4.2.1 Äänestysten toiminta Äänen lisäystoimintoon siirrytään kun ReputationPluginia kutsuttaessa parametrin rpaction arvo on vote. Äänen laillisuus tarkistetaan ennen muita toimenpiteitä. Lisäystoiminto lukee artikkelille annetut aiemmat äänet artikkelin äänitiedostosta. Jos käyttäjän tunnus on jonkin muun äänen kuin tämänkertaisen äänen käyttäjätiedoissa, käyttäjän nimi poistetaan toisen äänen riviltä. Jos käyttäjä on poistettaessa ainoa koko rivillä, riviä ei tallenneta. Poiston yhteydessä aiemmasta äänestyksestä annetut luottamuspisteet mitätöidään. Jos annettu ääni löytyy äänitiedostosta, eikä käyttäjän nimeä ole vielä sen käyttäjätunnuksissa, käyttäjä lisätään äänen käyttäjätunnuksiin. Muussa tapauksessa ääni on ensimmäinen laatuaan. Silloin äänestä ja käyttäjätunnuksesta muodostettu rivi lisätään tallennettavien rivien joukkoon. Muuttuneet tiedot kirjoitetaan alkuperäisen äänestystiedoston tilalle. Onnistuneiden lisäys- ja poistotoimintojen yhteydessä päivitetään lisäksi käyttäjän luottamustiedosto ja käyttäjän äänestämät aiheet. ReputationPlugin siirtyy takaisin käyttöliittymän tulostusvaiheeseen, kun se on saanut lisäystoiminnon suoritettua. Aiemman äänen poistotoiminto toimii lähes samoin lisäystoiminnon kanssa. Poistotoiminto käynnistyy kun parametrin rpaction arvo on remove. Poistotoiminto tallentaa kaikki rivit, joilla poistettavaa ääntä ei esiinny, sellaisenaan takaisin äänestystiedostoon. Poistettavan äänen riviltä otetaan ennen sen tallentamista käyttäjän

4. Maineenhallintajärjestelmän toteuttava lisäosa ReputationPlugin 12 nimi pois ja sen äänten lukumäärää vähennetään yhdellä. Jos käyttäjää ei löydy poistettavan äänen riviltä tulostetaan virheilmoitus. Poistotoiminnon jälkeen siirrytään käyttöliittymän tulostusvaiheeseen. 4.2.2 Äänestysten käyttöliittymä Kirjautuneelle käyttäjälle, joka ei ole vielä äänestänyt artikkelia, näytetään artikkelin saamat pisteet, artikkelin merkittävyys sivuston sisällä sekä äänestyspainikkeet. Artikkelin saamat pisteet voidaan laskea joko suoraan kaikista äänistä tai suhteellisina ottaen huomioon käyttäjän luottamien henkilöiden äänet luottamuksella painotettuna. Suhteelliseen lukemaan voidaan ottaa myös luotettujen käyttäjien luottamien käyttäjien äänet syntyvän luottamusketjun mukaisilla painoilla. Äänestyspainikkeisiin on lisätty äänimäärä jokaiselle äänelle, jonka avulla käyttäjä pystyy arvioimaan äänten jakaumaa. Kirjautumattomalle käyttäjälle ReputationPlugin ei tulosta mitään. Kun artikkeli ei vielä ole saanut ääniä, artikkelin pistemäärä ja äänestyspainikkeissa näkyvien äänten määrä ovat nollia (Kuva 4.1). Artikkeliin osoittavien linkkien määrästä laskettu artikkelin merkittävyys on näkyvillä. Kuva 4.1: ReputationPluginin käyttöliittymä kun artikkelia ei vielä ole äänestetty Kun käyttäjä on äänestänyt yhtä artikkelin äänestysvaihtoehdoista muuttuu tämän vaihtoehdon äänestysnappi käyttäjän näkymässä äänen poistonapiksi (Kuva 4.2). Artikkelin pistemäärä on näkyvillä samoin kuin kaikkien äänestäneiden äänistä tullut äänten jakauma, riippumatta siitä ovatko ne mukana kokonaistuloksessa. Kuva 4.2: ReputationPluginin käyttöliittymä artikkelille jota käyttäjä on jo äänestänyt Artikkelille annettujen pisteiden laskeminen toteutettiin kahdella eri tavalla. TWikisivuston asetuksia varten on olemassa LocalSite.cfg-tiedosto, jossa voidaan muuttaa

4. Maineenhallintajärjestelmän toteuttava lisäosa ReputationPlugin 13 sivuston ja lisäosien toimintaa niihin rakennettujen muuttujien arvoja muuttamalla. Tiedostoon lisättäväksi tehtiin listauksessa 4.2 esitelty muuttuja, jonka arvo määrää käytetäänkö ääntenlaskennassa suhteellista vai suoraa laskentatapaa. Jos muuttujaa ei ole määritelty käytetään suhteellista laskentatapaa. Suorassa laskentatavassa äänet vain summataan niihin liitetyillä lukuarvoilla. Suhteellista laskentatapaa käytettäessä artikkelin äänestäjien luotettavuus arvioidaan. Pistemäärät summataan luotettavuutta kuvaavia painokertoimia käyttäen. Listaus 4.2: Suoran laskentatavan muuttuja $TWiki : : c f g { Plugins }{ ReputationPlugin }{ Absolute } Suhteellisessa äänten laskentatavassa äänestäjien luotettavuutta arvioidaan tutkimalla ensin käyttäjän oma luottamustiedosto ja laskemalla siinä olevista pistemääristä käyttäjälle luottamuksen mukainen painokerroin. Tuntemattomat ja epäluotettaviksi koetut henkilöt jätetään huomiotta. Tämän jälkeen käyttäjän luottamustiedostossa olevien luotettaviksi katsottujen käyttäjien luottamustiedostot käydään läpi ja niistä löytyneiden äänestäjien luottamusarvosta laskettu painokerroin lisätään edelliseen arvoon kertomalla se ensin sen sisältäneen luottamustiedoston omistajan painokertoimella. Äänestyksistä johdetun pistemäärän lisäksi näytetään artikkeliin sivuston sisällä tehtyjen viittausten lukumäärä. Viittausten lukumäärää kutsuttiin artikkelin suosioksi (eng. popularity), koska se haluttiin erottaa äänestysjärjestelmän kautta tulleesta pistemäärästä. Nämä pistemäärät oli aluksi tarkoitus yhdistää, mutta vaatimuksesta luovuttiin mielekkään yhdistämistavan puuttumisen vuoksi. Viittausten lukumäärä selvitetään käyttämällä TWiki-alustan hakutoimintoa. TWikin hakutoiminnon käyttäminen voi olla paljon sivuja sisältävällä TWiki-sivustolla hidasta [4]. Viittausten enimmäismäärän rajoittamista varten tehtiin LocalSite.cfg-tiedostoon lisättäväksi listauksessa 4.3 esitelty muuttuja. Viittauksia haetaan ensin artikkelin omasta työtilasta ja jos enimmäismäärä ei ole tullut täyteen haetaan myös kaikista muista työtiloista. Viittausten enimmäismäärän rajoittaminen voi siis joissain tapauksissa parantaa suorituskykyä, koska kaikista työtiloista etsiminen vähenee. Jos enimmäismäärä on asetettu nollaksi, hakuja ei suoriteta lainkaan eikä viittausten määrää tulosteta. Listaus 4.3: Viittausten maksimimäärän rajoittava muuttuja $TWiki : : c f g { Plugins }{ ReputationPlugin }{ Backlinkmax}

4. Maineenhallintajärjestelmän toteuttava lisäosa ReputationPlugin 14 4.2.3 Luottamussuhteiden näkymä ja luottamusarvojen muutosdialogi Jos käyttäjä haluaa nähdä suoran luottamussuhteensa toisiin käyttäjiin, hän kutsuu ReputationPluginia rpaction-parametrin arvolla showtrusted. Luottamussuhteiden näkymässä käyttäjälle näytetään yksinkertaisena listauksena hänen suorat luottamussuhteensa muihin käyttäjiin. Kuvassa 4.3 Current trust values -otsikon alla näkyvä listaus esittää luottamussuhteiden listausta sellaisena kuin se oli kehitysalustalla. Luottamussuhteiden näyttämistä ja muuttamista varten tehtiin erillinen sivu, joka lisättiin osaksi ReputationPluginin asennuspakettia. Sivulla käyttöliittymänä luottamusarvojen muuttamiselle on tavallinen HTML-lomake (Kuva 4.3). Lomakkeeseen syötetään ensimmäiseen kenttään käyttäjän nimi ja toiseen kenttään positiivinen tai negatiivinen kokonaisluku, jonka suuruinen muutos käyttäjän luottamusarvoon halutaan. Muutos tallentuu Change Wikiname s trust value -painiketta painamalla. Muuttunut arvo näkyy muutoksen jälkeen alapuolisessa listauksessa ja ReputationPlugin ilmoittaa tehdyn muutoksen ja kohteena olleen käyttäjän. 4.2.4 Annettujen äänten listaus Käyttäjälle haluttiin antaa mahdollisuus listata äänestämänsä artikkelit ja niille annetut äänet. Käyttäjä voi näin tarkastella jälkikäteen, mitä artikkeleja hän on pitänyt erinomaisina, hyvinä tai huonoina. Näkymässä listataan myös artikkelien kirjoittajat äänestyshetkellä. Kun ReputationPluginia kutsutaan rpaction-parametrin arvolla showtopics, ReputationPlugin listaa käyttäjän on äänestämät artikkelit (Kuva 4.4). Äänestyksille tehtyä käyttöliittymää ei tällä komennolla tule näkyviin. Äänten listauksen tulostus oli käyttäjää varten tallennetun äänestystiedoston sisältö lähes sellaisenaan. 4.3 Datan tallennus ReputationPluginissa Käyttäjän toimien taltioimiseksi jouduttiin syötteistä johdettuja tietoja tallentamaan ReputationPluginille varattuun hakemistoon. Koska tiedoille oli monenlaisia käyttötarkoituksia, tallennettava tieto jouduttiin jaottelemaan eri tiedostoihin. Vaikka tieto joissakin tapauksissa olisikin etsittävissä myös muista tiedostoista, täytyi lähes jokaista käyttötarkoitusta varten tehokkuussyistä kuitenkin luoda omat tiedostonsa. Tiedostojen muoto haluttiin pitää mahdollisimman yksinkertaisena, jotta tallennetut tiedot olisi mahdollisimman helppo jäsentää. Rivien syntaksi sekä rivejä tallentava ja jäsentävä ohjelmakoodi kopioitiin osin TagmePluginista [15].

4. Maineenhallintajärjestelmän toteuttava lisäosa ReputationPlugin 15 Kuva 4.3: Luottamusarvon muutoslomake ja listaus käyttäjän suorista luottamussuhteista Kuva 4.4: Listaus käyttäjän antamista äänistä

4. Maineenhallintajärjestelmän toteuttava lisäosa ReputationPlugin 16 4.3.1 Artikkelia varten tallennetun tiedoston rakenne Artikkelin pistemäärän selvittämiseksi pelkän artikkelin nimen avulla täytyi tiedot artikkelille annetuista arvioista tallettaa artikkelikohtaiseen tiedostoon. Tiedostoa ei luoda ennen kuin ensimmäinen käyttäjä on äänestänyt artikkelia. Tiedosto poistetaan, jos kaikki artikkelille annetut äänet perutaan. Ensimmäisellä artikkelin äänestyskerralla sitä varten luodaan tiedosto, jonka nimi on kuvattu listauksessa 4.4. Listaus 4.4: Artikkelin äänille varatun tiedoston nimi <t i e d o s t o n i m i >::= v o t e s <Web>. < Topic >. txt <Web>::=TWiki web, j o s s a a r t i k k e l i s i j a i t s e e <Topic >::= A r t i k k e l i l l e TWiki t y ö t i l a n s i s ä l l ä y k s i l ö l l i n e n nimi. Artikkelin äänet tallennetaan listauksen4.5 kuvaamassa muodossa. Riveillä viimeisenä olevia käyttäjätunnuslistoja käytetään ensisijaisesti käyttäjäkohtaisen näkymän muodostamiseen. Käyttöliittymän painikkeiden tekstien ja toimintojen määrittämisen lisäksi sen avulla muodostetaan käyttäjäkohtainen pisteytys artikkelille. Listaus 4.5: Artikkelin äänien tallennusmuoto <r i v i >::=<lukumäärä >, < ääni >, < käyttäjätunnukset > <lukumäärä >::= tätä vaihtoehtoa äänestäneiden tunnusten lukumäärä <ääni >::= n e g a t i v e p o s i t i v e e x c e l l e n t <käyttäjätunnus >::=Tunnus joka y k s i l ö i TWiki käyttäjän <käyttäjätunnukset >::=<käyttäjätunnus ><EOL> <käyttäjätunnus >, < käyttäjätunnukset > 4.3.2 Käyttäjää varten tallennetut tiedostot Käyttäjän äänestäessä uudelleen aihetta, josta hän on jo aikaisemmin antanut arvion, edellinen annettu ääni perutaan. Jotta annetut pisteet pystytään poistamaan kirjoittajilta ja artikkelilta, on tiedettävä annettu ääni ja artikkelin kirjoittajat edellisellä äänestyshetkellä. Tätä tarkoitusta varten suunnitellun käyttäjän oman äänestystiedoston tiedostonimi on kuvattu listauksessa 4.6. Listaus 4.6: Käyttäjän antamien äänien tiedostonimi <t i e d o s t o n i m i >::= t o p i c s <käyttäjätunnus >. txt Kunkin käyttäjän tiedostoon kirjoitetaan vain käyttäjän omien toimien yhteydessä. Tiedostoon tallennettavat rivit ovat kuvattuna listauksessa 4.7. Tallennetut käyttäjätunnukset ovat lista artikkelia ennen äänestystapahtumaa muokanneista käyttäjätunnuksista. Tätä tiedostoa käytetään myös silloin kun käyttäjä haluaa listata

4. Maineenhallintajärjestelmän toteuttava lisäosa ReputationPlugin 17 äänestämänsä aiheet. Listaus 4.7: Käyttäjän äänien tallennusmuoto <r i v i >::=<ääni >, <Web>. < Topic >, < käyttäjätunnukset > Käyttäjän suorat luottamussuhteet pystyttäisiin selvittämään äänestystiedoston avulla. Tämä kuitenkin vaatisi koko tiedoston läpikäyntiä yhtä käyttäjää varten. Suoran luottamuksen määrää kuvaamaan tehtiin erillinen tiedosto. Tiedosto nopeuttaa useiden käyttäjien luottamusarvojen samanaikaista selvittämistä ja mahdollistaa luottamusarvojen määrittelyn käsin rikkomatta yhteyttä toisten äänitiedostojen välillä. Luottamussuhteita käsittelevien tiedostojen tiedostonimet olivat listauksen 4.8 esittämässä muodossa. Listaus 4.8: Luottamustiedoston tiedostonimi <t i e d o s t o n i m i >::= t r u s t e d <käyttäjätunnus >. txt Rivit joita tiedostoon tallennettiin olivat listauksen 4.9 esittämässä muodossa. Näillä riveillä pistemäärä on luku nollasta 999:ään, joka kertoo käyttäjänimen saamista pisteistä. Lukua 500 käsitellään näitä pisteitä luettaessa nollana. Järjestelyn tarkoituksena on välttyä käsittelemästä rivillä negatiivisia numeroita. Jokaiselle käyttäjätunnukselle, jonka kanssa käyttäjä on toiminut tulee oma rivinsä tiedostoon. Äänestetyt artikkelit olisi myös voitu tallettaa tähän tiedostoon käyttäjäkohtaisesti, jolloin äänestetyt artikkelit olisivat löytyneet helposti myös kirjoittajan perusteella. Tiedoston rakenne haluttiin kuitenkin suorituskykysyistä pitää mahdollisimman yksinkertaisena, koska näitä tiedostoja voidaan joutua lukemaan monta artikkelin suhteellista pistemäärää selvitettäessä. Listaus 4.9: Luottamusrivien tallennusmuoto <r i v i >::=<pistemäärä >, <käyttäjätunnus >