уторак, 23 априла, 2024
Представљамо

Тасквориор

Аутор: Никола Харди

У петом броју нашег часописа објављен je чланак под називом „Слободан софтвер у науци” и тада је споменут згодан програмчић под називом Тасквориор (енг. taskwarrior) или једноставно – Таск. Да се подсетимо, реч је о конзолном програмчићу за рад са списковима задатака, или, како се ти спискови често зову, „туду” (енг. to do – треба урадити) листама . Од тада је протекло готово три године, а Таск је постао још бољи. У овом чланку ће Таск бити детаљније представљен уз осврт на неколико новости које су се догодиле од тада. Ово је леп пример пројекта за који се може рећи да је успео – његова заједница је порасла, квалитет и могућности су се побољшали, а настали су и нови пројекти који подржавају оригинални Таск.

Како је настао Таск?

Таск није ни прва ни последња апликација за управљање „туду” листама из конзоле, постоје и todo.txt, todo.py, todo.sh и остале. Таск је настао из потребе аутора да унапреди сличне апликације. Пројекат је започет још 2006. године, верзију 1.0 је достигао 2008. године, а верзију 2.0 2012. године. Тренутна верзија је 2.4.4, што показује активност и добро здравље пројекта и заједнице. Многи корисници ГНУ/Линукса и сличних оперативних система много времена проводе радећи у терминалу, па су конзолна решења увек занимљива. Осим тога, овакве апликације су по правилу мање захтевне када су у питању ресурси; једноставније су за удаљени приступ и рад с њима је често бржи и пријатнији због употребе преко тастатуре. Постоје многе технике за управљање личним задацима, као што су: GTD (енг. Getting Thigs Done), Помодоро (енг. Pommodoro) и друге. Таск није везан ни за једну од ових техника и на кориснику је да изабере дисциплину за додавање и решавање задатака. Наш предлог је књига Дејвида Алена под називом „Кључ успеха” (енг. David Alen, Getting Things Done).

Један пример употребе

Типичан ток употребе је додавање задатка, преглед списка (свих задатака или по задатом критеријуму) и завршавање задатка. Поред тога, корисник често има потребу да прегледа статистику, или да измени неки задатак. Биће представљен кратак пример употребе.

Додавање задатка

Након инсталирања, Таск је доступан командом у терминалу task. Избор опције извршава се додавањем назива опције након основне команде, па је нови задатак могуће додати прилично интуитивном командом task add Otići u prodavnicu. Поред назива задатка, могуће је додати задатак који припада неком пројекту и има неку ознаку. Ознаке се пишу са префиксом плус, а цела команда може да изгледа овако

task add project:škola +domaći +programiranje Napisati primer generičke klase.

Редослед атрибута у команди није важан, па ознаке или атрибут за пројекат могу да се нађу и на крају команде. Постоји низ других атрибута, поред имена пројекта. Рецимо, крајњи рок за извршење задатка, заказивање понављања задатка, приоритет, и други. Лепа могућност је што назив атрибута не мора да буде комплетан, већ атрибути могу да буду написани само делом, рецимо pri уместо priority или proj уместо project.

Преглед списка задатака

Када је Таск покренут без других команди, приказаће списак задатака у једном компактном облику. Уколико сте већ додали неке задатке, можете их једноставно приказати покретањем команде task. Команда у овом облику ће приказати списак задатака који је прилагођен димензијама терминала тако што неће приказати све додане задатке и неће приказати све колоне (приоритет, пројекат, ознаке, понављање, и друго). У овом подразумеваном формату списка, задаци ће бити поређани по задатим приоритетима, али о томе ће бити мало више речи касније.

Други формат за приказ списка задатака је long, односно дугачак списак. Извршавање ове наредбе ће приказати списак свих задатака, сортираних по пројектима уз нешто више детаља.

Измена задатака

Све Таскове команде се заправо састоје из три дела, а то су филтер, команда и параметри. Филтрирање се може извршити по идентификационим бројевима задатака, пројектима, приоритетима или по било којем другом податку из описа задатка. Команде су уобичајене, list за испис, modify за измену, delete за уклањање и done за завршавање. Након тога по потреби следе параметри који нису обавезни за све команде. Следи неколико примера.

task 1,2 modify priority:H
task project:libre done
task proj:libre taskwarrior done
task 13 done
task proj:libr pri:H long

Као што можете приметити, Таск дозвољава непотпуне називе пројеката, описа, команди и избора параметара. Уколико нисте сигурни који задаци ће бити изабрани задатим филтером, увек можете покренути Таск само са филтером (без команди и параметара), како бисте добили списак задатака који задовољавају услове избора.

Синхронизација

Таск подржава неколико видова синхронизације још од раних верзија. Пошто су подаци о задацима сачувани у текстуалним датотекама, ређење и спајање тих датотека са различитих рачунара није превелик проблем. Тако је од раније доступна синхронизација путем Гит репозиторијума, ssh (енг. secure shell), а неки корисници су се сналазили чак и са Дропбоксовим директоријумима. Када смо последњи пут писали о овом програму, таскд је био тек у плану, а данас је то проверен и подразумевани начин за синхронизацију Таскових података између више рачунара. Таскд је сервис који је Тасквориор заједница направила за своје потребе. Реч је, такође, о слободном софтверу и свако може да покрене овај сервис на свом серверу. Комуникација је, наравно, шифрована стандардним и добро тестираним алгоритмима. Овом приликом морамо да споменемо и сервис Фрисинк ( https://freecinc.com ) који пружа бесплатну услугу таскд сервера.

Додаци и сродни програми

Као што смо већ написали, Тасквориор заједница је поприлично жива, а корисници деле своје алатке и додатке са осталим корисницима. На овој страници постоји преглед таквих додатака ( http://taskwarrior.org/tools/ ). Неки од занимљивих су bugwarrior (Багвориор), који може да преузима спискове задатака са Гитхаба; „t”, који ће променити понашање у зависности од локације на којој се терминал тренутно налази; и mail2taskwarrior (Мејл-ту-тасквориор), за додавање задатака путем мејла.

Посебно је занимљиво питање клијента за Андроид. Пронашли смо две имплементације. Једна је taskwarrior-androidapp (Тасквориор-андроид-ап) (https://github.com/svijee/taskwarrior-androidapp), а друга је Миракел (http://mirakel.azapps.de/taskwarrior.html). Изгледа да је Миракел тренутно најпопуларније и једино заиста употребљиво решење. Омогућује синхронизацију, ради довољно стабилно, а изгледа да се формира и лепа заједница око тог пројекта, што је обећавајуће.