GeToDo

GeToDo - Project, task & time management (Advanced TODO list)

Pokročilé prostředí pro správu úkolů a projektů s využitím tagování, možností neurčitosti a podporou pro lidské rozhodování.

Řešitel projektu: Bohumír Zámečník bohumir@zamecnik.org

Vedoucí projektu: Mgr. David Hoksza

Google Code project

Stav: pilotní i finální verze odevzdány

Specifikace ke stažení (PDF)

Subversion repositář: http://getodo.googlecode.com/svn/trunk/ (browse, changes)

Ke stažení

Aktuálně

Podrobnosti v SVN changelogu (případně jako RSS feed).

  • 20.3.2009 - Oprava několika funkcí. Čištění kódu. Zabaleno a připraveno k odevzdání.
  • 19.3.2009 - Uživatelská dokumentace je připravena. Instalátor funguje, testování na jiných strojích. Čištění kódu. Masivní přechod z pointerů na boost::shared_ptr.
  • 15.-18.3.2009 - bugfixy, čištění kódu, zkoušení instalátoru.
  • 12.-14.3.2009 - Sepsáno mnoho dokumentace. Čištění kódu.
  • 11.3.2009 - Tagy je možno přejmenovávat, filtrovací pravidla libvolně editovat. Dokumentace. Čištění kódu. Opraveno pár chybek.
  • 10.3.2009 - Vylepšeno filtrování - nyní je možno filtrovat pomocí složených pravidel i podle tagů (lze spojovat pomocí operátorů AND a OR).
  • 5.3.2009 - Práce na dokumentaci (architektura projektu). Vytvořil jsem odvozené ListStores pro filtry a tagy. Práce s tím je nyní mnohem jednodušší, než s vlastní implementací TreeModelu.
  • konec února 2009 - Funguje filtrování a řazení tasků. Opraveno mnoho drobných chybek.
  • leden-únor 2009 - Zkouškové. Práce na dokumentaci.
  • 29.12.2008 - U TreeStore již funguje přidávání či přesouvání subtasků. V editačním panelu se automaticky ukládají jednotlivé položky tasku (tj. nikoliv celý task najednou). Opraveny různé chyby.
  • 27.12.2008 - TreeStore krásně funguje!
  • 26.12.2008 - Zjistil jsem, že psaním vlastního TreeModelu cesta nevede. Rozhodl jsem se použít TreeStore obohacený o několik signálů, který udělá tutéž práci mnohem lépe. Opravena spousta drobností. Základní podpora ukládání změn jednotlivých částí tasku při editaci (použity lambda funkce z boost::lambda).
  • 23.12.2008 - Základní podpora vlastních výjimek.
  • 27.11.2008 - Po dalších dnech ladění opraveno několik chyb v TaskModelu.
  • 19.11.2008 - Po několika dnech nalezena a opravena hnusná chybka v TaskTreeModelu, která blokovala další práci
  • 13.11.2008 - Přepsán TreeModel, aby podporoval stromovou strukturu místo ploché. Funguje, ale ještě obsahuje nějakou chybu.
  • 7.11.2008 - Přepracována stromová reprezentace Tasků.
  • konec října 2008 - Připravena infrastruktura pro nástroj na generování dokumentace Doxygen.
  • 12.10.2008 - Rozběhal jsem osobní bug tracking system Mantis.
  • 1.-8.10.2008 - Prostudoval jsem knihu H. Sutter, A. Alexandrescu: C++ Coding Standards: 101 Rules.
  • 22.9.2008 - Pilotní verze odevzdána!
  • 19.9.2008 - sestaven instalační balíček pilotní verze.
  • 17.9.2008 - Vytvořil jsem dialog pro editování rekurencí. Již funguje pěkně. Bylo nutné přidat trochu kódu do knihovny.
  • 16.9.2008 - Již fungují také funkce: nový úkol, editace a smazání vybraného úkolu, editace tagů daného úkolu, zobrazení rekurence. Přepsána část knihovny, více se používá operator«() pro serializaci objektů. Před odevzdáním pilotní verze musím připravit instalátor a rád bych ješte napsal průběžné ukládání jednotlivých editovaných položek úkolu.
  • 14.9.2008 - Kostra GUI již pěkně funguje. Nyní je třeba napojit základní akce na různé ovládací prvky.
  • 12.9.2008 - Testovací kód dopsán, opravena část TaskManageru. Nyní připravím GUI pro pilotí verzi k odevzdání.
  • 11.9.2008 - Po několika dnech hledání chyb dopsána část testovacího modulu.
  • 4.9.2008 - TreeModel implantován na TaskManager (zatím pro Tagy a Tasky). Funguje jedoduché grafické rozhraní využívající Glade (GUI definováno v externím XML souboru).
  • 2.9.2008 - Podařilo se mi implementovat vlastní Gtk::TreeModel.
  • 30.8.2008 - Řeším technické detaily napojení TaskManageru na Gtk::TreeModel.
  • 21.8.2008 - Práce na testech knihovny a opravování nalezených chyb. Knihovna je průběžně doplňována o další funkčnost. Začínám zkoušet napojení knihovny na GUI. Debugování ve Visual Studiu je velmi efektivní.
  • 17.8.2008 - Proběhl přechod z Autotools na MS Visual Studio, které má velmi dobré prostředí pro vývoj a výborný debugger. Autotools a GNU toolchain se možná použije časem pro linuxovou verzi GeToDo.
  • 15.8.2008 - Vývoj doposud probíhal v linuxovém prostředí, nyní se mi podařilo úspěšně buildovat na platformě win32-x86 s pomocí MinGW.
  • 12.8.2008 - Podstatný kus knihovny je hotov, nyní plánuji, jak vyřešit grafické rozhraní.
  • 8.8.2008 - Celý červenec jsem pracoval na důležitém zápočtovém programu. Nedávno jsem jej odevzdal a nyní se opět mohu věnovat GeToDo. Zatím pracuji na základní knihovně, objektově-relačním mapování apod.
  • konec června - Intenzivně jsem máknul na projektu, viz logy v SVN.
  • 25.6.2008 - Zkoušky mám hotové, takže se opět budu moci věnovat projektu.
  • červen 2008 - Zkouškové období.
  • květen 2008 - Práce na jiných školních projektech.
  • březen-duben 2008 - Analýza projektu a sepsání specifikace.

Revize 80. Filtrování funguje!

Co by projekt měl dělat a umět?

  • správa kolekce úkolů a projektů
    • popis, termíny, tagy, [symbolické a relativní] priority, kontexty…
  • nejlépe založené na metodologii GTD (Getting Things Done)
  • promyšlený životní cyklus úkolů a projektů
    • příjemné efektivní vkládání/import
      • [nejlépe i nějaká forma doplňování podle existujího]
        • „code-completion“ pro tagy, projekty a další entity
    • editace, vyhledávání, filtrace, pohledy, …
    • (průběžně, úplně) hotovo, archivace, statistiky
  • možnost propojování úkolů, [závislosti], podprojekty
  • použití tagů
  • čas
    • pokročilé možnosti opakování
    • „fuzzy“ termíny - podpora časové neurčitosti
    • [triggery (návaznost na jiné úkoly)]
  • navrhování plánu nebo aktuálně relevantních úkolů pro daný kontext
    • řazení (ohodnocení) úkolů v různých pohledech podle více kritérií
    • možnost ručního řazení relativní priority nebo pořadí úkolů
    • má to být pomůcka pro lidské rozhodování a plánování, nikoli automatický plánovač
    • nemá to tedy člověku spočítat a přikázat plán, ale spočítat, poradit člověku a nechat si od člověka zpětně poradit
  • odkazování na přílohy (URL, soubory - nejlépe pomocí drag&drop)
  • import/export a přenos dat mezi instancemi programu
    • [import/export v XML]
    • export do běžných formátů (text, HTML, [iCal], …), tisk

Technické věci

  • Programovací jazyk: C++
  • Platforma: Win32
    • buildovací prostředí:
      • MS Visual Studio
      • původně MinGW, autotools (bude se hodit pro případný budoucí linuxový port)
  • Knihovny
    • databáze: SQLite a SQLite3x (C++ wrapper)
    • GUI: GTK+ a gtkmm (C++ wrapper)
    • utility: Boost
    • [command-line, API pro skriptování, napojení na jiné programy přes rozhraní DCOP nebo podobné]
 
projekty/getodo.txt · Poslední úprava: 2009/05/09 15:07 autor: bohous
 
Kromě míst, kde je explicitně uvedeno jinak, je obsah této wiki licencován pod následující licencí:CC Attribution-Noncommercial-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki