Hlavní navigace

Zahoďte Bugzillu a nasaďte Flyspray

Adam Štrauch

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.

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?

12. 2. 2010 9:10

xurfa (neregistrovaný)

Už mě to fuckt nebaví, to se pořád musíte navážet do různých projektů. Nejdřív vymývání mozgů Git-ovými sektářskými fanatiky, teď toto?!?! Jděte s tím do řiti!!!

14. 2. 2010 0:06

gilhad (neregistrovaný)

Jdi si tam sam. Ja se rad dozvim o ruznych alternativach k tomu, co uz znam.

A clanek postaveny na tom, proc je nova alternativa lepsi a v cem oproti stavajicimu reseni vynika je presne to, co se mi hodi. Nepotrebuju dlouhy uvod do problematiky, pokud clanek zacina necim jako „je to v podstate stejne jako bugzilla, ale lepsi“ nebo „Resi stejne problemy jako Subversion, ale umi to i mnohem vic“ … protoze Bugzillu i Subversion znam, tak si usetrim spoustu odstavcu o dulezitosti a metodach hlaseni…

DigiZone.cz: Velká cena v Abú Dhabí: 131 ti­síc diváků

Velká cena v Abú Dhabí: 131 ti­síc diváků

Měšec.cz: Zdravotní a sociální pojištění 2017: Připlatíte

Zdravotní a sociální pojištění 2017: Připlatíte

120na80.cz: 5 nejčastějších mýtů o kondomech

5 nejčastějších mýtů o kondomech

Vitalia.cz: Mondelez stahuje rizikovou čokoládu Milka

Mondelez stahuje rizikovou čokoládu Milka

Lupa.cz: Insolvenční řízení kvůli cookies? Vítejte v ČR

Insolvenční řízení kvůli cookies? Vítejte v ČR

Podnikatel.cz: K EET. Štamgast už peníze na stole nenechá

K EET. Štamgast už peníze na stole nenechá

Vitalia.cz: Jsou čajové sáčky toxické?

Jsou čajové sáčky toxické?

Měšec.cz: U levneELEKTRO.cz už reklamaci nevyřídíte

U levneELEKTRO.cz už reklamaci nevyřídíte

Vitalia.cz: Spor o mortadelu: podle Lidlu falšovaná nebyla

Spor o mortadelu: podle Lidlu falšovaná nebyla

Podnikatel.cz: Chtějte údaje k dani z nemovitostí do mailu

Chtějte údaje k dani z nemovitostí do mailu

Root.cz: Certifikáty zadarmo jsou horší než za peníze?

Certifikáty zadarmo jsou horší než za peníze?

Vitalia.cz: Láska na vozíku: Přitažliví jsme pro tzv. pečovatelky

Láska na vozíku: Přitažliví jsme pro tzv. pečovatelky

Podnikatel.cz: Chaos u EET pokračuje. Jsou tu další návrhy

Chaos u EET pokračuje. Jsou tu další návrhy

Lupa.cz: Co se dá měřit přes Internet věcí

Co se dá měřit přes Internet věcí

Lupa.cz: Propustili je z Avastu, už po nich sahá ESET

Propustili je z Avastu, už po nich sahá ESET

Lupa.cz: Proč firmy málo chrání data? Chovají se logicky

Proč firmy málo chrání data? Chovají se logicky

Podnikatel.cz: Udávání a účtenková loterie, hloupá komedie

Udávání a účtenková loterie, hloupá komedie

Měšec.cz: Air Bank zruší TOP3 garanci a zdražuje kurzy

Air Bank zruší TOP3 garanci a zdražuje kurzy

120na80.cz: Pánové, pečujte o svoje přirození a prostatu

Pánové, pečujte o svoje přirození a prostatu

Lupa.cz: Teletext je „internetem hipsterů“

Teletext je „internetem hipsterů“