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