Zahoďte Bugzillu a nasaďte Flyspray

Adam Štrauch 12. 2. 2010

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.

widgety

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.

Našli jste v článku chybu?
Lupa.cz: Jak se prodává firma za miliardu?

Jak se prodává firma za miliardu?

DigiZone.cz: DVB-T2 ověřeno: seznam TV zveřejněn

DVB-T2 ověřeno: seznam TV zveřejněn

DigiZone.cz: Nova opět stahuje „milionáře“

Nova opět stahuje „milionáře“

Lupa.cz: Jak důležitá je u firemních počítačů spotřeba?

Jak důležitá je u firemních počítačů spotřeba?

Měšec.cz: TEST: Vyzkoušeli jsme pražské taxikáře

TEST: Vyzkoušeli jsme pražské taxikáře

Podnikatel.cz: Tyto pojmy k #EET byste měli znát

Tyto pojmy k #EET byste měli znát

Lupa.cz: Cimrman má hry na YouTube i vlastní doodle

Cimrman má hry na YouTube i vlastní doodle

DigiZone.cz: Digi Slovakia zařazuje stanice SPI

Digi Slovakia zařazuje stanice SPI

Lupa.cz: Blíží se konec Wi-Fi sítí bez hesla?

Blíží se konec Wi-Fi sítí bez hesla?

Podnikatel.cz: Instalatér, malíř a elektrikář. "Vymřou"?

Instalatér, malíř a elektrikář. "Vymřou"?

DigiZone.cz: Parlamentní listy: kde končí PR...

Parlamentní listy: kde končí PR...

DigiZone.cz: Technisat připravuje trojici DAB

Technisat připravuje trojici DAB

DigiZone.cz: Ginx TV: pořad o počítačových hráčích

Ginx TV: pořad o počítačových hráčích

Vitalia.cz: Jsou vegani a vyrábějí nemléko

Jsou vegani a vyrábějí nemléko

Podnikatel.cz: Vánoce v září? Kaufland si legraci nedělá

Vánoce v září? Kaufland si legraci nedělá

Lupa.cz: Jak levné procesory změnily svět?

Jak levné procesory změnily svět?

Vitalia.cz: Tohle jsou nejlepší česká piva podle odborníků

Tohle jsou nejlepší česká piva podle odborníků

Vitalia.cz: Fyzioterapeutka: Chůze naboso? Rozhodně ano!

Fyzioterapeutka: Chůze naboso? Rozhodně ano!

120na80.cz: Zázrak ze smetiště: co léčí lopuch?

Zázrak ze smetiště: co léčí lopuch?

DigiZone.cz: Numan Two: rozhlasový přijímač s CD

Numan Two: rozhlasový přijímač s CD