zim-wiki team mailing list archive
Mailing list archive
Plan for the future - python experiment
As some of you will have noticed there is a lot of activity on the bug
tracker the last few weeks. This is good because it means we have a
growing active user base. This is motivating to keep working on zim
and improve it even more. However, as less of you will have noticed,
there was no activity in the code repository over the same period. The
reason is that, as an experimenting, I have been rewriting some of the
zim libraries in python.
The reasons that I started this experiment are many. But the main
concern is that I believe that the current Perl based code starts to
become more difficult to maintain. This is due to the limited
object-oriented framework on the one side, and on the other side
because the community of people working on GUI programs in Perl is
much smaller than it is for Python. And by forcing a full rewrite I
can remove a couple of design problems from the current code and
incorporate all lessons learned from the first incarnation.
So far I'm very happy with the result of two weeks of python hacking.
And I think I will continue with this, at least finishing the core
libraries to implement a full www interface to zim notebooks. If all
goes quickly enough, I will start adding the GUI code as well. So far
only doing the backend, so no GUI included. However I did include a
proof-of-concept web server for zim notes (read-only). I uploaded this
code yesterday, so if your interested have a look at:
So what is going to happen with the current code? I plan to do one
more release of the Perl version to fix the SVN support which I
promised several people. In the same release I will pick up as many
small bugs from the bug tracker as I can fix in one day. After that
there will probably be not be a new release for a couple of months
while I work on the python implementation. I do not intend to target
new features in the coming ~3months. After that period I will evaluate
again which code base is the most healthy and work from there.
My hope is that in the long term this re-write will make the code more
maintainable and easier to access for other developers and make
development cycles for new features shorter.