Ayende @ Rahien

My name is Oren Eini
Founder of Hibernating Rhinos LTD and RavenDB.
You can reach me by phone or email:


+972 52-548-6969

, @ Q c

Posts: 6,125 | Comments: 45,492

filter by tags archive

Spiking RavenDB Management Studio: Design decisions

time to read 2 min | 283 words

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.



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


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

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.


"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

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

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

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

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


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

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

John Simons

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

Comment preview

Comments have been closed on this topic.


  1. RavenDB 3.5 whirl wind tour: I'll have the 3+1 goodies to go, please - 3 days from now
  2. The design of RavenDB 4.0: Voron has a one track mind - 4 days from now
  3. RavenDB 3.5 whirl wind tour: Digging deep into the internals - 5 days from now
  4. The design of RavenDB 4.0: Separation of indexes and documents - 6 days from now
  5. RavenDB 3.5 whirl wind tour: Deeper insights to indexing - 7 days from now

And 10 more posts are pending...

There are posts all the way to May 30, 2016


  1. The design of RavenDB 4.0 (14):
    05 May 2016 - Physically segregating collections
  2. RavenDB 3.5 whirl wind tour (14):
    04 May 2016 - I’ll find who is taking my I/O bandwidth and they SHALL pay
  3. Tasks for the new comer (2):
    15 Apr 2016 - Quartz.NET with RavenDB
  4. Code through the looking glass (5):
    18 Mar 2016 - And a linear search to rule them
  5. Find the bug (8):
    29 Feb 2016 - When you can't rely on your own identity
View all series


Main feed Feed Stats
Comments feed   Comments Feed Stats