Wat LeanTrack is
Slank, in de zin van niets extra's: alles wat een team nodig heeft om zijn werk bij te houden, en niets wat het niet nodig heeft.
LeanTrack is een ticket tracker voor op je eigen server, voor teams die de grote pakketten te veel vinden. Die kunnen alles, dus het inrichten is een project op zich, en hun woorden — Epic, Story, Sprint — zeggen niet wat ze zijn. LeanTrack houdt het deel dat bijna elk team echt gebruikt: een lijst met dingen die moeten gebeuren, wie ermee bezig is, hoe ze ervoor staan, en wat er onderweg gebeurd is.
Wat het uitdrukkelijk niet is
LeanTrack is geen pakket voor projectmanagement. Er zijn geen borden om kaartjes over te slepen, geen sprints, geen story points, geen workflows om te ontwerpen en geen eigen velden om in te stellen. Elke status kan naar elke andere status, en LeanTrack werkt meteen. Dat is een keuze, geen ontbrekende functie: er is niets om in te richten voordat je kunt beginnen.
Hoe het in elkaar zit
- Project Het hoogste niveau — een website, een app, een klant. Elk ticket hoort bij precies één project, en het dashboard toont van elk project de tien nieuwste tickets die niet gesloten zijn.
- Groep Een benoemde verzameling tickets binnen een project — een release, een thema, een onderwerp. Een ticket kan tegelijk in meerdere groepen van zijn project zitten, dus een bug kan zowel bij "Release 2.4" als bij "Pushmeldingen" horen.
- Ticket Eén stuk werk: een titel, een opgemaakte omschrijving en (als het af is) een oplossing, een status, een prioriteit, één toegewezen gebruiker, de melder, tags en bijlagen. Reacties en een volledige geschiedenis van alle wijzigingen staan eronder.
- Sub-ticket Een kleiner deel van een ticket, één niveau diep. Een sub-ticket kan zijn bovenliggende ticket blokkeren: dat kan niet gesloten worden zolang er nog een blokkerend sub-ticket open staat.
Statussen en prioriteiten
LeanTrack begint met vijf statussen:
- Open
- Bezig
- Developer Review
- Review
- Gesloten
De beheerder kan ze een andere naam en een kleur geven, de volgorde veranderen, nieuwe toevoegen, statussen die niemand gebruikt weghalen, en alle tickets van de ene status naar een andere verplaatsen. Gesloten blijft altijd: dat is de status die een ticket sluit.
Elke status kan naar elke andere — er is geen workflow die dat voor je bepaalt. De prioriteit is Laag, Middel of Hoog. Status, prioriteit en de toegewezen gebruiker verander je direct vanuit elke ticketlijst en vanuit het ticket zelf; ze worden opgeslagen zodra je een nieuwe waarde kiest.
Ticketsleutels
Elk ticket krijgt een sleutel zoals WEB-42: een
voorvoegsel en een nummer. De beheerder bepaalt welke voorvoegsels er
zijn; het nummer is één teller voor alle tickets samen. Verander je het
voorvoegsel van een ticket, dan houdt het zijn nummer, en links
gebruiken alleen het nummer, dus een link naar een ticket gaat nooit
stuk.
Wie wat ziet
Iedereen logt in, en elk account heeft een van drie rollen:
- Beheerder — alles, ook gebruikers en instellingen.
- Projectmanager — tickets, plus projecten en groepen aanmaken, bewerken en archiveren, en kiezen welke van hun projecten andere gebruikers kunnen zien.
- Gebruiker — tickets.
Beheerders zien elk project. Voor alle anderen vinkt de beheerder aan welke projecten ze zien; projectmanagers zien ook de projecten die ze zelf aanmaken, en kunnen hun eigen projecten aan- of uitvinken voor gebruikers en andere projectmanagers. Een project dat je niet kunt zien, bestaat voor jou gewoon niet, en een ticket kan alleen worden toegewezen aan iemand die het project kan zien.
Er wordt nooit iets gewist
Een ticket verwijderen haalt het niet weg — het gaat naar Verwijderd, waar een beheerder of projectmanager het met één klik terughaalt, met geschiedenis en al. Projecten en groepen worden gearchiveerd in plaats van gewist, en gebruikers worden gedeactiveerd, zodat hun naam blijft staan bij alles waar ze aan gewerkt hebben.
Zoeken, reacties en geschiedenis
Zoeken kijkt in titels, omschrijvingen, oplossingen en reacties, en op elk veld kun je filteren. Elke lijst onthoudt je laatste filters, op elk apparaat, en met de knop Kolommen kiest iedereen welke kolommen hij ziet. Mijn tickets laat zien wat aan jou is toegewezen. Reacties kunnen worden bewerkt en verwijderd door wie ze geschreven heeft. Elke wijziging aan een ticket — status, prioriteit, toegewezen gebruiker, groepen, tags, bijlagen — komt in de geschiedenis: wie wat deed, en wanneer.
Volgers en e-mail
Volg zelf een ticket, of voeg anderen toe die het project kunnen zien. Verandert iemand anders een ticket dat je volgt, dan krijgt het een stip in elke lijst, staat het bovenaan op het dashboard, en zijn de nieuwe regels in de geschiedenis gemarkeerd als je het opent. Iedereen kiest zelf of hij ook een e-mail krijgt. LeanTrack verstuurt e-mail via je eigen SMTP-server of via PHP's mail(), in te stellen door de beheerder, met een knop om een testmail te sturen.
Backups
Dagelijkse backups van de database, gestart door een cronjob of een monitor zoals UptimeRobot, kan de beheerder downloaden en terugzetten.
Taal en je eigen woorden
LeanTrack spreekt Nederlands en Engels. De installatie bepaalt de standaardtaal, en iedere gebruiker kan onder Mijn account zijn eigen taal kiezen; e-mails gaan uit in de taal van de ontvanger. Heb je geen software om makkelijk zaken in bij te houden? Noem je tickets en projecten dan anders, bijvoorbeeld "casussen" en "cliënten": die woorden stel je in tijdens de installatie of later onder Instellingen, en de Nederlandse teksten volgen de grammatica van het woord dat je kiest.
Alleen wat je nodig hebt
Sub-tickets, prioriteiten en de toegewezen gebruiker kun je elk uitzetten onder Instellingen. Uitgezet betekent verborgen, nooit gewist: zet je het weer aan, dan is alles er nog.
Bijlagen
Elk soort bestand kan aan een ticket worden toegevoegd, standaard tot 100 MB (de beheerder kan dat aanpassen, binnen wat PHP toestaat). Bestanden staan op schijf buiten de web root, nooit in de database, en worden alleen gegeven aan mensen die het ticket kunnen zien.
Hoe het bedoeld is om geïnstalleerd te worden
LeanTrack is open source op het niveau van de code. Elke echte installatie is één exemplaar voor één team of bedrijf, op een server naar eigen keuze, met een eigen database. Het is geen gehoste dienst en er is geen centrale LeanTrack-server — de tickets die een team schrijft zijn alleen van dat team.
Niets houdt je tegen om zoveel exemplaren te draaien als je wilt. Elk kan een eigen database hebben, of meerdere delen er één: geef de installatie van een nieuw exemplaar dezelfde databasegegevens als een bestaand exemplaar, dan ziet die dat de tabellen van LeanTrack er al zijn en laat ze zoals ze zijn — geen nieuwe tabellen, geen nieuw beheerdersaccount. Je logt dan in met de accounts die er al zijn.
Twee dingen om op te letten als exemplaren een database delen.
Bijlagen staan op de schijf van het exemplaar waar ze geüpload zijn,
dus de andere kunnen ze niet openen, tenzij ze de map
storage/uploads/ ervan delen. En houd alle exemplaren op
dezelfde versie: een bijgewerkt exemplaar werkt de gedeelde database
voor allemaal bij.
Toegang en beveiliging
Voor elke pagina moet je ingelogd zijn. Wachtwoorden worden als hash opgeslagen, nooit als tekst, en na een verse installatie moet het account admin eerst een nieuw wachtwoord kiezen voordat het iets anders kan doen. Te veel mislukte inlogpogingen vanaf één adres blokkeren verdere pogingen vanaf dat adres voor een kwartier. Tweestapsverificatie met een authenticator-app zit erin: iedere gebruiker zet die aan onder Mijn account, met tien herstelcodes die elk één keer werken, en de beheerder kan het voor iedereen verplicht maken. Een apparaat kan een ingesteld aantal dagen onthouden worden (standaard 100), zodat de code niet elke keer gevraagd wordt. Opgemaakte tekst wordt opgeschoond voordat die wordt opgeslagen, elk formulier is beschermd tegen cross-site requests, en LeanTrack laadt niets van andere servers — geen lettertypen, geen scripts, geen tracking.
Daardoor kun je het prima op een openbaar adres draaien, zolang het
via HTTPS gaat. Houd de server zelf bijgewerkt, en maak regelmatig
backups van de database en de map storage/ — LeanTrack
gooit nooit iets weg, maar het kan je niet beschermen tegen een schijf
die dat wel doet.










