Bonjour,
J'ai commité sur le svn un document[1] à propos des APIs REstfull qu'il
faudrait mettre en place en vue d'un gestion des temps/tâche.
Je vois principalement 7 URLs d'interraction dans chorem :
GET /projects/{quotationId}/tasks?{user}
PUT /projects/{quotationId}/tasks?{user}
PUT /projects/{quotationId}/tasks/{taskId}?{user}
GET /projects/times?{user}&start={startDate}&end={endDtate}
PUT /projects/times?{user}
PUT /projects/{quotationId}/tasks/{taskId}/times?{user}
GET /projects/{quotationId}/tasks/{taskId}/times?{user}
L'absence de notion d'authentification dans chorem fait qu'un parametre
"user" est nécessaire dans un premier temps, afin de lier
User-Time-Task.
Je me pose également la question sur la construction de l'URL. Dans une
vue "ressources", je suis parti de la base : le projet, pour
redescendre dans la grappe à chaque niveau comme suit :
/projects[/{project}[/quotations[/{quotation}[/tasks[/{task}[/times[/{time}]]]]]]]
Cependant, peut être que pour plus de simplicité, au niveau des timing,
nous pourrions directement avec des URLs partant d'une Task :
/tasks/{task}[/times[/{time}]]
Le fait d'avoir une structure simple (une ressource n'existe qu'à un
endroit) permet cette souplesse et cette simplification dans l'écriture
des URLs *à partir d'une Task spécifique*
[1] https://svn.chorem.org/svn/chorem/trunk/chorem-webmotion/src/doc/REST_API_T…
--
Yannick Martel
Code Lutin <http://www.codelutin.com/>
+33 2 40 50 29 28
Bonjour,
Je reprends le modèle Chorem partie Gestion de Projet (Gepeto).
Outre la désynchro entre le modele UML et le fichier dans
chorem-entities/src/site/rst/dataModel.rst, j'ai parcouru les derniers
échanges de mail sur la liste pour arriver à celui de Gwen du 6 aout 13
("Documentation projet chorem") pour retrouver un peu de compréhension.
Je pense, dans un premier temps, reprendre le fichier joint à ce mail
du mois d'Aout et le déposer avec les sources.
Esnuite, je souhaite revenir sur certaines notions qui me sont floues,
et amener une reflexion sur le schema Gepeto.
Je laisse de côté l'aspect Quotation (et ses différentes
extensions) pour me concentrer uniquement sur ce qui touche aux taches.
Actuellement, nous avons un Schema ou un tâche est :
- en lien avec une entité "Quotation"
- reférencé par n entités "Time"
- référencé par des Worker
(cf pièce jointe).
Je ne comprends pas réellement à quoi correspondent les "worker", qui
sont un lien entre Task et Employee avec un pourcentage.
De surcroit, je ne comprends pas vraiment pourquoi les "Time" sont si
simplistes, et ne sont, eux, pas liés avec un "Employee".
J'ai une vision sur la gestion de projet qui rejoint beaucoup d'outils
de suivi tel que Redmine ou JIRA :
Une tache peut à différent moment être liée à différentes personnes,
qui y passent chacun un certains temps.
Dans cette vision, nous aurions donc non pas un lien entre "Time" et
"Task", mais plutot entre "Time" et "Worker". Ou, dans le cas ou
"Worker" n'a aucun sens, chaque "Time" serait lié à la fois à la Task
et à un Employee.
De plus, je pense qu'un champs supplémentaire dans l'entité "Task" avec
la référence d'un outil externe de gestion de projet (identifiant
Redmine ou JIRA par exemple). Je pense que dans l'avenir proche, avec
un système de synchronisation avec un soft tel que JTimer,
cet identifiant est un bon liant (une tache est plus facilement
identifiable avec un "#ID_FORGE" qui sert généralement à la fois sur
la forge, dans les commits, dans les interractions clients).
@ vos avis,
--
Yannick Martel
Code Lutin <http://www.codelutin.com/>
+33 2 40 50 29 28