Account Options

  1. Sign in
The old Google Groups will be going away soon, but your browser is incompatible with the new version.
Google Groups Home
« Groups Home
The Breaking Changes Wishlist for 1.2
There are currently too many topics in this group that display first. To make this topic appear first, remove this option from another topic.
There was an error processing your request. Please try again.
flag
  Messages 26 - 50 of 74 - Collapse all  -  Translate all to Translated (View all originals) < Older  Newer >
The group you are posting to is a Usenet group. Messages posted to this group will make your email address visible to anyone on the Internet.
Your reply message has not been sent.
Your post was successful
 
From:
To:
Cc:
Followup To:
Add Cc | Add Followup-to | Edit Subject
Subject:
Validation:
For verification purposes please type the characters you see in the picture below or the numbers you hear by clicking the accessibility icon. Listen and type the numbers you hear
 
Oren Eini (Ayende Rahien)  
View profile  
 More options Apr 15 2012, 7:49 am
From: "Oren Eini (Ayende Rahien)" <aye...@ayende.com>
Date: Sun, 15 Apr 2012 14:49:06 +0300
Local: Sun, Apr 15 2012 7:49 am
Subject: Re: [RavenDB] Re: The Breaking Changes Wishlist for 1.2

Yeah, I am not really sure that I want to _do_ that.

On Sun, Apr 15, 2012 at 2:47 PM, Itamar Syn-Hershko <


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Itamar Syn-Hershko  
View profile  
 More options Apr 15 2012, 7:51 am
From: Itamar Syn-Hershko <ita...@hibernatingrhinos.com>
Date: Sun, 15 Apr 2012 14:51:46 +0300
Local: Sun, Apr 15 2012 7:51 am
Subject: Re: [RavenDB] Re: The Breaking Changes Wishlist for 1.2

Ok, the other alternative is to lazy load JSON.NET, maybe dynamically..

Why can't this be resolved with assembly redirects, btw?

On Sun, Apr 15, 2012 at 2:49 PM, Oren Eini (Ayende Rahien) <


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Oren Eini (Ayende Rahien)  
View profile  
 More options Apr 15 2012, 7:57 am
From: "Oren Eini (Ayende Rahien)" <aye...@ayende.com>
Date: Sun, 15 Apr 2012 14:57:21 +0300
Local: Sun, Apr 15 2012 7:57 am
Subject: Re: [RavenDB] Re: The Breaking Changes Wishlist for 1.2

One of the things that drive me crazy right now with json.net is that he
adds abstract methods to things like JsonReader, which means that even with
assembly redirect, you would get MethondNotFoundException

On Sun, Apr 15, 2012 at 2:51 PM, Itamar Syn-Hershko <


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Matt Warren  
View profile  
 More options Apr 15 2012, 8:28 am
From: Matt Warren <mattd...@gmail.com>
Date: Sun, 15 Apr 2012 05:28:21 -0700 (PDT)
Local: Sun, Apr 15 2012 8:28 am
Subject: Re: The Breaking Changes Wishlist for 1.2

Can you embedded the relevant dll into a RavenDB dll as a resource and then
use the technique here<http://blogs.msdn.com/microsoft_press/archive/2010/02/03/jeffrey-rich...>
?

I've used the before to make sure different version of a dll is used under
XP compared to Vista.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Oren Eini (Ayende Rahien)  
View profile  
 More options Apr 15 2012, 8:34 am
From: "Oren Eini (Ayende Rahien)" <aye...@ayende.com>
Date: Sun, 15 Apr 2012 15:34:57 +0300
Local: Sun, Apr 15 2012 8:34 am
Subject: Re: [RavenDB] Re: The Breaking Changes Wishlist for 1.2

I can, sort of, but that is just another way to do interning, and I am not
sure that I want to go there, anyway.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Damian Hickey  
View profile  
 More options Apr 15 2012, 9:29 am
From: Damian Hickey <dhic...@gmail.com>
Date: Sun, 15 Apr 2012 06:29:10 -0700 (PDT)
Local: Sun, Apr 15 2012 9:29 am
Subject: Re: [RavenDB] Re: The Breaking Changes Wishlist for 1.2

I was going to bring up this exact topic. I've been considering the
remaining dependencies and references when one references the
RavenDB.Client & RavenDB.Embedded packages. Currently focusing on logging
right now.

I think this is the only direction you can go... You can't ILMerge
/internalize because types are exported via Raven.Abstractions etc and the
user will end up with namespace collisions and type ambiguity.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Damian Hickey  
View profile  
 More options Apr 15 2012, 9:31 am
From: Damian Hickey <dhic...@gmail.com>
Date: Sun, 15 Apr 2012 06:31:00 -0700 (PDT)
Subject: Re: The Breaking Changes Wishlist for 1.2

This approach only recommend for .exes and not .dlls.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Damian Hickey  
View profile  
 More options Apr 15 2012, 9:39 am
From: Damian Hickey <dhic...@gmail.com>
Date: Sun, 15 Apr 2012 06:39:02 -0700 (PDT)
Local: Sun, Apr 15 2012 9:39 am
Subject: Re: [RavenDB] Re: The Breaking Changes Wishlist for 1.2

I've taken a similar approach with the logging abstraction but that is a
simple interface.

> assembly redirects

A fragile hack, imho, which can (often) result in runtime exceptions.
Json.Net is such a critical part of Raven, if it were up to me, I wouldn't
want to rely on that and the support issues that can (and will) arise from
that.

Unless your CI runs your tests against all published versions of JSON.net.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Oren Eini (Ayende Rahien)  
View profile  
 More options Apr 15 2012, 9:41 am
From: "Oren Eini (Ayende Rahien)" <aye...@ayende.com>
Date: Sun, 15 Apr 2012 16:41:37 +0300
Local: Sun, Apr 15 2012 9:41 am
Subject: Re: [RavenDB] Re: The Breaking Changes Wishlist for 1.2

Damian,
JSON.Net is actually pretty much use everywhere inside RavenDB.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
alwin  
View profile  
 More options Apr 15 2012, 10:01 am
From: alwin <alw...@gmail.com>
Date: Sun, 15 Apr 2012 07:01:52 -0700 (PDT)
Local: Sun, Apr 15 2012 10:01 am
Subject: Re: The Breaking Changes Wishlist for 1.2
OK I will try this out again.
Couple of months ago I had to create a static index with sort order,
because a dynamic index OrderBy would always sort alphabetically.
It is great if this has been fixed since then!

On Apr 14, 12:33 pm, "Oren Eini (Ayende Rahien)" <aye...@ayende.com>
wrote:


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Damian Hickey  
View profile  
 More options Apr 15 2012, 10:02 am
From: Damian Hickey <dhic...@gmail.com>
Date: Sun, 15 Apr 2012 07:02:00 -0700 (PDT)
Subject: Re: [RavenDB] Re: The Breaking Changes Wishlist for 1.2

I've recently added a comment regarding this on RavenDB-178.

I am of the opinion that true semver is a fallacy on .net. Just about every
change is potentially a breaking one. And then include internal behaviour
that can break, even if API doesn't change. There isn't the tooling in .net
to easily detect and catch these breaks. Perhaps with NDepend, but not
widely used.

At this point I think your options are:

A) Rely on json.net semantic versioning and depend on patch range, but also
set up CI configuration to build against all published versions within this
patch range. This reduces friction for customers but only until the next
minor release of json.net. It's pragmatic because you will catch
inadvertent breaking changes before your customers (and support line) does.

B) Import the json.net code base and re-namespace. Opens up the possibility
of incompatibility between serializers. I can't say how big a prob that
could end up being. Off the top of my head, ServiceStack took this approach
with it's FluentValidation dependency.

It's a difficult problem. I too would love any betters idees.

Fyi, my experience in this area is a software product that has dependency
on 60+ oss packages and counting (not all in one project obviously) and I'm
experiencing this 'diamond' dependency pain on a near daily basis. Thus, my
recent contributions to Raven's packaging, dependency and deployment story.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Damian Hickey  
View profile  
 More options Apr 15 2012, 10:06 am
From: Damian Hickey <dhic...@gmail.com>
Date: Sun, 15 Apr 2012 15:06:04 +0100
Local: Sun, Apr 15 2012 10:06 am
Subject: Re: [RavenDB] Re: The Breaking Changes Wishlist for 1.2

Oren,

>Json.Net is such a critical part of Raven

I know! :)

On 15 April 2012 14:41, Oren Eini (Ayende Rahien) <aye...@ayende.com> wrote:


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Matt Johnson  
View profile  
 More options Apr 15 2012, 1:17 pm
From: Matt Johnson <mj1...@hotmail.com>
Date: Sun, 15 Apr 2012 10:17:12 -0700 (PDT)
Local: Sun, Apr 15 2012 1:17 pm
Subject: Re: The Breaking Changes Wishlist for 1.2

> I meant, for indexing purposes, we would index the UTC time, and search on
> UTC time.
> We would save the _document_ as local time.

YES - that would work very well.  I would make the following
assumptions:

If I store a DateTime without an offset such as "2012-04-15T10:00:00"
that it would be saved and indexed without any conversion.

If I store a DateTimeOffset such as "2012-04-15T10:00:00-07:00" that
it would be saved in the document without conversion, but would be
indexed as UTC "2012-04-15T17:00:00Z".

When I query an index by a DateTimeOffset, that the query engine would
adjust input parameters to UTC before comparing against the index, so
I don't have to think too much about what's happening behind the
scenes.

That all of this would depend on something like
Indexing.SortOptions.DateTimeOffset, which would be the default when
using this datatype.

> What is the meaning on sorting on different times in different time zones?

This is how it ends up working today due to the lexicographical sort.
The only use case is when you want the search to be ignorant of the
timezone. There aren't very many scenarios that require that.  The
other method would be much better.  If the SortOptions is selectable,
this behavior could still be used if SortOptions.String was selected
instead.

-Matt


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Damian Hickey  
View profile  
 More options Apr 15 2012, 3:53 pm
From: Damian Hickey <dhic...@gmail.com>
Date: Sun, 15 Apr 2012 12:53:50 -0700 (PDT)
Local: Sun, Apr 15 2012 3:53 pm
Subject: Re: The Breaking Changes Wishlist for 1.2

Possible idea?

Pseudo script:

   1. ildasm /out=NewtonSoft.Json.il NewtonSoft.Json.dll
   2. Find-Replace NewtonSoft.Json.il 'NewtonSoft.Json' 'Raven.Json'
   3. ilasm /out=Raven.Json.dll /dll NewtonSoft.Json.il

Just did this manually and it appears Raven.Json.dll turned out ok when
browsed in ILSpy and referenced in a csproj.

Could be feasible if you never need to fork NewtonSoft.Json?


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Oren Eini (Ayende Rahien)  
View profile  
 More options Apr 16 2012, 2:02 am
From: "Oren Eini (Ayende Rahien)" <aye...@ayende.com>
Date: Mon, 16 Apr 2012 09:02:31 +0300
Local: Mon, Apr 16 2012 2:02 am
Subject: Re: [RavenDB] Re: The Breaking Changes Wishlist for 1.2

Yeah, I am not sure how much I like it, but yeah, we might just end up
doing this.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Tobi  
View profile  
 More options Apr 16 2012, 2:55 am
From: Tobi <listacco...@e-tobi.net>
Date: Mon, 16 Apr 2012 08:55:29 +0200
Local: Mon, Apr 16 2012 2:55 am
Subject: Re: [RavenDB] Re: The Breaking Changes Wishlist for 1.2
Wouldn't this terribly break the debugging symbols?

Why not just take the Newtonsoft.Json source, replace the namespaces with
a script and add the changed source to RavenDB. On the next
Newtonsoft.Json release just run the same script on the new sources.

It might even be feasible to maintain a fork from https://github.com
/JamesNK/Newtonsoft.Json. Possible merge conflicts shouldn't be to hard to
resolve if only the namespaces are changed.

On 16.04.2012 08:02, Oren Eini (Ayende Rahien) wrote:


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Damian Hickey  
View profile  
 More options Apr 16 2012, 4:37 am
From: Damian Hickey <dhic...@gmail.com>
Date: Mon, 16 Apr 2012 01:37:38 -0700 (PDT)
Local: Mon, Apr 16 2012 4:37 am
Subject: Re: [RavenDB] Re: The Breaking Changes Wishlist for 1.2

This is just basically IL rewriting. Other IL rewriters
(ccrewrite/ilmerge/etc) seem to handle pdbs just fine.

I actually spiked out your approach first (see
https://github.com/damianh/Newtonsoft.Json/tree/Ravenize ) and while it
sorta worked, there are some items that will bump the maintenance cost of
doing so such as merging (as you mentioned), edge cases in string literals
(InternalsVisibleTo, DynamicWrapper.cs), strong names, and ensuring that
the tests pass. That was just what I encountered last night.

What appealed to me about the IL rewrite approach is that you're taking a
released and tested assembly and just re-namespacing. It simpler
maintenance wise, but it could be deceptive and broken in actual usage.

The third approach is to import the json.net code base, including tests,
into the Raven repo and create a script to periodically synchronize
changes.

I don't yet know which is the better approach. Each one has advantages and
trade-offs. Further exploration required.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Oren Eini (Ayende Rahien)  
View profile  
 More options Apr 16 2012, 4:43 am
From: "Oren Eini (Ayende Rahien)" <aye...@ayende.com>
Date: Mon, 16 Apr 2012 11:43:52 +0300
Local: Mon, Apr 16 2012 4:43 am
Subject: Re: [RavenDB] Re: The Breaking Changes Wishlist for 1.2

Right now we are testing if we can just import the code using git subtree
and that would work.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Damian Hickey  
View profile  
 More options Apr 16 2012, 6:28 am
From: Damian Hickey <dhic...@gmail.com>
Date: Mon, 16 Apr 2012 03:28:22 -0700 (PDT)
Local: Mon, Apr 16 2012 6:28 am
Subject: Re: [RavenDB] Re: The Breaking Changes Wishlist for 1.2

That'll should allow you to import the source all right. I'm very
interested to see how you maintain the namespace and related changes on top
of that. (I'm presuming you'll still need to maintain some sort of fork.)

I might flesh out my idea a bit more, as a matter of personal interest.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Oren Eini (Ayende Rahien)  
View profile  
 More options Apr 16 2012, 6:34 am
From: "Oren Eini (Ayende Rahien)" <aye...@ayende.com>
Date: Mon, 16 Apr 2012 13:34:00 +0300
Subject: Re: [RavenDB] Re: The Breaking Changes Wishlist for 1.2

It is a "fork", in the ravendb repository.
We modify the namespace and see if we can actually make this work. merging
shouldn't be an issue, I think.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Fitzchak Yitzchaki  
View profile  
 More options Apr 16 2012, 6:46 am
From: Fitzchak Yitzchaki <fitzc...@hibernatingrhinos.com>
Date: Mon, 16 Apr 2012 13:46:23 +0300
Local: Mon, Apr 16 2012 6:46 am
Subject: Re: [RavenDB] Re: The Breaking Changes Wishlist for 1.2

You can look on the current form of the code on my fork:
https://github.com/fitzchak/ravendb


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Damian Hickey  
View profile  
 More options Apr 16 2012, 12:23 pm
From: Damian Hickey <dhic...@gmail.com>
Date: Mon, 16 Apr 2012 09:23:21 -0700 (PDT)
Local: Mon, Apr 16 2012 12:23 pm
Subject: Re: [RavenDB] Re: The Breaking Changes Wishlist for 1.2

Nice. I did a powershell script to alter the assembly with cecil (nothing
new there) but this would be could be better in long run, especially with
respect to debugging.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Fitzchak Yitzchaki  
View profile  
 More options Apr 17 2012, 8:24 am
From: Fitzchak Yitzchaki <fitzc...@hibernatingrhinos.com>
Date: Tue, 17 Apr 2012 15:24:04 +0300
Local: Tues, Apr 17 2012 8:24 am
Subject: Re: [RavenDB] Re: The Breaking Changes Wishlist for 1.2

James (the creator of Json.NET) points out the internaling the Json.NET
code will result in the following breaking change:
Any reference to JsonIgnore, JsonProperty, JsonConvert, JsonObject,
JsonArray attributes (and maybe more) would break and the user will be
required to use the internal namespace of this attributes. (Which will be
like Raven.Internal.Newtonsoft.Json).

Well this is a breaking change, which we didn't took into account
initially. What do you think about it?


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Itamar Syn-Hershko  
View profile  
 More options Apr 17 2012, 8:26 am
From: Itamar Syn-Hershko <ita...@hibernatingrhinos.com>
Date: Tue, 17 Apr 2012 15:26:16 +0300
Local: Tues, Apr 17 2012 8:26 am
Subject: Re: [RavenDB] Re: The Breaking Changes Wishlist for 1.2

Why does the internaling process have to involve changing the namespace?

We can compile the sources using their original namespaces into Raven.Json,
which in turn has its own wrappers around it, which we use. The change will
be transparent.

On Tue, Apr 17, 2012 at 3:24 PM, Fitzchak Yitzchaki <


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Tom Cabanski  
View profile  
 More options Apr 17 2012, 8:36 am
From: Tom Cabanski <t...@cabanski.com>
Date: Tue, 17 Apr 2012 07:36:50 -0500
Local: Tues, Apr 17 2012 8:36 am
Subject: Re: [RavenDB] Re: The Breaking Changes Wishlist for 1.2

This kind of breaking change would cause all sorts of problems.  I really
think you are better off leaving external references external as a general
rule.

Tom Cabanski
Blinds.com
832-766-5961*
*
My profiles:  <http://www.facebook.com/profile.php?id=100000173096948>
Facebook <http://www.facebook.com/profile.php?id=100000173096948>
<http://www.linkedin.com/in/tomcabanski>
LinkedIn<http://www.linkedin.com/in/tomcabanski>
Contact me: [image: Google Talk] t...@cabanski.com [image:
Skype]tom.cabanski [image:
MSN] t...@cabanski.com
Latest Blog Post: Top Ten Reasons to Avoid Taking Advanced Distributed
System Design with Udi
Dahan<http://tom.cabanski.com/2012/02/09/top-ten-reasons-to-avoid-taking-ad...>
 [image: Twitter] <http://twitter.com/tcabanski> Latest tweet: What does a
duct tape programmer do when the duct tape runs out?
Follow @tcabanski <http://twitter.com/tcabanski> Reply
<http://twitter.com/?status=@tcabanski%20&in_reply_to_status_id=192069...>
Retweet
<http://twitter.com/?status=RT%20%40tcabanski%3A%20What%20does%20a%20d...>
 21:00 Apr-16<http://twitter.com/tcabanski/statuses/192069893502410752>
  Get this email app!
<http://www.wisestamp.com/apps/twitter?utm_source=extension&utm_medium...>

On Tue, Apr 17, 2012 at 7:24 AM, Fitzchak Yitzchaki <


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Messages 26 - 50 of 74 < Older  Newer >
« Back to Discussions « Newer topic     Older topic »