Ayende @ Rahien

Refunds available at head office

Small touches: Complex text in RavenDB

This is what we call a “mini feature”, something that you’ll probably not notice unless pointed out to you. Often, we want to store documents that contain multi line strings properties. JSON has a very simple way to handle that:

image

And it works, and if the text is small, it is even readable. But it isn’t really working on anything even remotely complex or long. So we have worked to fix that:

image

Now you can actually read this much more easily. We run into this when we look at stack trace information, where without line breaks, it is nearly impossible to see what is going on.

Tags:

Posted By: Ayende Rahien

Published at

Originally posted at

Comments

Daniel Häfele
07/28/2014 09:48 AM by
Daniel Häfele

This is so simple, but extremly usefull.

I like what I see of RavenDB 3.

Itamar Syn=Hershko
07/28/2014 10:41 AM by
Itamar Syn=Hershko

This is not a "mini-feature". This is a usability feature. There's a huge difference.

khalid abuhakmeh
07/28/2014 11:54 AM by
khalid abuhakmeh

I think I'd rather see it how I stored it with all the newlines and tabs. It can help me identify quickly issues with text, where as this "feature" could make that more difficult. Maybe a toggle between both views would help more.

Ayende Rahien
07/28/2014 12:01 PM by
Ayende Rahien

Khalid, This is a presentation only feature, it only impact how you see things, it doesn't change anything in the way the data is stored.

Jahmai Lay
07/28/2014 01:33 PM by
Jahmai Lay

Does it always do \r\n, or does it support reading/writing just \n too?

Ayende Rahien
07/28/2014 01:54 PM by
Ayende Rahien

Jahmai, We will read \n, but we'll always write \r\n.

Troy
07/28/2014 10:00 PM by
Troy

I can see @Khalid's point and can see the benefit of a toggle view as well.

Koen
07/29/2014 07:20 AM by
Koen

+1 for a toggle switch. Sometimes you want to know the exact characters in place...

mike
07/29/2014 08:55 PM by
mike

This probably indicates other problems, but consider a document that contains stringified JSON as one of its properties. i.e. { "requestId": "1234", "requestBody": "{\"foo\":\"bar\",\r\n\"fizz\":\"buzz\"}" } I'm going to get confused! +1 for toggle.

I actually kind of like the way Visual Studio does it in watch windows. Normally you see the encoded text, but you click that little magnifying glass to see it with actual line breaks.

herry
07/30/2014 12:03 AM by
herry

+1 for toggle view

Ayende Rahien
07/30/2014 07:17 AM by
Ayende Rahien

Troy & Koen, There is a toggle for that, sure.

Comments have been closed on this topic.