Open GoogleCodeExporter opened 9 years ago
Hi,
thank you for this input, you have opened two quite important and complex
topics! I was thinking about this for some time - let me share my thoughts on
this with you.
== About the archive itself ==
Kanbanik will never be a completely standalone application so it does not need
to implement each feature we need. What it needs is an API to connect it with
something what can do this task well (better than Kanbanik would ever do).
There are lots of quite good issue trackers around so if Kanbanik would be
connected to them the need to have this archive would not really exist any more.
On the other hand, I like if the application is simple and usable without some
hacking after installation. The need to install some issue tracker and write
some code which connects it to the Kanbanik is far too complex and I can not
expect anyone to do it right after the first installation.
This means that Kanbanik needs both a reasonable fallback (simple archive) and
a good API - following the principle simple things are done simply (simple
archive) complex things are possible (write the integration with some issue
tracker).
I would say that currently Kanbanik is still used only by early adopters which
don't have a problem to write some scripts to do a simple export of one column
to the issue tracker (and are happy to do that :) ). And don't need much more -
otherwise they would use some commercial tool. But they need the API. There is
a task (http://code.google.com/p/kanbanik/issues/detail?id=23) which I plan to
do after the work on the current release will be done which will bring the API
and adjusts the frontend to use it. This has a quite high priority to me.
But from longer perspective, the archive would be awesome to have - but only a
minimalistic one for simple use cases. Not spend too much time on doing it too
sophisticated, because this is not a primary goal of a board (think of a
physical board Kanbanik is emulating).
== About the time tracking ==
I was thinking of implementing the Event Sourcing pattern to do this task
(http://martinfowler.com/eaaDev/EventSourcing.html). It would be great because
as a result we could mine any information from this including:
- restore the state of the board to any state in past
- play back from that state like a movie
- do any kind of statistics not only defined by Kanbanik even between columns
which don't exist any more
- start doing statistics on entities which started to exists after some update
(e.g. on some marks on tasks like "blocked" which are not yet there)
etc etc.
We could even generate the archive from this collection of events! I would say
that this is the answer on how to implement the archive.
== "Conclusion" ==
But lets get back to the ground and face the facts. I'm still doing this alone
in my spare time which is limited. Implementing event sourcing with parsing the
events to archive list and statistics etc would be really cool to implement,
but Kanbanik still misses couple of pretty boring but necessary features which
all Kanban board should have:
- API (!!!!)
- marks (or tags) on tasks
- some intelligent way how to align your boards view if you have more than one
board
- handy features like "ctrl + click" and than delete or move this batch of tasks
- server push of events (like task moved by one user and all will see it
instantly)
- and I'm not even mentioning the tasks currently under development (and close
to done) like editable task type, user picture, fixed delivery date with some
useful visualization etc.
So, I think that the key is the API and the boring tasks I mentioned. API can
be than used both to archive tasks (to some issue tracker or even to excel
sheet) or do statistics from them and the boring tasks will make the user
experience good enough to motivate the user to write the scripts.
But this are only my current thoughts and they are changing ~once a month :)
Sorry for writing this unusual blog post like comment. What do you think?
Original comment by jelkosz@gmail.com
on 7 Jun 2013 at 7:04
I think the API idea is definitely the best solution to archiving. I'm looking
forward to that (not too much forward to hacking our mantis to connect it).
The time tracking idea with Event Sourcing seems really neat!
But I see that there is also a lot of other stuff to do... We should clone you
;)
Original comment by fredroth...@gmail.com
on 17 Jun 2013 at 6:25
Original issue reported on code.google.com by
fredroth...@gmail.com
on 3 Jun 2013 at 7:30