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.
Comments
Features and concepts based? Do you want more than sth Caliburn?
Current management UI is great but you decided to rewrite it? Hmmm...
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.
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 . . .
Wyatt, Certianly, I would be very happy to accept a pull request.
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.
Adam, you can actually use RavenDB and LinqPad with no issues
Touché.
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?
Jeff, See this: https://twitter.com/#!/solevangelist/status/121240938067660801
+1 on Wyatt comment. Specially now with the announcement of win8 metro ie plugins free.
Comment preview