RT-medaljer

Vi har et medaljesystem for RT. Du finner det på https://rt.samfundet.no/medalje.

Generell virkemåte

En cronjobb i /etc/cron.d/medalje på cassarossa kjører hvert femte minutt skriptet /var/www/samfundet.no/rt/medalje/bin/check_medals.pl. Dette skriptet går gjennom alle (eller oppgitte) registrerte køer og deretter gjennom alle (eller oppgitte) tilknyttede registrerte brukere. Deretter gjennomgås alle medaljer som er aktivert for køen, og tilhørende perl-modul kjøres på alle RT-transaksjoner siden siste sjekkpunkt. Hver perl-modul har to funksjoner, get_points og goal_points, som sammen definerer om brukeren skal få medaljen. I så fall registreres tildelingen av medaljen i databasen. Dette oppdager itkbot, og med mindre brukeren har reservert seg blir tildelingen rapportert på #itk.

Sjekkpunkter

For å unngå at medaljeevalueringen blir for ressurskrevende benyttes et checkpoint-system. Første gang en brukes registreres evalueres alle medaljer for alle transaksjoner gjennomført av personen. Dette kan ta lang tid, ettersom enkelte medaljer kan medføre en fæl kompleksitet. Løsningen på dette er at systemet husker hvor langt den evaluerte historien sist, slik at etter en initiell historisk kjøring blir bare de nyeste transaksjonene evaluert.

Registrere ny bruker

For å motta medaljer må man registreres i systemet. Dette gjøres fra admingrensesnittet. Dersom du allerede har lang fartstid i ITK vil du nok i første omgang skru av IRC-varslinger. Du kan så følge med i oversikten, hvor en oransje poengbar betyr at historien din evalueres. Når baren har blitt blå er skriptet ferdig, og du kan skru på IRC-varslinger igjen.

Lage ny medalje

Hvis du skal lage en ny medalje, besøk lib/ITK/Medalje/Medaljer. Kopier en tidligere medalje, og jobb derfra. Du må også finne et ikon – last ned en fil, f.eks. png eller svg fra nett og legg den i static/img/medals. Deretter kan du velge den når du registerer medaljen i admingrensesnittet.

Forsøk i så stor grad som mulig å legge gjenbrukbare funksjoner i Medaljer.pm. Tenk også nøye gjennom databasekallene dine slik at de ikke blir for tunge. Pass også på å begrense spørringene dine til riktig tidsrom! Det anbefales for øvrig å teste medaljene i køen rt-test før de settes i produksjon.

Ignorering

Hvis du ikke vil se itkbot sine medaljevarsler, ignorer "fikk en medalje:" fra itkbot.

Lenker: Start

Mail: itk@samfundet.no | Telefon: 992 15 925 | Sist endret: 2019-02-18 03:24 | Revisjon: 3 (historie, blame) | Totalt: 1531 kB | Rediger