[NCBC-204] JSON extension methods not listed in API references Created: 15/Jan/13  Updated: 13/Jan/14

Status: Reopened
Project: Couchbase .NET client library
Component/s: docs
Affects Version/s: 1.2.0
Fix Version/s: backlog-1.0

Type: Bug Priority: Major
Reporter: Perry Krug Assignee: Jeff Morris
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
Couldn't find docs around the JSON extension methods listed here:
https://www.couchbase.com/docs/couchbase-sdk-net-1.2/jsonextensions.html

 Comments   
Comment by John Zablocki (Inactive) [ 15/Jan/13 ]
Are you asking for these methods to be included in the API methods along with ExecuteStore, ExecuteGet, etc? Extension methods technically aren't API methods and aren't part of the ICouchbaseClient interface.
Comment by Perry Krug [ 15/Jan/13 ]
Yes, that was what I was asking for. I'm not sure I understand why there are so many different methods for store/get, but since we are recommending customers to store their data as JSON I would assume that these are "first class citizens" and should be documented along with the other methods we support...no?
Comment by John Zablocki (Inactive) [ 15/Jan/13 ]
The JSON extension methods are "opinionated" in that they force you to use JSON.NET for serialization and the default serializer settings that I've included. I don't know that we should recommend these extensions as the "best" option, but rather "an" option. If a user is content to rely on these basic methods, then they would be sufficient. However, there are many users who will prefer other JSON serializers or other class-to-document mapping rules. So rather than attempt to address all JSON concerns with the API, these are convenience methods, which is why they're extension methods. Extension methods in .NET allow a user to treat method like a class method, even though it's not defined in an object's interface.
Comment by Perry Krug [ 15/Jan/13 ]
Thanks for the clarification John.

Can we provide guidance or examples on how to use JSON more generically?
Comment by John Zablocki (Inactive) [ 15/Jan/13 ]
I think that's reasonable. When I update the jsonextensions.html page, I'll try to add "Here's what to do if you don't want to use JSON extensions..."
Comment by Perry Krug [ 15/Jan/13 ]
Thanks John, and will that then link to a piece of our "formal" documentation and API reference?
Comment by John Zablocki (Inactive) [ 17/May/13 ]
http://www.couchbase.com/docs/couchbase-sdk-net-1.2/couchbase-sdk-net-json.html
Comment by Perry Krug [ 18/May/13 ]
Just as a quick re-open...could we link this from the home page of /develop/net/current as well?
Generated at Sat Jul 12 01:49:53 CDT 2014 using JIRA 5.2.4#845-sha1:c9f4cc41abe72fb236945343a1f485c2c844dac9.