Ayende @ Rahien

It's a girl

Spiking RavenDB Management Studio: Design decisions

We got a lot of compliments in RavenDB over our management UI, which is only fair, we invested a lot of time and money in it. We also got a fair amount of bug reports about it.

That is fair, as well, it has got its problems. The major one among them is that what I thought we wanted and what we actually need are two very different things. I wanted something that could do a lot, would be very dynamic, support extensions and plugins, do… you get the idea.

In practice, we never use any of those things, and supporting them cost us a lot in terms of complexity and performance. So I decided to spike a complete reboot of the RavenDB Management Studio UI.

The goals are to create an architecture with the following properties:

  • Stupid, stupid, stupid! I don’t do UI very well, so the architecture should be there to support me (and others) when we want to modify / play with things.
  • Blind monkey should be able to contribute code!
  • Big Refresh button on the screen that would refresh everything on the screen.
  • No caching of views (currently a big problems for us)

The basic idea is that we want to make it very easy for users to contribute code / fixes. That can only happen if we are actually working hard to make sure that this is the case, I am going to post more stuff about the actual design decisions relating to this.

This means that we need strong conventions support. It means that the architecture should be obvious enough that non expert users should be able to get into it very rapidly.

Tags:

Posted By: Ayende Rahien

Published at

Originally posted at

Comments

Scooletz
10/06/2011 11:08 AM by
Scooletz

Features and concepts based? Do you want more than sth Caliburn?

Rafal
10/06/2011 12:05 PM by
Rafal

Current management UI is great but you decided to rewrite it? Hmmm...

Brian Vallelunga
10/06/2011 12:16 PM by
Brian Vallelunga

I always thought that adding Silverlight Deep Zoom functionality as a way to explore the documents would be awesome. Either that or a Cushion Treemap view to visualize which documents/indexes take up the relative space in the DB. These would be a fun side project, but obviously not a high priority.

tobi
10/06/2011 01:05 PM by
tobi

"This means that we need strong conventions support" Well, this implies that the architecture is NOT obvious as new coders need to learn the relevant conventions first. They will wonder why nothing happens if the miss the special naming conventions for example.

Wyatt Barnett
10/06/2011 02:31 PM by
Wyatt Barnett

Any chance of getting an admin tool that doesn't require silverlight? Extra dependencies are a bit of a nightmare when you are diving into production at 2am and sliverlight isn't on that server yet . . .

Ayende Rahien
10/06/2011 04:35 PM by
Ayende Rahien

Wyatt, Certianly, I would be very happy to accept a pull request.

Adam Hill
10/06/2011 09:10 PM by
Adam Hill

I would like some LinqPad love. Just the ability to play with documents and get some simple Intellisense on their structure for LINQ queries would go a long way for me.

Ayende Rahien
10/06/2011 10:52 PM by
Ayende Rahien

Adam, you can actually use RavenDB and LinqPad with no issues

Jeff
10/07/2011 04:08 PM by
Jeff

Ayende, a quick search on using LinqPad to RavenDB did not provide much. Can you provide some insight how to set up LINQPad for RavenDB?

Ayende Rahien
10/09/2011 04:53 AM by
Ayende Rahien

Jeff, See this: https://twitter.com/#!/solevangelist/status/121240938067660801

John Simons
10/10/2011 12:13 AM by
John Simons

+1 on Wyatt comment. Specially now with the announcement of win8 metro ie plugins free.

Comments have been closed on this topic.