Tentative roadmap for bzr web interfaces

Jonathan Lange jml at mumak.net
Thu Apr 24 07:57:52 BST 2008


On Thu, Apr 24, 2008 at 1:49 PM, Martin Albisetti <argentina at gmail.com> wrote:
> Hello  :)
>

Hi Martin,

>  I *might* be getting a big chunk of free/extra time for the following
>  months, and after discussing it a bit with poolie, we agreed that it
>  might be best invested into working on a bzr web interface (mainly,
>  loggerhead).

I really hope this happens. I'd really like loggerhead to get better.

>  So, I tried and put together what my plan was, and see what other people think.
>
>  == Web Interface ==
>  The first thing I'd like to do is to develop an independent web
>  interface, that can be plugged on top of any backend (loggerhead, php,
>  integrated into bzr, webserve, etc), using standard json and a nice
>  AJAX frontend which can fetch information asynchronously, and possibly
>  cache some of the information client-side to speed up expensive
>  operations and minimize server usage.
>

I'm curious as to why you want to do this, and why you want to do it first.

What are the benefits of such an interface over simply improving Loggerhead?

>  I'd also like to add more ways to view logs, like a tree view which
>  shows merges in a better way, with option expansion of each piece of
>  information (commit message, files changes, parents, committer, etc).
>

Robert had some rather good ideas on this in an earlier mailing list
thread "loggerhead navigation".[1]

>  This interface should reflect much more information on the state of
>  the repository itself (info, status), and I'd like to make it flexible
>  enough to be able to make use of some plugins, like stats, which would
>  look really nice on a web interface  :)
>

Looms are another thing that would benefit from a top-notch web interface.

>  Another feature I'd like to put in is exporting plain HTML output, to
>  be able to use, well, with whatever people need it for, but
>  integrating into some current software sounds like a probable one.
>  I'd like to aim at a really good modular web interface, that can be
>  later on used for any backend, and expanded by plugins which provide
>  more/better information.
>

Plugins for the win.

Exporting plain HTML isn't something I think I've heard anyone want.
Certainly it would be good for the UI to work without Javascript.

This reminds me: the web UI should make it really easy to point random
people at files. I've often used Launchpad's loggerhead as an easy way
to show people a nifty thing that bzrlib or Twisted does that they
should copy. It's unfortunate that loggerhead makes these URLs
cumbersome.

>  == Make installing easy ==
>  Currently, installing loggerhead is a real pain, and there are quite a
>  few hoops to jump through.
>  I haven't looked into it, but it might be worth making it not depend
>  explicitly on python 2.4 (I'm not sure why it does, maybe Michael can
>  shed some light on this), and build a deb for it.
>  It might get more people using it, consequently more chances of
>  getting contributors.
>

I personally think that this should be the first thing anyone fixes.
Hard install means no users means no developers means no improvements.

>  Another important step, and we discussed this at the sprint, is having
>  a lightweight http server integrated into the bzr core, so I'd like to
>  look into different existing options and evaluate what it would take.
>

Well, we already have a light-weight HTTP server. It's used in tests
for the HTTP transport, among other things.

Do you mean a light-weight webapp? If so, the interesting thing isn't
so much the HTTP server as the templating toolkit.

>  == Integrating the new Interface ==
>  Loggerhead will need quite a lot of work to use the new interface, so
>  a big chunk of time will have to be spent re-working bits of the
>  backend.

Or you could derive your interface from the code in Loggerhead,
incrementally improving and extracting Loggerhead's code until you
have what you want.

Let me say again that I am very glad that you are looking into this. I
can't wait to see the results.

jml

[1] http://article.gmane.org/gmane.comp.version-control.bazaar-ng.general/38402/match=loggerhead+navigation



More information about the bazaar mailing list