- rozpowszechniany na licencji wolnego oprogramowania (Licencja GPL);
- łatwy do instalacji - zarówno w wersji pojedynczej jak też hostowanej;
- łatwy do sprawdzenia - natychmiastowe uruchomienie w 2 minuty (nie rekomendowane jednakże dla produkcyjnego użycia);
- nie wymaga doświadczenia użytkownika;
- aplikacja webowa;
- zgodny z platformami na których można uruchomić php (Windows, Linux, Mac, Solaris, AS400/i5, etc);
- dostępny w 68 lokalizacjach;
- strony zadań dostępne w prostym oraz zaawansowanym widoku;
- wiele projektów w jednej instancji, wspiera podprojekty oraz kategorie;
- użytkownicy mogą posiadać różne poziomy dostępu w zależności od projektu;
- wsparcie dla changelog-a oraz roadmap-y;
- udostępnia "Mój widok" - spojrzenie na projekt od strony użytkownika;
- wyszukiwanie oraz filtracja - wyszukiwanie tekstowe, proste zaawansowane filtry, filtry współdzielone (na użytkownika / projekt);
- wbudowane raportowanie (raporty / grafy);
- własne pola opisu zagadnienia;
- notyfikacje poprzez e-mail;
- użytkownicy mogą monitorować wyspecyfikowane zadania;
- załączniki - mogą być zapisywane na serwerze lub w bazie danych - mogą być również przesyłane na konto FTP;
- historia zmian zadań;
- RSS (informacje, zadania dopasowane do filtrów, zadania do wyspecyfikowane dla specyficznego powodu);
- własne przepływy zadań pomiędzy użytkownikami z różnymi rolami w ich przetwarzaniu;
- wsparcie dla sponsoringu - poszczególne zagadnienia mogą być sponsorowane co może być widoczne przez osoby je rozwiązujące;
- anonimowy dostęp;
- CAPTCHA - rozpoznaje kto korzysta z systemu robot czy człowiek lub wykorzystanie w tym celu adresu e-mail;
- wsparcie dla samoczynnej zmiany hasła;
- eksportowanie do .cvs, Microsoft Word, Microsoft Exell;
- zdolność do rozszerzania funkcjonalności poprzez udostępnienie funkcji pomocniczych;
- raportowanie zadań poprzez e-mail, oraz poprzez własne zdefiniowane formularze na stornie internetowej;
- integracja z systemami wersjonowania (svn, cvs);
- brak limitu zadań, użytkowników, projektów;
- integracja z Wiki;
- śledzenie upływu czasu;
- możliwość wysyłania do użytkowników wiadomości związanych np. z cechą szczególną jakiegoś projektu);
- publiczne/prywatne projekty, notatki, zadania;
- powiązywanie zadań;
- graf powiązanych zadań;
- automatyczny podgląd załączników (np. zrzutów ekreanu);
- prywatne/publiczne informacje (np. o projekcie);
- przyklejanie zadań;
- grupowanie akcji na wielu zadaniach;
- odnośniki do każdego zadania oraz każdego komentarza - notatki na jego temat;
- możliwość podglądu ostatnio odwiedzanych zadań;
- wsparcie paru systemów autentyfikacji;
- integracja z czatem;
- wsparcie wielu systemów bazodanowych;
- interfejs webserwisów (SOAP);
- wsparcie dla urządzeń mobilnych;
- chat online;
- projekt społeczności która także integruje punkt widzenia kadry zarządzającej;
czwartek, 17 września 2009
Mantis - cechy programu
poniedziałek, 6 lipca 2009
Zadania
W tym wpisie postaram się przypliżyć zagadnienie Zadań w TinyPM. Jest to najmniejsza jeżeli chodzi o granulację jednostka projektu w TinyPM. Jest ona przypisana do User Story i wchodzi w jego skład.
Przegląd listy zadań
Stroną która najlepiej pozwala przeglądać listę zadań to pozycja Menu Projektu Zadania. Tam w zależności od wyboru iteracji możemy przeglądać Zadania w ramach iteracji User Story pogrupowane wg statusu ich wykonania. Zadania widoczne w tej prezentacji są w ramkach składających się z nazwy zadania, opisem zadania oraz grupą przycisków: edycja zadania, przekształć Zadanie w User Story, oraz Usuń zadanie. Na poniższym zrzucie ekranu grupy przycisków towarzyszące prezentacji każdego zadania zostały zaznaczone zieloną obwolutą:
Aby dodać nowe zadanie do wybranego User Story musimy nacisnąć znajdujący się ponad nim przycisk Utwórz nowe zadanie. Po jego naciśnięciu, jak również po naciśnięciu przycisku Edycja na prezentacji już utworzonego zadania zostaniemy przeniesieni na stronę o następującej zawartości:
Poszczególne pola tego formularza to:
- nazwa - nazwa zadania;
- opis - szczegółowe informacje dotyczące zadania;
- przypisani użytkownicy - można wybrać więcej niż jednego z użytkowników przypisanych do danej listy;
- status zadania - tutaj można wybierać aktualny status zadania. Do wyboru mamy następujące: oczekujące, w trakcie wykonywania, zakończone;
- zaczęty - tutaj ustawiamy datę rozpoczęcia projektu;
- zakończony - tutaj ustawiamy datę zakończenia projektu;
- do danego zadania możemy też przypisać pliki które ułatwią jego zrozumienie bądź rozwiązanie;
Po wypełnieniu formularza klikamy na przycisk "Zapisz".
Jeżeli w widoku Zadania z Menu Projektu klikniemy w podlinkowany tytuł zadania to przeniesiemy się do widoku szczegółów zadania:
Widok ten nie wymaga szerszego komentarza, no może tylko jeżeli chodzi o możliwość umieszczania komentarzy do aktualnie przeglądanego Zadania.
Dostęp do zadań mamy także w widoku ze szczegółami dotyczącymi User Story. Ten widok został szczegółowo opisany we wpisie dotyczącym User Stories.
czwartek, 2 lipca 2009
Iteracje
W tym wpisie zostanie wyjaśniona rola Iteracji w aplikacji TinyPM. Tytułem wstępu wyjaśnię że Iteracja to część procesu tworzenia oprogramowania rozłożona w czasie. Występuję więc tutaj różnica pomiędzy Iteracją a User Story. Relacja która zachodzi pomiędzy User Story a Iteracją to kompozycja o kierunku takim że Iteracje zawierają User Story.
Wylistowanie Iteracji
Główną stroną do przeglądania wszystkich Iteracji w systemie jest pozycja dostępna po kliknięciu w menu Dziennik Projektu. Widok ten był szczegółowo omówiony we wpisie traktującym o User Stories. Tutaj tylko uzupełnimy jego opis o część na której prezentowane są kolejne Iteracje. W prawej kolumnie widzimy pionowo ułożoną listę iteracji. Dodakotwo pod każdą z nich widzimy listę User Stories które są przypisane do danej iteracji. Nieprzypisane do żadnej iteracji User Story widzimy wylistowane po lewej i centralnej stronie okna przeglądarki. Iteracje widzimy w porządku malejącym tnz. u góry są iteracje które kończą się najpóźniej.
Do szczegółowej "zawartości" konkretnej Iteracji mamy również dostęp poprzez stronę pod pozycją menu Zadania. Również i ona została opisana po części we wpisie poświęconym User Stories. W widoku tym, pod wykresem obrazującym postęp prac widzimy rozwijaną listę z Iteracjami zdefiniowanymi w projekcie. Wspomniany wykres odnosi się do wybranej w tej liście Iteracji. Pod listą z wybraną Iteracją widzimy wszystkie User Story przypisane do tej wybranej Iteracji. Na opisywanej stronie widzimy także Zadania przypisane do każdego User Story. Zadania jednak zostaną omówione w oddzielnym wpisie.
Tworzenie nowej iteracji
Aby utworzyć w systemie nową iterację klikamy w pozycję Dziennik projektu z Menu Projektu. Na nowootwartej stronie klikamy w przycisk "Utwórz nową iterację" (czerwona obwoluta na poniższym zrzucie ekranu):
Zostaniemy przeniesieni na stronę dodawania nowej Iteracji:
Na otwartym ekreanie ujrzymy formularz z następującymi polami do wypełnienia:
- data rozpoczęcia iteracji;
- długość iteracji (w dniach);
- nazwa iteracji;
- opis celu iteracji czyli funkcjonalności która w danej iteracji powinna zostać stworzona;
- planowana wydajność;
Kiedy już zakończymy wypisywanie wszytkich pól klikamy w przycisk "Zapisz". Zostanimy wówczas przeniesieni na stronę Menu Użytkownika która jest dostępna pod pozycją menu Dziennik projektu. Nowododana iteracja pojawi się na pierwszym od góry miejscu na opisanej wcześniej liście iteracji. Klikając na nazwę każdej z tam wylistowanych iteracji zostaniemy przeniesieni na stronę dostępną z podmenu Zadania z User Stories należącymi do tej Iteracji.
Zamykanie iteracji
Aby zamknąć iterację przenosimy się do widoku User Stories dostępnych pod pozycją Zadania w Menu projektu. Jeżeli iteracja posiada tylko User Stories wówczas po prawej stronie pod Menu Projektu pojawi się przycisk "Zamknij iterację" na poniższym screenie czerwoną obowolutą:
Jeżeli iteracja którą chcemy zamknąć posiada jakieś niezaakceptowane User Stories zostanie wyświetlony komunikat który musimy zaakceptować bądź odrzucić. Pytanie dotyczy czy nieukończone User Stories z zamykanej iteracji mają zostać przeniesione do następnej Iteracji czy jednak chcemy anulować czynność zamykania nowej Iteracji. Gdy wybierzemy jednak zamknięcie danej iteracji zostanie domyślnie utworzona następna, z nazwą w której pojawi się numerek kolejnej iteracji oraz automatycznie do niej zostaną przepisane wszytkie niezamknięte User Stories z poprzedniej - właśnie zamykanej iteracji. Nowa Iteracja oczywiście nie zostanie utworzona w przypadku gdy następna iteracja jest już utworzona w systemie. Zamkniętą Iterację w TinyPM możemy jednak otworzyć dodając nowe User Story do danej iteracji.
wtorek, 30 czerwca 2009
User Story
W tym wpisie zapoznamy się z pojęciem User Story oraz z cyklem życia nowoutworzonej historii użytkownika.
Pojęcie User Story
User story to historia - scenariusz działania - które system powinien realizować opisana - zgodnie z nazwą - z punktu widzenia końcowego użytkownika aplikacji. Najczęściej jest to ścieżka przetważania pobierająca dane wejściowe, które przechodząc poprzez logikę aplikacji wprowadzają ją w jakiś stan lub też aplikacja utrwala te dane (najczęściej dodadkowo spreparowane) w bazie danych.
Tworzenie User Story
Aby utworzyć nowe user story możemy skorzystać z następujących lokalizacji na których znajduje się przycisk 'Utwórz nowe User Story':
- Dziennik Projektu - pod tą pozycją Menu Projektu możemy wykonać również import oraz eksport zdefiniowanych User Stories do pliku .cvs;
- Zadania - przycisk znajduje się nad wykresem obrazującym ilość wykonanej pracy - przycisk o którym mowa znajduje się w tym samym miejscu w którym znajduje się na stronie Dziennika Projektu;
Oto jak wygląda ekran tworzenia nowego User Story:

Omówimy teraz kolejne pozycje tego formularza:
- Nazwa - powinna jak najlepiej odwzorować proces który klient opisuje za pomocą tego User Story;
- Kolor karty - w celu odróżnienia poszczególnych User Story (lub też dla ich pogrupowania) możemy wybrać tutaj kolor tła karty na której definiowane własnie User Story będzie prezentowane;
- Prorytet - są tutaj do wyboru: Niezbędne, Potrzebne, Przydatne, Nie tym razem - tutaj definiujemy priorytet wykonania - jest on potrzebny aby zdefiniować "pilność" wykonania każdego z nich;
- w następnej liście możemy wybrać iterację - ale oczywiście nie musimy - w której dane User Story musi być wykonane, czyli zostać zaakceptować przez jego właściciela;
- tutaj możemy opisać dokładnie co zawiera się w danym User Story - generalnie tak jak definiujemy User Story używamy tutaj języka który jest zrozumiały dla klienta - zresztą User Story pisze najczęsciej klient opisując swoje potrzeby odnośnie tworzonego oprogramowania;
- tagi - w to pole wpisujemy słowa klucze które oddają treść User Story aby móc potem przefiltrować wszystkie User Story pod kątem danej zawartości (na stronie Dziennik Projektu);
- Właściciel User Story to ten użytkownik który będzie zarządzał danym User Story;
- Akceptujący to ten użytkownik który będzie weryfikować poprawne wykonanie tego User Story;
- nakład pracy - tutaj z rozwijanej listy będziemy wybierać ile jednostek (wirtualnych) czasu będzie potrzebne do wykonania tego User Story;
- dodaj domyślne zadania - oznacznie tego checkboxa spowoduje że zostanie utworzone domyślne zadanie dla tego User Story;
- załączniki - tutaj będziemy mogli dołączyć jakieś pliki które są pomocne do lepszego zrozumienia tego User Stories lub potrzebne do jego rozwiazania;
- na końcu mamy przyciski do zapisu lub anulowania tego User Story;
Po zapisaniu danego User Story zostaniemy przeniesiony na następującą stronę:

Mamy na niej szczegółowe informacje o dodanym właśnie User Story. Prawa kolumna jest wypełniona oknem komentowania oglądanego User Story oraz napisanymi już komentarzami. Pod danymi User Story pokazana jest lista zadań które są powiązane z danym User Story. Powyżej tej listy zadań jest przycisk który umożliwia dodanie nowego zadania do tego User Story. Nad informacjami szczegółowymi a pod Menu Projektu znajdują się informacje dotyczące edycji wybranego User Story. A więc możemy za ich pomocą:
- Podzelić User Story - otworzy się tak naprawdę okno edycji danego User Story za pomocą którego będziemy mogli zmienić wszystkie edytowalne dane poprzedniego User Story gdyż za pomocą przycisku Zapisz dane z tego formularza posłużą do utworzenia nowego User Story;
- Edycja User Story;
- Usunięcie Uset Story;
Przeglądanie User Stories
Pod pozycją Dziennik projektu wybrane za pomocą tagów User Stories możemy przeciągnąć do wylistowanych w prawej kolumnie Iteracji. Zmienić przydział User Story do Iteracji możemy również za pomocą edycji User Story z poziomu jego widoku, a następnie klikając w przycisk Edycja.
Pod pozycją Zadania również widzimy User Story - jednak tylko te które są zdefiniowane w ramach danej (wybranej z rozwijanej listy) Iteracji. W wierszu każdego User Stories dostępne są w tym widoku Zadania których wykonanie jest konieczne do spełnienia funkcjonalności opisanej w danym User Story.
W menu Akceptacja widzimy listę User Story w ramach Iteracji która jest wybrana z rozwijanej listy znajduącej się pod Pozycją menu. Tutaj widzimy wszystkie niezaakceptowane User Stories w tej iteracji. Gdy wszystkie zadania z danego User Story zostaną już zaakceptowane pojawiają się w tym widoku przyciski które umożliwiają zaakceptowanie bądź też odrzucenie danego User Stories. Akceptacja wszystkich User Stories prowadzi do możliwości zamknięcia iteracji. Oto jak wygląda strona w przypadku odrzucenia User Story ze wszystkimi zadaniami które są już wykonane:
Jak widać musimy podać przyczynę odrzucenia danego User Story i ją opisać. Informacje te stają się wówczas nowym Zadaniem które automatycznie jest przypisane do tego User Story i które staje się nowym zadaniem do zrobienia.
Podsumowanie
To tyle jeżeli chodzi o User Stories zapisaną w tym wpisie. Zaprezentowałem tutaj cykl życia User Story w TinyPM. Jednak podobnie jak tutaj używałem pojęć Iteracja i Zadanie które to nie zostały jeszcze opisane, tak również nie rozstajemy się z pojęciem User Story, gdyż podczas omawiania właśnie Zadań oraz Iteracji jeszcze nie raz wspomnę o Uset Story.
środa, 24 czerwca 2009
Widok w menu projektu

Jak widać pasek Menu Projektu jest teraz bardzo ubogi i ogranicza się do dwóch pozycji: Pulpit (zawartość ta którą widać na zrzucie) oraz Historia (pozwala wybrać wszystkie akcje (elementy oraz działania które możemy wykonać na projekcie), wszystkich użytkowników we wszystkich projektach - nie będziemy jej szczegółowo omawiać.

Zajmiemy się teraz analizą tego co widzimy z menu Pulpit. Zacznijmy od tego że wszystkie elementy tworzące zawartość tej strony (poniżej menu użytkownika) są zebrane ze wszystkich projektów utworzonych aktualnie w systemie. W lewej kolumnie u samej góry widzimy obszar który nazywa się strona startowa projektu. Akurat jej nazwa nie jest zbyt dobrze opisana bo w tym kontekście (nie mamy wybranego żadnego projektu) niestety strona ta nie jest stroną projektu a jedynie stroną którą możemy określić jako 'powitalną' dla całego systemu. Można ją dowolnie edytować a treść wypełniać mogą informacje dotyczące rzeczy ogólnych - uniwersalnych dla każdego projektu. Poniżej widzimy listę najnowszych zdarzeń które zaszły w obrębie całego systemu. Jest to tak naprawdę wierzchołek listy która jest dostępna pod pozycją w menu projektu - Historia. Będziemy tutaj widzieć zdarzenia wykonane na user story, zadaniach oraz iteracjach. Wyjaśnienie tych terminów w tym i następnych wpisach. W prawej kolumnie widzimy listę projektów. Jeżeli klikniemy na któryś z nich pod jego nazwą pojawi się informacja ze strony startowej projektu oraz coś co można nazwać burndown chart - estymacja czasowa projektu (o tym jeszcze wspomnimy). Pod listą zarządzanych projektów w systemie, widzimy jeszcze niezaakceptowane User Stories których jesteśmy właścicielami - więcej o UserStories w następnym wpisie.
Widok o którym tutaj napisałem dotyczy wszystkich elementów (user story, użytkowników, zadań, iteracji, projektów) zdefiniowanych w całym systemie - wprowadzę więc dla przejrzystości opisu pojęcie kontekstu systemu. Jest to zasięg danych które przeglądamy. W TinyPM mamy dwa takie konteksty:
- ogólny - w którym przeglądamy wszystkie elementy wszystkich projektów w systemie;
- projektu - w którym przeglądamy tylko elementy dotyczące danego projektu.
Pojęcie element którego powyżej użyłem jest stosowane do agregacji takich pojęć które są związane z projektem. Tak więc mogą to być:
- zadania;
- user story;
- iteracje;
- wykresy postępu prac w przedziale czasowym;
Teraz omówię elementy menu projektu w kontekście wybranego projektu. Wyboru projektu możemy dokonać poprzez wskazanie go z listy po prawej stronie menu projektu (na screenie powyżej jest ona oznaczona kolorem żółtym.

Jak widzimy przybyło nam do menu użytkownika dosyć dużo pozycji. Oto one:
- projekt;
- dziennik projektu;
- zadania;
- akceptacja;
- wiki;
- moja aktywność;
W pozycjach Pulpit oraz Historia nie zaszły żadne (a ich funkcjonalności zostały one opisane w jednym z wcześniejszych akapitów). Warto jedynie wspomnieć, że gdy ze stron dostępnych pod tymi pozycjami menu projektu z rozwijanej listy projektów po prawej stronie wybierzemy któryś z nich to zostaniemy automatycznie przeniesieni na stronę dostępną pod pozycją menu użytkownika Projekt (z elementami dostępnymi dla tego projektu).
Projekt
Pod tą pozycją uzyskujemy treść łudząco podobną do zawartości strony dostępnej pod pozycją Pulpit. Jedyne różnice wynikają z tego, że w momencie przeglądania zawartości tej strony mamy już wybrany projekt (czyli znajdujemy się w kontekście projektu - jak to ja już wspomniałem). Oto zrzut z 'czystej' strony dla nowoutworzonego projektu:
Kolorem czerwonym oznaczony jest przycisk który dodaje do wybranego projektu powiązaną z nim stronę - wyświetlana ona będzie w tym samym bloku w którym znajduje się ten przycisk. Opis w bloku który jest objęty ramką w kolorze zielonym to opis projektu pochodzący z formularza dodającego nowy projekt i tam też można dokonywać jego edycji. Jak widzimy lista Najnowsze Zdarzenia jest w tej chwili pusta podobnie jak wykres obrazujący prędkość projektu. Tak oto wygląda strona projektu nad którym są już rozpoczęte prace:

Jak widać wykres jednostek które pozostały do wykonania a jednostek w których mierzone jest wykonanie rzeczy mocno się rozmija - na szczęście jest to tylko przykładowo utworzony projekt. W rzeczywistości taki rozdźwięk pomiędzy poszczególnymi wykresami świadczyłoby o niedoszacowaniu prędkości pracy wykonawców przez osobę która decydowała o przydziale liczby zadań do iteracji (przypisanych było za mało zadań - w tym przypadku - czemu? Mam nadzieję że po przeczytaniu następnych wpisów będzie to dla was jaśniejsze. Blok Najnowsze zdarzenia odnosi się wyłącznie do elementów z projektu który jest aktualnie wybrany.
Dziennik projektu
Wybierając tą pozycję menu przechodzimy już do zarządzania elementami projektu. Jest to strona z której sterujemy projektem z samej jego góry - na największym poziomie granulacji projektu jakim są User Stories - omówione one zostaną w następnym wpisie. Z tej strony możemy przejść do tworzenia nowych User Stories importować je do plików .cvs, eskportować, przeglądać wg tagów którymi są opisane jak również przypisywać do kolejnych Iteracji. W stronie pojawiającej sie po kliknięciu w tą pozycję menu możemy zarządzać również iteracjami - a konkrentniej: możemy je z tej strony tworzyć oraz przypisywać im wybrane User Stries (co można zrobić w bardzo wygodny sposób: przeciągając wybrane User Story do odpowiedniej Iteracji). Iteracje opiszę szerzej w jednym z następnych wpisów.
Zadania
Pod tą pozycją Menu Projektu kryje się przeglądanie projektu w którym mamy czytelny podgląd na Zadania - najmniejszą jednostkę na którą podzielony jest projekt względem jej relacji do User Stories oraz Iteracji. Zawartość którą oglądamy zależy od Iteracji którą wybierzemy z rozwijanej listy znajdującej się pod Menu Projektu z zaznaczoną czerwoną obwolutą rozwiniętą listą zdefiniowanych dla wybranego projektu (obwoluta żółta) listą iteracji:

Niebieską obwolutą zaznaczony jest przycisk za pomocą którego możemy dodać nowe User Story (podobnie jak to ma miejsce w stronie odpowiadającej menu Dziennik Projektu). Pozostałą zawartość strony tworzy lista User Stories przypisane do wybranej iteracji. Nad każdym takim User Story znajduje się przycisk umożliwiający dodanie nowego Zadania w ramach skojarzonego z przyciskiem User Stories. W tym samym wierszu znajdują się jeszcze Zadania które składają się na wykonanie odpowiadającego im User Story. Zadania te mogą być w jednej z trzech kolumn - w zależności od ich stanu wykonania:
- oczekujące;
- w trakcie wykonywania;
- zakończone;
Akceptacja
Tutaj widzimy również rozwijaną listę iteracji z tym że po wyborze którejś z nich widzimy User Stories które do niej należą a które nie są zaakaceptowane. Gdy klikniemy na nazwę takiego User Story przeniesiemy się do poprzednio opisanej pozycji menu - Zadania.
Wiki
Tutaj każdy użytkownik którego Rola zawiera możliwiość edytowania Wiki może edytować stronę która zawierać może różne informacje potrzebne do wykonania danego projektu. Zawartość tej strony pojawia się również na stronie dostępnej pod przyciskiem Pulpit.
Moja aktywność
W tej pozycji menu użytkownik może dodać swoje aktywności które poświęciliśmy na wykonanie zadania które było do nas przypisane. Możemy również określić długość spędzonego czasu nad danym zadaniem oraz dopisać info do tej aktywności (np. któtką informację o problemach które mogliśmy napotkać podczas rozwiązywania danego zadania).
TinyPM - tworznie nowego projektu

Klikając na tej liście w przycisk 'Utwórz nowy projekt' (oznaczony na powyższym zrzucie zieloną obwolutą). W ten sposób przeniesiemy się na stronę dodawania nowego projektu:
Jak widać dodając nowy projekt którym będziemy mogli zarządzac musimy podać kilka informacji na jego temat:
- kod - unikalny w obrębie systemu;
- nazwa - pozwala na jego czytelne nazwanie;
- data rozpoczecia projektu - tego chyba komnetować nie trzeba;
- docelowa data zakończenia projektu - nieobowiązkowa;
- możliwośc wyboru czy projekt jest aktywny czy też nie;
- opis - w edytorze WYSIWIG możemy opisać na czym projekt ten polega - dodać do niego informacje które uważamy za istotne;
- wybieramy właściciela projektu;
- zaznaczamy tych użytkowników którzy będą brali udział w tworzonym projekcie;
Tak opisany projekt tworzymy klikając w przycisk 'zapisz' (oznaczony zieloną obwolutą na powyżej załącznonym zrzucie z przeglądarki).
Dodajmy jeszcze że analogicznie przeprowadzamy edycję danych projektu - wybierając przycisk graficzny 'edycja' (z kolumny akcja) na stronie listingu wszystkich projektów. Obok ikonki z edycją istniejącego projektu znajduje się ikonka usuwania projektu. Wszystkie te ikonki są zaznaczone wraz z ich znaczniem na pierwszym dołączonym zrzucie w tym wpisie. Znajduje się tam jeszcze jedna opcja (środkowa ikonka) - 'edutuj ustawienia';
Edycja ustawień projektu
Po kliknięciu w ikonkę 'edytuj ustawienia' oczom użytkownika ukaże się następujący widok:

Definiujemy w takie parametry projektu jak:
- obowiązkowe pole 'skala estymacji' - jest to lista wartości których użyjemy na późniejszym etapie aby określić czas wykonania danegu User Story;
- domyślana długość tworzonych iteracji;
- nazwa domyślnego zadania tworzonego do każdej iteracji;
Wszelkie dokonane zmiany zatwierdzamy klikając na przycisk 'zapisz' oznaczony na powyższym zrzucie kolorem zielony.
poniedziałek, 15 czerwca 2009
TinyPM - instalacja
W tym wpisie pragnę przedstawić proces instalacji systemu TinyPM. Zainstalować go możemy na dwa sposoby:
- instalator (systemy operacyjne z rodziny Windows);
- deploy aplikacji webowej;
Instalacja z użyciem instalatora
Pobieżny opis w języku angielskim tej instalacji można znaleźć tutaj: http://www.tinypm.com/blog/?page_id=31
Aby zainstalować TinyPM przy pomocy instalatora trzeba spełnić następujące warunki:
- zainstalowane JRE (wystarczające) albo JDK w wersji przynajmniej 5.0;
- ustawienie zmiennych środowiskowych %JRE_HOME% oraz wykorzystanie tej zmiennej w dodaniu kolejnej ścieżki do zmiennej %PATH%;
Po zainstalowaniu oraz uruchomieniu (np. z menu Start) aplikacji możemy z niej skorzystać wpisując do przeglądarki adres: http://localhost:8080/ Nazwa użytkownika oraz - odpowiednio - hasło to admin/admin
Możliwości konfiguracji zainstalowanej tym sposobem aplikacji są bardzo niewielkie i ograniczają się do zmian w pliku [ścieżka do katalogu z zainstalowanym TinyPM]\db\tinypm.properties - i jest to zmiana wyłącznie parametrów działania bazy danych HSQLDB które to parametry nie mają istotnego znaczenia w typowym wykorzystaniu aplikacji TinyPM.
Instalacja aplikacji z pliku .war
Wersja angielska tej instrukcji (nieco okrojona) znajduje się w tym miejscu. Dodatkowe informacje można znaleźć także w pliku INSTALL.txt dołączonym do archiwum aplikacji TinyPM dla określonego rodzaju serwera aplikacji.
Wymagania
TinyPM instalujemy na dedykowanym do tego celu serwerze aplikacji. Wspieranym typem jest serwer Tomcat (minimalna ilość pamięci to 256 MB) w wersjach 5.x oraz 6.x. Oprócz serwera (oraz oczywiście Javy - wystarczy JRE - co najmniej wersja 5.x) potrzebujemy jeszcze bazy danych MySQL w wersji co najmniej 5.0.x. Do połącznia aplikacji z bazą danych wymagany jest konektor bazy MySQL dla języka Java - wersja co najmniej 5.1.x.
Zależności
W paczce instalacyjnej aplikacji (po rozpakowaniu wcześniej pobranego archiwum) w katalogu dependences znajduje się parę bibliotek - o ile nie są one dostępne w katalogu %CATALINA_HOME%/lib to - z pobranym wcześniej plikiem konektora MySQL-a należy je tam skopiować (o ile już się tam nie znajdują).
Instalacja bazy danych
Potrzebujemy stworzyć nową bazę danych dedykowaną dla obsługi aplikacji TinyDB:
CREATE DATABASE tinypmdb CHARACTER SET = 'utf8' COLLATE = 'utf8_general_ci';
Następnie musimy utworzyć użytkownika z uprawnieniami SELECT, UPDATE, INSERT oraz DELETE:
GRANT SELECT, UPDATE, INSERT, DELETE ON tinypmdb.* TO tinypm'@'localhost' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
Na koniec odpalamy skrypty które stworzą odpowiednie struktury danych w świeżo utworzonej bazie oraz wypełnia je danymi:
\u tinypmdb
\. %PATH_TO_INSTALL_FOLDER%/database/mysql/create_schema-1.3.02.sql
\. %PATH_TO_INSTALL_FOLDER%/database/mysql/create_data-1.3.02.sql
Instalacja aplikacji TinyPM
Ponieważ nie jest rekomednowana instalacja aplikacji na uruchomionym serwerze dlatego na początku musimy zatrzymać serwer. Wypakowywujemy tinypm.war do bazowego katalogu webapps:
%CATALINA_HOME%/webapps
%CATALINA_HOME%/webapps/tinypm/META-INF/context.xml
Uruchamiany serwer aplikacji Tomcat, a po jego uruchomieniu wpisujemy w pole adresu przeglądarki adres: http://localhost:8080/tinypm i do logowani używamy loginu oraz hasła które dodaliśmy we wcześniejszym akapicie.
Uzyskiwanie klucza licencji
Darmowy klucz licencji pozwala na stworzenie do pięciu projektów oraz do pięciu osób biorących udział w projekcie. Jest on potrzebny zaraz po uruchomieniu aplikacji oraz zalogowaniu się do niej jako administrator dlatego jego wykorzystanie omówię w tym wpisie.
Logujemy się na tej stronie (w przypadku gdy nie mamy na niej swojego konta, konieczne będzie jego założenie). Po zalogowaniu pobieramy dostępny nam klucz, zapisujemy na dysku, a następnie logujemy się do odpalonej zgodnie z wcześniejszą instrukcją aplikacji. Tam w menu 'Konfiguracja' odszukujemy fragment strony która odpowiada zarządzaniu licencjami. W formularzu: 'nowy plik licencji' odszukujemy na dysku wcześniej zapisany plik z licencją i klikamy przycisk/link 'zainstaluj nową licncję'.
Od tej pory możemy cieszyć się z aplikacji TinyPM którą sami zainstalowaliśmy.

