Archive

Posts Tagged ‘tiddlywiki’

Relier des tiddlywikis au sein d’un répertoire

11 juillet 2010 1 commentaire

Dans mon utilisation de MyMonkeyGtd, je suis parfois confronté à des limitations, ou à des fonctionnalités manquantes.

J’ai déjà comblé deux de ces manques, en développant les macros ‘UntaggedTiddlers’, qui liste les tiddlers sans tag et ‘gtdStats’ qui indique visuellement la progression des différents projets.

D’autres macros sont toujours en phase de mûrissement, et parfois des bouts de code javascript fonctionnant presque.

Il existe apparemment une limite de taille, au delà de laquelle les performances de l’outil sont nettement en baisse.

Mon exemplaire de MyMonkeyGtd a appremment atteint cette limite, et j’ai dû me résoudre à le découper en plusieurs domaines :

  • pour les projets professionnels
  • pour les projets personnels
  • notes, plus ou moins organisées via les macros siteMap et tagCloud
  • un modèle à copier pour d’éventuels nouveaux domaines

Si la séparation par domaines est optimale en termes de taille de fichier et de rapidité, il m’est parfois nécessaire de passer rapidement de l’un à l’autre.

Ces documents se trouvent tous dans le même répertoire; la base de leurs urls sera donc la même. De même, leurs noms commençent tous par ‘gtd’.

Seul le nom du domaine change.

J’ai donc écrit une petite macro ‘relatedUrls’ qui sera incluse directement dans un tiddler en lui fournissant une liste de domaines. A l’affichage du tiddler, une liste de lien sera affichée, et chacun de ces liens permettra d’ouvrir le document correspondant.

Exemple:

Related documents:
<<RelatedUrls Notes Tsks Work>>

Résultat affiché:

Related urls:
* Notes
* Tsks
* Work

Notes:

  • Le lien vers le document source n’est pas affiché
  • Le nom du document associé à un domaine est « gtd » + nom du domaine cliqué + « .html ». Dans l’exemple vu un peu plus haut le lien ‘Work’ dans le document file:///mon_rep/gtdTsks.html ouvrira le document file://mon_rep/gtdWork.html

Si le préfixe ‘gtd’ n’est pas souhaité, ou si vous souhaitez en changer, il suffit de modifier le contenu de la variable prefix dans le code de la macro.

La version anglaise de ce post est ici.

Code source:

/***
|!Plugin Name|Related Urls Macro|
|!Description:|Displays informations about the browser and its host OS|
|!Author|[[Jean Buchet|http://buje.free.fr/index.php]]|
|!Version|1.1.0|
|!Date:|2009/03/17|
|!Usage|<////<RelatedUrls>////>|
|!Source:| |

!History

!Code
***/
//{{{

version.extensions.RelatedUrls= {major: 1, minor: 1 , revision: 0, date: new Date(2009,03, 17)};

config.macros.RelatedUrls= {
prefix : "gtd"
};

config.macros.RelatedUrls.handler = function(place,macroName,params) {

var GtdStatsWrapper = createTiddlyElement(place,"div",null,"GtdStats",null);

var l_href=location.href;
var results="";
var last_slash = l_href.lastIndexOf('/') + 1;

var l_base = l_href.substring(0, last_slash);
var l_url  = l_href.substring(last_slash, l_href.lastIndexOf('.') );

for (var i=0;i<params.length; i++) {
l_f=params[i];
if (config.macros.RelatedUrls.prefix + l_f != l_url) {
results=results + "* [[" + l_f + "|" + l_base + config.macros.RelatedUrls.prefix + l_f + ".html]] \n";
}
}

wikify(results, place);
}

//}}}

Creative Commons License

Publicités
Catégories :Informatique Étiquettes : ,

WOAS, TiddlyWiki, MonkeyGtd : Un wiki dans votre poche

7 novembre 2008 Laisser un commentaire

Kesako Wiki ?

Les wikis sont un très bon moyen de collecter et retrouver de l’information. Ce sont en général des sites web modifiables par tout un chacun, moyennant éventuellement la création d’un compte utilisateur.

Ils sont très largement répandus, notemment, les sites dédiés aux logiciels libres.

Le plus connu est peut-être Wikipedia.

Leur fonctionnement est très simple, puisqu’il suffit d’accéder à un site web dans un navigateur internet.

Certains wiki prennent la forme d’un logiciel dédié, d’autres sont un simple document html. Vous pouvez donc les emporter sur une clé usb, et y accéder dès que ça devient nécessaire, et que vous avez un ordinateur à portée de main.

Voici une (courte) présentation de trois exemples :

WOAS aka « Wiki An A Stick »

WOAS est un logiciel de type wiki intéressant à plus d’un titre, puisqu’il est contenu dans un unique document html, avec une bonne dose de javascript.

Les modifications effectuées sur un document WOAS peuvent être enregistrées localement sur votre ordinateur, voire sur une clé usb, d’où son nom (Stick = Clé USB).

L’avantage est que vos données restent à disposition pour consultation et/ou enrichissement dès qu’un ordinateur est disponible.

Bien entendu, ce wiki « de poche » pourra être rendu accessible sur votre site internet.

TiddlyWiki

TiddlyWiki est en quelque sorte un descendant de WOAS.

C’est un wiki « portable » lui aussi, puisque son document html peut lui aussi être enregistré localement et/ou sur une clé usb.

Dans un document TiddlyWiki les informations sont stockées dans des « tiddlers ». Chacun d’eux possède un titre, qui pourra servir de lien interne, une liste de tags, et un contenu textuel.

Les deux grosses avancées de TiddlyWiki tiennent en deux mots : tags, et plugins.

Les plugins d’abord, sont très nombreux. Voir par exemple sur le site TiddlyTools, qui en propose plus d’une centaine. Cetains sont des gadgets (jeux, etc) , mais la plupart apportent des fonctionnalités (sitemap, tagcloud, etc).

Ce sont simplement des tiddlers contenant du code javascript, et portant le tag « systemConfig ».

L’installation et le paramétrage de ces plugins est des plus simples.

Les tags ensuite, ont plusieurs buts :

  • repérer et activer au chargement du document les plugins, qui portent le tag « systemConfig »
  • regrouper les tiddlers par domaines. Par exemple, les tiddlers comportant des listes pourront porter le tag « liste ». Les tags sont utilisés par certains plugins, tels que : * TaddlyTagging : L’affichage d’un tiddler est enrichi de la liste des tiddlers dont il est l’un des tags. Par exemple, l’affichage du tiddler « liste », contiendra la liste des tiddlers portant le tag « liste » * siteMap : permet d’afficher le plan du wiki restreint à une liste de tags ** tagcloud : affichage d’un nuage de tags tel que celui de del.icio.us

MonkeyGtd

MonkeyGtd est une variante de TiddlyWiki, enrichie de fonctionnalités de type « GTD ».

GTD – littéralement « Getting Things Done » est une méthode de travail. Pour l’essentiel, cetet méthode repose sur :

  • la collecte des informations et des tâches à effectuer
  • le groupement des tâches en projets
  • l’examen récurrent des projets et des tâches pour prioriser ces tâches

Ce résumé ne conviendra bien entendu pas aux afficionados de cette méthode mais c’est à mon sens une bonne approche.

MonkeyGtd donc, propose des fonctionnalités de base de suivi de projets, en permettant de créer et faire évoluer dans des tiddlers des projets et les actions (tâches) de ces projets.

Une action peut être dans un des états suivants

  • next : il s’agit d’une action exécutable dès que possible
  • future : action à effectuer plus tard
  • waiting for : un événement que l’on attend
  • done : action déjà exécutée et terminée

Quelques tiddlers spécifiques permettent d’afficher les prochaines actions (next) par projet, par domaine (area), par contexte.

Les notions de domaine (area) et de contexte sont détaillés ici et sur le site de David Allen.

MonkeyGtd étant à la base une évolution de TiddlyWiki, de nombreux (sinon la plupart) des plugins de ce dernier sont utilisables dans MonkeyGtd.

Pour conclure

Ces trois produits sont très utiles dans leur domaine. Si WOAS se cantonne à être un wiki transportable, TiddlyWiki et MonkeyGtd possèdent des fonctionnalités assez avancées, et pourront être utilisés comme de vrais sites de type CMS ou Systèmes de Gestion de Contenus.

Pour ma part j’utilise MonkeyGtd enrichi de quelques macros provenant de TiddlyTools, plus deux macros dont GtdStats décrite dans ce billet, et quelques autres astuces et « customisations ».

Liens :

Creative Commons License

Catégories :Informatique Étiquettes : ,

Mise à jour : Suivre l’avancement de vos projets avec MonkeyGtd

29 octobre 2008 1 commentaire

Dans le billet Suivre l’avancement de vos projets avec MonkeyGtd j’ai présenté un outil (une macro en fait) permettant de collecter les données indiquant l’avancement de vos projets.

Les données ainsi fournies sont utilisables après un simple copier/coller dans votre tableur, par exemple pour créer une présentation visuelle de l’état de vos différents projets.

Le principal inconvénient de cette macro était justement de nécessiter un tableur.

Je vous propose ici une version autonome de cette macro. Le « graphique » est maintenant affiché directement dans un tiddler :

Réalisation

Pour la réalisation, je me suis appuyé sur le fonctionnement de la macro TagglyTagCloud:

La macro est, comme toujours dans Tiddlywiki et ses dérivés, simplement constituée par du code javascript contenu dans un tiddler portant le tag « systemConfig » (attention à la casse des caractères).

L’affichage s’effectue en faisant un appel à la macro, en incluant le texte « <> » (attention ici encore à la casse) dans un tiddler.

Installation

  • Créer un tiddler appelé « GtdStatsMacro » et portant le tag « systemConfig ».
  • Copier et coller le code présenté plus bas dans la note de ce tiddler
  • Enregistrer le tiddler (bouton « done »)
  • Enregistrer le document entier (commande « save changes »)
  • Recharger le document dans votre navigateur

Utilisation

L’affichage dans un tiddler s’effectue en y faisant un appel à la macro, qui consiste en le texte « GtdStats » précédé de deux caractères « inférieur » et suivi de deux caractères « supérieur »

Les colonnes affichées sont :

  • Nom du projet. Il suffit d’y cliquer pour afficher le projet correspondant.
  • Actions : nombre d’actions du projet. Attention : je n’y compte pas les actions du type « Waiting for », vu que ce type d’action est particulier (on attend un événement)
  • Mass : représentation visuelle du nombre d’actions.
  • Done : nombre d’actions terminées
  • Todo : nombre d’actions restant à faire (à l’exclusion du type « Waiting for »
  • future : nombre d’action de type « future »
  • %done : pourcentage d’actions terminées, ie : done / ( done + todo + future ) * 100
  • Completion : représentation visuelle de l’avancement du projet
  • W/for : nombre d’événements attendus (actions de type « Waiting for »)
  • Adherence : représentation visuelle du nombre d’événements attendus

Suit une version .csv des données de base, par exemple pour exploitation dans un tableur.

Améliorations envisagées

  • Nettoyage du code, qui est pour le moment pour le moins illisible
  • Affichage des données par projet, par domaine (area), ou par contexte, en fonction de paramètres passés à la macro
  • Ajout de l’affichage des données globales

Licence d’utilisation

Ce code est utilisable et diffusable dans le cadre de la licence GPL (V3)

Et maintenant, le code de la macro

Le code de la macro se trouve dans le fichier disponible ici.

Copiez-en le contenu dans un tiddler nommé GtdStatsMacro comme spécifié plus haut.

Creative Commons License

Catégories :Informatique Étiquettes : ,

Suivre l’avancement de vos projets avec MonkeyGtd

4 octobre 2008 1 commentaire

Ce billet présente pourquoi et comment enrichir l’outil de suivi de tâches « MonkeyGtd » avec un plugin de collecte de statistiques des projets en cours.

La version que j’utilise est « MonkeyGtd 2.1 alpha r91″. Malgré son nom, cette version est tout à fait stable. Une version 3 est en cours de développement.

Présentation rapide de MonkeyGtd

MonkeyGtd est un outil dans l’optique « Getting Things Done ». Il est basé sur TiddlyWiki, enrichi du plugin MonkeyGtdPlugin, qui lui apporte les fonctionnalités de gestion et de suivi de projets et de tâches. MonkeyGtd possède également toutes les fonctionnalités de type wiki de TiddlyWiki.

Pratiquement, il s’agit d’un document écrit en html et javascript. Il suffit de l’ouvrir dans votre navigateur internet et d’y créer vos projets ainsi que les tâches de chaque projet.

Je l’utilise depuis au moins un an maintenant comme un simple gestionnaire de tâches. J’y crée les projets en cours, avec pour chacun d’eux les actions à effectuer, les actions non planifiées et les événements en attente. Ceci aussi bien pour le travail que pour mes affaires privées.

En se tenant à une utilisation quotidienne et régulière il est possible en utilisant les boutons « Review » et « Do Work », de connaitre la liste :

  • des actions planifiées (Next Actions), ie les prochaines tâches à effectuer
  • des actions déjà effectuées (RecentlyDdone)
  • des actions non planifiées (Future Actions)
  • des éléments attendus (Waiting for) pour pouvoir planifier les « Future Action »s.

Mesurer l’avancement des projets

Tel quel, MonkeyGtd permet d’avoir une vue qualitative de l’avancée de vos projets, c’est à dire d’afficher la liste des tâches à effectuer (next actions dans le dialecte GTD).

Il ne permet en revenche pas de mesurer l’avancement des différents projets.

Pour effectuer cette mesure il nous faut pour chaque projet le nombre de tâches total, le nombre de tâches terminées, etc.

Heureusement, MonkeyGtd est écrit pour une grande part en javascript, et fournit d’origine de nombreux plugins.

C’est en m’inspirant de ces plugins que j’ai écrit le plugin CollectStatsPlugin.

Ce plugin fournit un bouton dans l’affichage de chaque élément du wiki:

Un click sur ce bouton collecte les statistiques sur chaque projet, et les affiche au format csv dans un encadré :

Les informations fournies sont pour chaque projet :

  • le nom du project
  • le nombre total d’actions du projet
  • le nombre d’actions terminées (done)
  • le nombre des prochaines actions (next actions) à effectuer pour le projet
  • le nombre d’éléments attendus (waiting for)
  • le nombre d’actions non encore planifiées (future actions)

Un simple copier/coller permet d’utiliser ces informations dans un tableur, une base de données, un fichier texte, etc

Il est alors simple de calculer quelques indicateurs de progression des projets, tels que le pourcentage de réalisation d’un projet.

Exemple :

Cette vue indique pour chaque projet :

  • le nombre de tâches à effectuer,
  • l’avancement du projet en pourcentage et sous la forme d’un petit graphe en barre
  • le nombre d’événements en attente (waiting for) pour le projet

La suite de ce billet indique comment créer et installer ce plugin.

Création du plugin

Pour ajouter ce plugin à votre MonkeyGtd, il suffit de créer un tiddler appelé « CollectStatsPlugin », avec le tag « systemConfig », et contenant le code suivant :

merge(config.commands,{

collectGtdStats: {

text: 'stats', tooltip: 'Collect gtd statistics', hideReadOnly: true, handler: function() { var projects= []; var results= [] ; var next=0; var future=0; var done=0; var waitfor=0; store.forEachTiddler( function ( title,tiddler ) { if ( tiddler.tags.contains( "Project" )) { projects.push( title ); } }); if ( projects.length == 0 ) { alert( "No projects found"); } else { results.push("Project;actions;done;next;waitingfor;future"); for ( var i=0;i<projects.length;i++ ) { next=0; future=0; done=0; waitfor=0; store.forEachTiddler( function ( title, tiddler ) { if (tiddler.tags.contains( "Action")) { if ( tiddler.tags.contains(projects[i]) ) { if (tiddler.tags.contains("Done") ) { done = done + 1 ; } else if (tiddler.tags.contains("Next") ) { next = next + 1 ; } else if (tiddler.tags.contains("Waiting For") ) { waitfor = waitfor + 1 ; } else { future =future + 1 ; } } } }); results.push( projects[i]+";"+ (next+future+done) + ";" + done + ";" + next + ";" + waitfor + ";" + future ); } for (var i=0;i<results.length;i++) { displayMessage(results[i]); } } } 

} });

Activer le plugin

Pour activer le plugin CollectStatsPlugin, effectuez les actions suivantes dans l’ordre :

  1. Effectuer une copie de sauvegarde de votre MonkeyGtd. En cas d’erreur ou de problème il suffit de restaurer la copie de sauvegarde effectuée
  2. Ouvrir le tiddler ViewTemplate
  3. Dans le premier élément div class=’toolbar’, localiser le dernier élément « span macro… »
  4. Y remplacer « closeTiddler closeOthers » par « closeTiddler collectGtdStats closeOthers ». Ceci insère le bouton « stats » dans chaque tiddler affiché et hors édition
  5. Enregistrer le tiddler en cliquant sur le line « done » en tête du tiddler
  6. Enregistrer votre MonkeyGtd en cliquant sur le lien « save changes » de la barre d’outils
  7. Recharger votre MonkeyGtd

Améliorations possibles

Quelques améliorations sont possibles :

  • Greffer l’appel du plugin dans la barre principale ou encore la barre latérale du MonkeyGtd
  • Stocker les statistiques dans un nouveau tiddler
  • Intégrer au plugin le calcul de statistiques

Creative Commons License

Catégories :Informatique Étiquettes : ,
%d blogueurs aiment cette page :