Aswi2015SwAssassins

Home Page

Redmine evidence času

Zadavatel: P.Brada, J.Kohout

Kontaktní osoby:
P.Brada - brada@kiv.zcu.cz>

Tým

SW Assassins

  • Jan Novák, A14N0081P, nowitz@students.zcu.cz
  • David Košek, A14N0132P, kosek@students.zcu.cz
  • Antonín Neumann, A14N0139P, neumann@students.zcu.cz
  • Tomáš Balíček, A14N0071P, balicekt@gmail.com

Zadání

Cílem je vytvořit webovou nadstavbu k systému Redmine pro snadné zadávání času odpracovaného na různých činnostech. Nadstavba může být buď pluginem pro Redmine nebo samostatnou webovou aplikací využívající REST API Redmine. Administrační část bude umožňovat zadání gišablon reportů. Uživatelská část bude umožňovat snadné zadání odpracovaného času s jednoduchým výběrem projektu a úkolu, a generování reportů ve formě XLS nebo CSV souborů. Důraz je na maximální jednoduchost ovládání a efektivitu práce uživatelů. Technologie: Buď Ruby (on Rails) nebo PHP, JS, základní znalost principů REST API.

Technologie

  • PHP, JS, HTML, CSS, Bootstrap, REST API Redmine

Nástrojová sada

Realizace

Správa evidence času a odpracovaných činností je postavena na open source knihovně dhtmlx, která nabízí přehledný a jednoduchý scheduler vhodný pro náš účel. Pro komunikaci s redmine systémem využíváme PHP Redmine API, což je jenom objektově orientovaný obal pro Redmine API napsaný v PHP. V souboru config.php se nastavuje URL na instanci redmine systému, se kterým aplikace bude pracovat. Další důležitý soubor je view.js a main.js, v první zmíněném souboru lze najít funkce, které definují jednotlivé části pro zobrazení (celkový pohled, tlačítka, dialogy). Druhý zmíněný soubor se stará o logiku na prezentaci. Reaguje na požadavky uživatele, volá požadované requesty a zpracovává je, definuje co má být zobrazeno a co ne. Další logické části jako jsou exporty, importy, statistiky jsou implementovány v php jako samostatné skripty vracející JSON, který obsahuje výsledky. Ty jsou zpracovány v jednotlivých callback funkcích a zobrazeny uživateli.

Struktura adresáře je logicky rozdělena do jednotlivých složek podle jejich účelu (například styly jsou umístěny ve složce css, logika pro importy ve složce imports, atd.).

Architektura, více o použitých technologiích, základní uživatelská dokumentace, instalace, jsou již zpracovány v artefaktech projektu z předmětu ASWI.

Rozšíření a úpravy v rámci OPSWI

Kromě vizuálních úprav je práce rozšířena o možnost importu událostí ve formátu ics. K této části využíváme open source knihovnu ics-parser. Této knihovně se podstrčí požadovaný kalendář, která ho zpracuje a pod zavoláním gettrů nám vrátí požadované data ze souboru. Tyto data transformujeme do jednotlivých redmine issues, které vrátíme uživateli, ten poté pouze vybere task, pod který se načtený data uloží. Další část rozšíření je generování statistik. Uživateli je nabídnut filtr, podle kterého jsou získány data z instance redmine a dodatečně dofiltrovány. Uživateli je vrácený celkový součet hodin a možnost stažení souboru v XLS a XLSX. Více o jednotlivých úkolech lze dohledat přímo zde v záložce "Úkoly” (https://students.kiv.zcu.cz:3443/projects/aswi2015-redmine-evidence-casu/issues)

Návrh UI rozhraní

Iterace

Artefakty

Dokumenty