Hlavní navigace

Zahoďte Bugzillu a nasaďte Flyspray

12. 2. 2010
Doba čtení: 5 minut

Sdílet

Plánování vývoje projektů, ať už jde o svobodné či uzavřené projekty, vyžaduje krom minimálně jedné hlavy, co to dokáže rozmyslet, i kvalitní nástroje, které umožní šířit nápady hlavního vývojáře mezi zbytek týmu. Takovým programem je třeba klasická Bugzilla, ale nesmíme zapomínat ani na ostatní.

Vývoj

Aby nedošlo k omylu, měl bych ještě vysvětlit, že Výraz „bugzilla“ za těch 12 let, co klasická Bugzilla existuje, zobecněl a často ho uslyšíme ve spojitosti s dalšími podobnými projekty.

Bugzilla je ideálním nástrojem pro sledování vývoje projektů. Uživatelé i vývojáři do ní zadávají chyby a požadavky na nové vlastnosti a hlavní vývojář pak rozděluje jednotlivé požadavky mezi vývojáře. Existuje tak přehled, kdo co udělal, a hlavně co je ještě potřeba udělat. Některé bugzilly umožňují plánování roadmapy, resp. vytyčování hlavních bodů vývoje, podle kterých se celý vývoj směruje.

V praxi to pak vypadá tak, že se vývojáři sejdou buď na IRC nebo i osobně a probírají poslední trendy. Z diskusí pak vznikne seznam několika vlastností, které musí nová verze obsahovat. Počet nových vlastností závisí na rychlosti vývoje, resp. na počtu lidí, kteří se na tom podílejí. Do roadmapy se zapíší hlavní cíle vývoje, resp se vytvoří tzv. „feature requesty“, tedy něco jako žádosti o novou vlastnost. Jak vývoj postupuje, začnou se vedle „feature requestů“ objevovat i bugy, tedy podobné záznamy ale popisující chybu v existujícím kódu. I tyto chyby se později přidají do roadmapy, resp. většina. Vybrány jsou jen takové, které jsou potvrzené a nutné pro běh aplikace ve stabilním vydání. Když se všechny nové vlastnosti implementují a přejde se do stavu hlášení chyb, říkáme tomu „feature freeze“, tedy něco jako zmrazení přidávání nových vlastností.

Všechno to jsou kroky, se kterými bugzilla pomáhá. Je to nástroj na plánování vývoje a pro každý projekt, kde se angažuje více lidí, je prakticky nezbytný. Proto je důležité vybrat takový, se kterým mohou vývojáři pracovat bez větších problémů a zbytečného prozkoumávání co kde a jak funguje.

Ne všichni používají bugzillu tímto způsobem. Jsou projekty kde se na roadmapy nehraje a buzilla je používána hlavně na oznamování chyb.

Flyspray

S masivním použití klasické Bugzilly jsem se setkal poměrně nedávno a moje první zkušenosti byly dost děsivé. Určitě šlo hlavně o zvyk, ale i tak celá aplikace působí dost staromódně. (pro upřesnění jde se o verzi 3.2.2) Pro svoje vlastní účely jsem hledal něco jiného, a pak také našel Flyspray. Ten jsem používal v projektu Archlinux, aniž bych o tom věděl, a teď, když vím, že to je Flyspray, můžu s klidem prohlásit, že vývojáři Archlinuxu věděli, proč si ho zvolit. Klasická Bugzilla je zatížena dvanáctiletou minulostí a musíme na ni podle toho nahlížet.

Flyspray - arch

Flyspray má na druhou stranu moderní uživatelské rozhraní a je napsán v PHP. To mu na rozdíl od klasické Bugzilly, která je v Perlu, dává možnost většího rozletu na levné hostingové služby. Uživatelské rozhraní je částečně hnáno přes AJAX a hlavně konfigurace je velmi pohodlná. Samozřejmostí je podpora několika projektů, kde uživatelé mohou být registrováni buď globálně nebo k jednotlivým projektům. Velmi dobře jsou řešena práva, kde je myšleno téměř na všechno. Listování bugů a feature requestů se může definovat uživatelskými filtry. Neposlední zajímavou vlastností je oznamování změn kromě e-mailu i přes Jabber. I když má e-mail něco do sebe, ne všichni si chtějí zahlcovat schránku hlášeními z bugzilly.

Instalace

Vývoj Flyspray má poměrně dlouhý cyklus. Nové verze se objevují přibližně jednou do roka. Jeho kořeny sahají k jabber klientovi PSI, jehož vývojáři hledali jednoduchou bugzillu a klasická Bugzilla jim nevyhovovala. Od té doby se rozšířil do různých koutů světa.

Jelikož má Flyspray jen velmi málo závislostí, což také autoři prezentují jako jeho výhodu, je instalace snadná.

Stačí rozbalit archiv, který najdeme v sekci Download. Rozbalený obsah zkopírujeme někam kde bude dostupný z internetu, např. u našeho poskytovatele hostingu nebo na vlastní server. Dobře poslouží i webserver na localhostu. Dále je potřeba vytvořit MySQL nebo PostgreSQL databázi. Obojí se může dost lišit, takže to nechám na jiných článcích a dáme se do konfigurace.

Budu předpokládat, že váš Flyspray běží na doméně example.com.

Flyspray - setup - preinstall

Nejdříve spustíme v prohlížeči setup a to tak, že zadáme adresu „http://example­.com/setup/“. Flyspray nám sdělí co všechno je potřeba doplnit nebo poopravit. Nezapomeňte u všech souborů a adresářů, do kterých bude Flyspray zapisovat, nastavit správná práva. V mém případě stačí:

$ sudo chown www-data:www-data attachments -R
$ sudo chown www-data:www-data cache -R
$ touch flyspray.conf.php
$ sudo chown www-data:www-data flyspray.conf.php 

V dalším kroku se nastavuje přístup k databázi, ten byste měli již mít, takže ho doplňte.

Flyspray - setup - database

Třetí krok se týká e-mailové adresy administrátora, jeho uživatelského jména a hesla. Pozor. heslo bude viditelné na monitoru. Nakonec budete požádáni o smazání adresáře setup z rootu webu a já ještě doplním snížení práv na konfiguračním souboru.

$ sudo chmod 660 flyspray.conf.php 

Seznámení

Flyspray disponuje dvěma úrovněmi administrace. Ta první je na globální úrovni a účty/nastavení, které v ní vytvoříte, se budou promítat do všech projektů. Druhá administrace se pohybuje na úrovni projektů. Jsou si velmi podobné, takže se vám mohou ze začátku plést.

Hlavní nabídka je rozdělena na dva pruhy. V prvním pruhu najdete informace o přihlášeném uživateli, o jeho hledáních, logout a také odkaz na globální administraci. V druhém řádku jsou všechny věci související s otevřeným projektem. Mezi těmi je třeba výběr projektu, přehled, list událostí, list úkolů, možnost přidat úkol a roadmapu. Ta se generuje v závislosti na úkolech přiřazených k jednotlivým verzím v roadmapě.

V globální administraci najdeme krom nastavení uživatelů, vytvoření nového projektu a obecného nastavení i editor typů úkolů, jejich stavů, kategorií atd. V projektové administraci můžete přidávat další volby patřící jen danému projektu.

Když se po Flyspray po chvilce rozkoukáte, zjistíte, že konfigurace je velmi jednoduchá a Flyspray vychází vývojářům vstříc.

root_podpora

Flyspray - add

Přidávání úkolů je podobné jako v jiných bugzillách. Všechny parametry jdou později upravit. Samozřejmostí je i přidávání příloh a vytváření závislostí mezi jednotlivými úkoly. U každého úkolu je napsané, kdo o něm dostává informace, jeho historie, seznam souvisejících úkolů a také graf závislostí. Nesmíme zapomenout ani na možnost přidávání komentářů.

Závěr

Flyspray je jednoduchá a velmi přehledná bugzilla, kterou by měl každý vývojář při výběru bugzilly zvážit. Uživatelské rozhraní je provedeno velmi vkusně, přehledně a uživatele rozhodně neurazí. V pohodlné bugzille budou uživatelé zadávat chyby mnohem raději a na pohodlí uživatelů se musí zvlášť u open souce hledět především.

Byl pro vás článek přínosný?

Autor článku

Adam Štrauch je redaktorem serveru Root.cz a svobodný software nasazuje jak na desktopech tak i na routerech a serverech. Ve svém volném čase se stará o komunitní síť, ve které je již přes 100 členů.