Portál AbcLinuxu, 19. dubna 2024 23:51

Mít vše hotovo s Tracks

22. 3. 2011 | Daniel Keder
Články - Mít vše hotovo s Tracks  

Ak ste sa už niekedy zamýšľali nad tým, ako zefektívniť svoje pracovné procesy, možno ste narazili na knihu Getting Things Done od Davida Allena (GTD, v českom vydaní "Mít vše hotovo"). V prípade, že ste ju i čítali, určite ste hľadali aplikáciu, ktorá by uľahčila evidenciu vašich projektov a úloh. Tento článok vám predstaví jednu z nich s názvom Tracks.

Obsah

Užívateľské rozhranie a vlastnosti

link

Filozofia aplikácie vychádza z GTD, takže spôsob práce s úlohami sa trochu líši od iných programov na evidenciu úloh a projektov. Ústredným pojmom v Tracks je úloha, pričom každá úloha musí mať pridelený nejaký kontext. Pod pojmom kontext je možné si predstaviť situáciu, v ktorej je úloha aktuálna. Napríklad pripomenutie úlohy "Kúpiť mlieko" je užitočné, keď sa človek prave chystá ísť do obchodu alebo je práve v obchode. Pokiaľ je úloha súčasťou nejakého väčšieho zámeru, môže byť priradená k projektu. Je možné vytvárať i opakujúce sa úlohy.

Užívateľské rozhranie Tracks je celkom intuitívne. V záhlaví obrazovky sú záložky vedúce na jednotlivé agendy aplikácie (úlohy, projekty, kontexty a pod.). Hlavná časť stránky obsahuje zoznam úloh, projektov a podobne, v závislosti na zvolenej agende. V pravej časti zvyčajne býva formulár na vytváranie nových položiek (úloh, projektov, kontextov).

Mít vše hotovo s Tracks Mít vše hotovo s Tracks Mít vše hotovo s Tracks Mít vše hotovo s Tracks Mít vše hotovo s Tracks

Úlohy, ktoré sú naplánované na dnes, sa zobrazujú v agende "Home". Úlohám je možné nastaviť dátum, dokedy musí byť splnená. Pokiaľ úloha zatiaľ nie je aktuálna, môžete ju i odsunúť na ďalšie dni. V tom prípade sa nebude zobrazovať na titulnej stránke, až kým nenastane jej čas. Odsunuté úlohy sú viditeľné v agende "Tickler". V agendách "Projects" a "Contexts" je možné vytvárať, upravovať a rušiť jednotlivé projekty a kontexty.

Tracks poskytuje i pokročilejšie funkcie, ako napríklad možnosť generovania štatistík plnenia úloh vo forme grafov, export databázy do CSV, YAML alebo XML súboru alebo sledovanie úloh pomocou RSS alebo iCal kanálov či vyhľadávanie.

Mít vše hotovo s Tracks Mít vše hotovo s Tracks

Aplikácii zameraných na evidenciu úloh a projektov existuje viac, Tracks je však:

Ak vás Tracks zaujal, bude vás zaujímať, ako ho nainštalovať.

Inštalácia a konfigurácia Tracks

link

Tracks je webová aplikácia napísaná vo frameworku Ruby On Rails. Z toho vyplýva, že existuje viacero možností, ako Tracks nainštalovať a prevádzkovať. Najjednoduchšia možnosť je spúšťať ho v jeho vlastnom aplikačnom serveri Mongrel, ktorý je dodávaný priamo s Tracks. Pokiaľ ale chcete použiť bežný webový server Apache alebo Lighttpd, neostane vám iná možnosť, než doň Tracks zaintegrovať.

Pre oba servery existuje modul Phusion Passenger (a.k.a. mod_rails), pomocou ktorého je možné Tracks (či ľubovoľnú inú aplikáciu písanú v Ruby on Rails) dostať do Apache alebo Lighttpd. Phusion Passenger funguje pomerne dobre, avšak jeho spolužitie so SELinuxom je pomerne komplikované. Preto v tomto článku popíšeme, ako Tracks nainštalovať do webového serveru Apache s použitím modulu mod_fcgi.

Inštrukcie uvedené ďalej v článku by mali fungovať vo Fedore 14, je ale samozrejme možné si ich prispôsobiť a použiť i v ľubovoľnej inej distribúcii podľa chuti každého admina.

Ako prvú vec treba nainštalovať Ruby a pár ďalších balíčkov:

$ yum install ruby ruby-devel ruby-rdoc rake rubygems \
rubygem-sqlite3-ruby rubygem-rake rubygem-rails

Kým sa balíčky inštalujú, stiahneme si z webu projektu (http://getontracks.org) zdrojový archív Tracks. V čase písania tohoto článku bola aktuálna verzia 1.7.2. Odvážni môžu namiesto oficiálneho vydania použiť git a stiahnuť si celý repozitár projektu i s najnovšími zmenami.

Ak máme archív stiahnutý, rozbalíme ho do nejakého vhodného adresára, v ktorom bude Tracks žiť, napríklad:

$ mkdir /home/www/tracks
$ cd /home/www/tracks
$ unzip 

Je dôležité nastaviť správne oprávnenia súborov tak, aby sa k nim neskôr dostal webový server. Ak Apache beží pod užívateľom a skupinou apache, privlastníme súbory príkazom:

$ chown -R apache:apache /home/www/tracks

Základ máme hotový, môžeme pristúpiť ku konfigurácii. V podadresári config sú súbory database.yml.tmpl a site.yml.tmpl. Oba premenujeme na varianty bez .tmpl:

$ cd /home/www/tracks
$ cp config/database.yml.tmpl config/database.yml
$ cp config/site.yml.tmpl config/site.yml

Súbor database.yml obsahuje nastavenia spojenia k databáze a site.yml obsahuje všeobecné nastavenia. My použijeme najjednoduchšiu variantu so sqlite3 databázou. Je možné použiť i "skutočnú" SQL databázu ako napríklad PostgreSQL či MySQL, ale ich konfigurácia je už mimo rozsah tohoto článku. Pokiaľ by ste ich chceli použiť, stačí sa riadiť komentármi v súbore. V prípade použitia sqlite3 stačí do hodnoty database uviesť cestu k databázovému súboru:

production:
  adapter: sqlite3
  database: /home/www/sqlite_db/tracks.sqlite

Voľby v súbore site.yml sú celkom dobre okomentované, takže ich nemá zmysel zbytočne popisovať. Snáď len upozorním, že príkaz subdir by mal obsahovať prefix URL, pod ktorým bude Tracks bežať. Teda v prípade, že tracks bude bežať ako http://localhost/tracks, musí byť v premennej subdir hodnota /tracks.

Po úpravách by súbor site.yml mohol vyzerať nejak takto:

salt: "deadbeef"
time_zone: "Prague"
secure_cookies: true
subdir: "/tracks"

V ďalšom kroku vytvoríme databázu. Do súboru, ktorý sme uviedli ako cestu k databáze, skopírujeme prázdnu databázu:

$ cp /home/www/tracks/db/tracks-17-blank.db /home/www/sqlite_db/tracks.sqlite
$ chown apache:apache /home/www/sqlite_db/tracks.sqlite

Teraz môžeme nainicializovať databázu. Presunieme sa do koreňového adresára Tracks (ak tam už náhodou nie sme) a spustíme:

$ cd /home/www/tracks
$ rake db:migrate RAILS_ENV=production

V tomto momente je konfigurácia Tracks hotová a malo by byť možné spustiť Tracks v serveri Mongrel. Server po spustení vypíše, na akej adrese a porte beží.

$ script/server -e production

V podstate by sme teraz mohli skončiť, pretože Tracks je už použiteľný, avšak náš konečný cieľ je...

Inštalácia Tracks do Apache

link

Dohodli sme sa, že k "zlepeniu" Apache a Tracks použijeme modul mod_fcgi. Najskôr ale musíme dostať Tracks do adresára, z ktorého má Apache povolené poskytovať súbory. Za predpokladu, že je to adresár /home/www/html a Apache má povolené sledovať symbolické odkazy, by malo stačiť vytvoriť symbolický odkaz:

$ cd /home/www/html/
$ ln -s /home/www/tracks/public public

Ďalej musíme nainštalovať mod_fcgi a podporu pre fcgi v Ruby.

$ yum install mod_fcgi fcgi fcgi-devel
$ gem install fcgi

Nakoniec na vhodné miesto v konfiguračnom súbore Apache doplníme:

DefaultInitEnv RAILS_ENV production

<Location /tracks>
    Order Deny,Allow
    Allow from all

    Options -MultiViews +ExecCGI +FollowSymLinks

    AddHandler fcgid-script .fcgi

    RewriteEngine On
    RewriteBase /tracks

    RewriteRule ^$ index.html [QSA]
    RewriteRule ^([^.]+)$ $1.html [QSA]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ dispatch.fcgi [QSA,L]
</Location>

Pravidlá pre mod_rewrite pochádzajú zo súboru .htaccess z adresára public v Tracks. Modul mod_fcgi má po inštalácii východziu konfiguráciu vo zvláštnom subore a netreba ju nijak zvlášť upravovať. Dôležité je len nastaviť premennú prostredia RAILS_ENV na hodnotu production. To hovorí, že Tracks má používať produkčnú databázu, ktorú sme uviedli v konfigurácii v súbore database.yml.

Tracks a SELinux

link

Ak máte zapnutý SELinux, pri použití mod_fcgi by malo stačiť nastaviť súborom v adresári Tracks typ httpd_sys_content_t:

$ semanage fcontext -a -s system_u -t htpd_sys_content_t '/home/www/tracks(/.*)?'
$ fixfiles relabel /home/www/tracks

Ak Apache konfigurujete po prvý krát, je možné, že Tracks stále nebude kvôli SELinuxu fungovať — v tom prípade sa treba pozrieť do audit logu SELinuxu a pomocou príkazu audit2why zistiť, v čom je problém. Častý problém napríklad je, že Apache má zakázané spúšťanie CGI skriptov. V tomto prípade stači povoliť boolean httpd_enable_cgi:

$ setsebool -P httpd_enable_cgi 1

Prvé spustenie

link

Ak teraz nasmerujeme webový prehliadač na správne URL, napríklad http://localhost/tracks, mal by sa zobraziť dialóg ponúkajúci vytvorenie užívateľského účtu. Po vytvorení účtu a prihlásení je možné s Tracks normálne pracovať.

Ak sa vám podarilo Tracks nainštalovať a vytvoriť si v ňom prvú úlohu, blahoželám. Ste na dobrej ceste, ako zvládnuť svoje úlohy a projekty s minimálnou námahou.

Pokiaľ prípadne poznáte či používate nejaký iný software založený na GTD, podeľte sa o skúsenosti s ním v diskusii pod článkom.

Další články z této rubriky

VDR a DVB-T2, část 2.
VDR a DVB-T2, část 1.
Šifrovaný Proxmox VE 6: ZFS, LUKS, systemd_boot a Dropbear
MapTiler – proměňte obrázek v zoomovatelnou mapu
Syncthing

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.