RT

Allikas: Kuutõrvaja

Sissejuhatus

RT on süsteem tekkivate ülesannete (tööde, kirjade - üldnimega tiketite) kirjapanemiseks ja lahendamise jälgimiseks. RT näitab, millised tööd on pooleli ja millised tehtud. Erinevalt kirjadest listiarhiivis on RT-s töödel seisund e. staatus: uus, avatud, lahendatud, kustutatud jmt; igale tiketile saab panna omaniku (owner), st on täpselt teada, kes peab probleemiga tegelema.

Ametlikuks saidiks http://bestpractical.com/rt/

Tutvustav ülevaade screenshotidega http://en.wikipedia.org/wiki/Request_Tracker

RT tööpõhimõtet seletav pilt

            ((   ..-     ) 
        (                      )
   (                              )
(                                )))
        INTERNET
(                       .    -)
 ((.                 )
        (----   )       |
               |        | 
               |        |
               | web    |__________email________
               |                               |
           ____|___                          __|___
          |        |_______________________\|     |
          |        |                       /|     | postfix
          |        | Apache                 |_____|
          |__ _____| mod_perl                  |
             | /|\              ____           |
             |  |______________|    |/_________|
            _|_                |____|\ rt-mailgate
           |   |  mysql/       
           |___|  postgresql

Algkoodist paigaldamine

# ./configure --prefix /www/rt_kaust --with-web-user=apache --with-web-group=apache --with-db-database=rt_andmebaas \
--with-db-rt-user=kasutaja --with-db-rt-pass=parool --with-apachectl=/usr/bin/apachectl --with-db-host=db.zoo.tartu.ee \
--with-db-rt- host=rt.zoo.tartu.ee

RT installimine FreeBSD'le

Toimib see nii FreeBSD, Debian kui mitmetel muudel süsteemidel enamasti kohaliku süsteemihalduse kaudu

Paigaldame sõltuvused nagu apache, mysql ja postfix

FreeBSD's sai teksti kirjutamise hetkel versiooni 3.6.7 installitud /usr/ports/www/rt36/

Praegu on olemas juba ka versioon 38 mille puhul võivad olla mõningad erinevused

installimiseks koos apache2'ega tuleb anda käsk

# make WITH_APACHE2=yes

Automaatselt paigaldatakse juba kõik perli sõltuvused nagu mod_perl2

Vaikimisi rt asukohakaustaks saab /usr/local/rt3/

Kasutada saab mysql alternatiivina ka postgresqli.

Avame seadistusfaili /usr/local/rt3/etc/RT_SiteConfig.pm ja kirjutame sinna

Set( $rtname, 'domeen.ee');

Loome mysql'i rt jaoks kasutaja ning paneme sellele ka parooli ja käivitame käsu

# make post-install -DINITIAL_INSTALL DB_DBA_USER=rtkasutaja DB_DBA_PASSWORD=parool

Millejärel luuakse baas nimega rt36 ja tekitatakse sinna vajalikud tabelid ning seadistused

Sourcest installimisel peaks väidetavalt töötama ka käsk make initialize-database

Seejärel avame httpd.conf faili ja seadistame apache Vajalik on esimesena defineerida ka mod_perl kuna vaikimisi seda sisse ei lülitada, apache2 tuleb lisaks virtualhostile paika seadistada ka kausta kus rt asub õigused

LoadModule perl_module libexec/apache2/mod_perl.so

<Directory "/usr/local/rt3/share/html">
        Options Indexes FollowSymLinks
        AllowOverride All
        Order allow,deny
        Allow from all
</Directory>
 
<VirtualHost 192.168.1.20>
    ServerName rt.domeen.ee
    DocumentRoot /usr/local/rt3/share/html
    AddDefaultCharset UTF-8

    PerlModule Apache::DBI
    PerlRequire /usr/local/rt3/bin/webmux.pl

    <Location />
     SetHandler perl-script
     PerlHandler RT::Mason
    </Location>
</VirtualHost>

Postfix seadistus

Et emailid jõuaksid RT'ni on vaja seadistada rt-mailgate peale vastavate aadressid ja aliased. Kohe peale installi on meil olemas queue nimega general, neid saab juurde tekitada administraatorina rt veebiliidesest.

Selleks ,et kirjad jõuaksid antud listini general kohale tuleb /etc/mail/aliases faili lisada järgnevad read

rt:         "|/usr/local/rt3/bin/rt-mailgate --queue general --action correspond --url http://domeen.ee/"
rt-comment: "|/usr/local/rt3/bin/rt-mailgate --queue general --action comment --url http://domeen.ee/"

Selleks ,et iga inimene saaks meie listi saata meile tuleb rt halduses tuleb minna grupi general seadete juurde ja seadistada ,et everyone rights oleks CreateTicket

Muidu lõpeb saatmine logis veateatega

RT: RT could not load a valid user, and RT's configuration does not allow for the creation of a new user for this email (jj@localhost.my.domain).  You  might need to grant 'Everyone' the right 'CreateTicket' for the queue general. (/usr/local/rt3/lib/RT/Interface/Email.pm:243)
Sep 17 06:42:08  RT: RT could not load a valid user, and RT's configuration does not allow for the creation of a new user for your email. (/usr/local/ rt3/lib/RT/Interface/Email.pm:243)

Seejärel anname käsu

# newaliases
/etc/mail/aliases: 29 aliases, longest 95 bytes, 474 bytes total

Lisainfot võime leida veel failis /usr/local/rt3/README

Ning võime testiks saata meili aadressin rt@domeen.ee

To      : rt@domeen.ee
Cc      :
Attchmnt:
Subject : test
----- Message Text -----
test

Kui on vaja muuta ununenud root parooli aitab käsk

mysql> update rt3.Users set password = MD5('password') where name='root';

RT kasutamine

Rtp.png

RT graafiline veebiosa näeb välja selline Pilt RT38 versioonist

Kuidas tiketid tekkivad?

  • klient tekitab, saates näiteks aadressile abi@domeen kirja
  • kasutajatugi tekitab, saates näiteks aadressile abi@domeen.ee kirja
  • kasutajatugi tekitab, minnes lehele rt.domeen.ee ja valides 'New ticket in' nupu juures sobiva queue (teema) ning klikates seda nuppu.

Kuidas tiketit lahendada?

Tiketi lahendamiseks tuleb esmalt rt.domeen.ee veebilehel sisse logida. Seejärel tuleb ticket üles otsida. Selleks võib kasutada erinevaid otsimise meetodeid: Valida Home -> <queue-nimi> -> tiket

  • Valida Tickets ning sealt kasutada otsingut ja siis valida soovitud tiket
  • Sisestada ticketi number või osa subjektist iga lehe ülaservas asuvasse otsingukasti. Kui sisestati tiketi number, siis kuvatakse kohe tiket, kui *sisestati osa subjektist, siis kuvatakse otsingu tulemused, mille hulgast tuleb oma tiket valida.

Kõige lihtsam meetod on ehk viimane, sest oma postkastis olles on ikka subjekt näha, kust saab kiirelt tiketi numbri otsingukasti kopeerida.

Ükskõik, millist ülaltoodud meetodit kasutada, tulemuseks on olukord, kus tiket on ekraanil kuvatud. Seejärel tuleb valida (kas vasakult menüüst või tiketi infoekraanilt) Basics ning sealt Status: resolved. Loomulikult tuleb ka muudatused salvestada, vajutades Save Changes

Kuidas tiketit ootele panna ehk STALLED staatuse kasutamine

Kui tiketi lahendamine on seiskunud, kuid mitte lahendajast sõltuvatest probleemidest (näiteks oodatakse requestori vastust mingile täpsustavale küsimusele), tuleks tiket märkida stalled staatusega, sest resolved ta pole (asi on lahendamata) ning open ta ei peaks kah olema, sest pole lahendaja võimuses seda lahendada (mingit lisainfot on vaja).

Stalled tiketeid ei näidata Home vaates ning ka tavalistes kiirotsingutes (kus näidatakse new ja open tiketeid). Seega on hea kasutada stalled staatust tiketite silma alt ära panemiseks, et oleks kiire ülevaade, millised tiketid ootavad sinu taga, millised ei oota.

Kui keegi vastab stalled tiketile, siis muutub see automaatselt open staatusega tiketiks, mis tähendab, et see tuleb uuesti Home vaates nähtavale.

Loomulikult tuleks aeg-ajalt teha otsingut enda stalled tiketite kohta, et mõni tiket lihtalt ei ununeks lahendamata, kuna teine pool näiteks ei saanud kirja kätte või unustas sellele vastata.

Kuidas tsiteerida kliendi kirja RT veebiliideses?

Selleks on lihtne moodus:

  • Vali ticket
  • Otsi Historyst üles see kliendi kiri, mida soovid tsiteerida. Tiketi history jaguneb eraldi kirjade kaupa osadeks, iga osa on võimalik eraldi vastusesse kaasata.
  • Vajuta selle kirja juures olevat Reply nuppu (mitte lehekülje kõige üleval olevat reply nuppu).
  • Vali vajalik reply-mise meetod:
correspondence 
comment 

Selle tulemusena on nüüd ekraanil kirja saatmise aken ning kirja väli on täidetud kliendi poolt saadetud tekstiga ('>' märkidega idenditult). Tuleb veel valida, mis staatus tiketile antakse/jäetakse peale kirja saatmist (hea kasutada ka samaaegselt tiketi lahendamiseks) ja ongi kõik.

Kuidas näha, kellele kiri on läinud?

RT-s jagunevad tiketite kirjade saajad kahte leeri

  1. People kastis loetletud aadressid
  2. AdminCC nimekirjas olijad

Kui tuleb korrespondents, siis läheb see kiri mõlemale rühmale, hoolimata nende kattuvusest (st korduvate aadressite puhul laekub mitu kirja).

Kommentaari puhul lähevad kirjad ainult AdminCC grupile. On ka veel CC grupp, kuid see pole meie RT puhul ka kasutuses.

Nüüd lisasin skripti, mis iga kirja algusse kirjutab need aadressid, kes selle kirja saajad on. Nimekiri nendest, kes selle kirja tegelikult said, sõltub postitamise meetodist (korrespondents või kommentaar).

Andmed väljasaadetud kirjade kohta on näha tiketi ajaloost: peale korrespondentsi või kommentaari lisamist tekib(vad) tiketi juurde kirje(d) "RT_System - Outgoing email recorded" "[show]"

Vajutades viidale [show] näed uues aknas väljasaadetud kirja. Adressaadid on TO, CC, BCC ridadel.

Kes on AdminCC-d?

AdminCC-d on need e-posti aadressid, mis saavad mingi RtQueuega seotud kõiki kirju.

Lisaks AdminCC-dele on veel tavalised CC-d, kes saavad ainult korrespondentsi. Ainult korrespondentsi saavad ka kõik muud tiketiga seotud isikud.

Üks erijuht: kui kommenteerimise käigus RT-veebiliideses pannakse CC: väljale midagi kirja, siis ka nendele läheb see kiri (st siis AdminCC-dele ja CC: väljal kirjas olnud inimestele). See featuur sai lisatud, et oleks võimalik RT-st kirju välja saata.

Spämmi tõrjumine

Spämmi tõrjumiseks on vaja:

  1. Menüüst Tickets -> search abil otsida üles spämm (kui muud ühist kriteeriumit ei leia, siis tihti sobib otsida mitte .ee-lõpuliste saatja-aadressite järgi: Requestor email address doesn't contain @%.ee, mis hiljem näidatakse kui Requestor NOT LIKE @%.ee (see on MySQL? -i sarnane süntaks). Sinna lisada veel queue nimi ja kõik muu, mis hundid lammastest eraldaks
  2. Seejärel valida toodud tiketite loetelu lõpust nupp Update all these tickets at once. Seepeale kuvatakse sama nimekiri tiketitest, millest igaühe ees on linnuke.
  3. Kindlasti tuleb linnuke eemaldada nende kirjade eest, mis on korrektsed
  4. Siis liikuda alla Update selected tickets osani ning valida lahtrist Make Status: deleted.

Nüüd on need kirjad kustutatud.

Kui on välja mõeldud hea kriteeriumide kogu, mille järgi spämmi leida, siis saab seda omale bookmarkidesse panna. Selleks valida Current search criteria jaotisest kõige alt link Bookmarkable URL for this search ning see omale bookmarkidesse lisada. Hiljem saab siis selle bookmarki abil kiirsti sama otsingut korrata. Kui linki klikitakse ilma RT-sse sisse logimata, siis esmalt kuvatakse logimise aken ning seejärel juba soovitud otsingu aken.

Kuidas muuta ticketi omanikku?

Ticketi lahendajaks saab olla RT-s õigustega kasutajatena registreeritud kasutajad (meenutuseks, et RT tekitab iga uue e-posti aadressi kohta uue kasutaja, kuid vaid need, kelle kohta administraator ütleb, et 'lase sellele kasutajale õigusi anda' on võimalik panna lanendajaks. Täpsemalt öeldes siis need kasutajad, kellel on õigus omada pileteid (own ticket). Üldiselt on selllise loeteluga kaetud kõik selle Queue AdminCC-d, kuid võib olla ka teisi persoone, kellel ühel või teisel põhjusel on see õigus olemas (näiteks root-kasutajal, kellel on kõik õigused olemas).

Ticketi omaniku vahetamise protseduur ise on järgmine:

  1. Vali tiket
  2. kliki People peal
  3. vali Owner: valikust soovitav

Omanikku saab määrata ka uue tiketi loomisel (kui seda tehakse veebiliidese vahendusel muidugi). Selleks valida lihtsalt tiketi tekitamisel Owneriks soovitud isik.

Kuidas siduda mitu tiketit üheks

Mitme tiketi üheks tiketiks kokkusidumine (merge) on mõttekas, kui jutt käib eri tiketites samast asjast enam-vähem samal ajal /mitte aastase vahega/ - sel juhul ei ole mõtet selle kohta mitut tiketit eraldi pidada, hiljem on tülikam otsida.

Kokkusidumine

  • vaatad, mis on Ema-tiketi number (näiteks 5090)
  • võtad lahti Laps-tiketi, mida tahad Emale juurde panna
  • klikid Lapsel "Relationships" (võib peituda vasakus servas "links" viite all)
  • lahtrisse "Merge into" kirjutad Ema numbri (näiteks 5090)
  • vajutad "Submit"

Valmis

Ticketite otsimine

Kui on teada ticketi ID number, siis on ülilihtne seda ticketit omale ekraanile manada. Selleks sisestada number ekraani kõige ülaosas paiknevasse Search lahtrisse ning ongi ticket ees. Samasse kasti võib kirjutada ka muid sõnu, mis juhul otsitakse neid sõnu ticketite subjektidest. Kui ticketi number aga pole teada, siis on muidugi variandiks minna Home -> <queue nimi> -> ticket. Kuid selle abil ei leia kõike, mida vaja või leiab liiga palju. Ülaltoodud viis ticketite kätte saamiseks on ka iseenesest otsing. Kui vaatate ekraani osa nimega Current search criteria, siis näete seal päris mitut otsimise kriteeriumi. Neid kriteeriume võib sealt eemaldada või lisada. Eemaldamiseks tuleb lihtsalt vastava kriteeriumi taga olevat delete nuppu klikkida ning see kriteerium kustub ning kuvatakse allesjäänutele vastavad ticketid. Lisamiseks on aga ekraani osa nimega Refine search. Seal on toodud kõik väljad, mis on võimalik ühe ticketi puhul ära täita ja nende abil on võimalik siis ka otsida. Otsimise alustamisel on mõtekas tihti vana otsing eest ära kustutada - selleks valida vasemast menüüst new search. Siiski võib olla sooviks vana otsing alles jätta ning hakata seda muutma, siis ei pea midagi klikkima ning võib asuda otse kriteeriumide lisamise juurde.

Kriteeriume võib lisada niipalju, kui soovi on, samuti võib jätta enamuse lahtreid ka täitmata. Kui näiteks on soov leida kõik minule kuuluvad, ootel (stalled) ticketid, mis on tekitatud Peeter Kase (peeter.kask@example.com) poolt, siis sisestame järgmised kriteeriumid:

  • Vana otsing võis meil näiteks olla selle queue valimine, seega see võib alles jääda
  • Valime Owner is: ja oma nime
  • Valime Requestor email address contains ja kirjutame lahtrisse peeter.kask@example.com Võime ka valida 'email address is'. Erinevus on selles, et esimesel juhul leitakse ka aaderssid 'kapeeter.kask@domeen.com' ja 'peeter.kask@domeen.com.ee', teisel juhul mitte. Kumba kasutada on vaba valik.
  • Altpoolt valime veel Status is: Stalled
  • Search nupu vajutamisel kuvatakse meile leitud ticketid

Queuedele ja ka globaalselt võib lisada meie oma soovitavaid välju. Nende abil saab meie tööd lihtsamaks teha jmt. Globaalselt määratud lisaväljad on näha igas otsinguaknas. Kui lisaväli kehtib aga ainult mingi queue raames (selle queue ticketitele), siis on selle järgi võimalik otsida (ta on otsinguaknas nähtav) ainult siis, kui juba kehtivas otsingus on määratud selle queue nimi. Nt kui Turba queues on lisaväli "IP-aadress", siis on see lahter nähtav ainult siis, kui juba kehtivas otsingus on kriteerium 'Queue = ABI'. Siis on võimalik selle lisavälja väärtuste järgi otsida (näiteks otsida välja kõik mingit IP-d puudutavad ticketid).

Kasu võib olla ka lingist Bookmarkable URL for this search. See on selline link, mille võib panna oma bookmarkidesse ning hiljem saab selle abil kiirelt sama otsingut korrata (st see on selle konkreetse otsingu kriteeriumite loetelu, millel klõpsates kuvatakse otsingu tulemus). Samuti, kui on arvata, et otsingu tulemusena kuvatakse palju ticketeid ning soovitakse tööd teha mitte leitud ticketite vaid järgmiste otsingu-kriteeriumide sisestamisega, siis võib olla kasu ka linnukesest Don't show search results ees, mille puhul ei näidata leitud ticketeid vaid lihtsalt öeldakse nende arv. Sellisel juhul on võimalik ilma suurema kerimiseta järgmisi kriteeriume sisestada. See on vajalik näiteks juhul, kui on soov järjest sisestada kaks Requestori aadressi, mille järgi otsida. Siis tulebki üks enne ja teine hiljem lisada, vahepeal aga tehakse otsing selle ühe järgi.

Kuidas muuta, et kõige uuem kiri tuleks esimese ja mitte viimasena

  • RT-s kõige ülevalt paremalt klõpsata Preferences
  • Kõige alumises sekstioonis "Ticket Display" valiku "Show oldest history first" väärtuseks valida "No"
  • vajutada "Save changes"

sektsioonis "Mail" valiku "Outgoing mail" Yes peale panemisel hakkab RT kasutajale kirju saatma ka tema enda tehtud toimingute kohta

Lingid

http://sial.org/howto/rt/ kiire rt installiõpetus

http://www.sun.com/bigadmin/features/articles/req_track_2.html põhjalikum seadistusjuhend

http://en.wikipedia.org/wiki/Comparison_of_ticket-tracking_systems