https://issues.apache.org/jira/browse/CB-1183
On Thu, Aug 2, 2012 at 1:14 PM, Jesse <[email protected]> wrote: > I will fix this in WP7 exec. > I will NOT be including the 300kb dll for JSON.net > > > On Thu, Aug 2, 2012 at 12:16 PM, Andrew Grieve <[email protected]>wrote: > >> Yeah, agree that putting the work-around in WP7's exec would be the best >> thing here and that long param lists are annoying. :P >> >> >> On Mon, Jul 30, 2012 at 3:12 PM, Jesse <[email protected]> wrote: >> >> > Size becomes the issue. The JSON lib is bigger than the Cordova >> framework >> > itself. In my mind the workaround is relatively simple, just other >> platform >> > APIs definers must be aware of it. >> > >> > Discussion of adding the lib [1] >> > Discussion of the issue on WP7 [2] >> > JSON.net lib [3] >> > >> > [1] https://issues.apache.org/jira/browse/CB-938 >> > [2] https://issues.apache.org/jira/browse/CB-668 >> > [3] http://json.codeplex.com/ >> > >> > >> > On Mon, Jul 30, 2012 at 11:45 AM, Shazron <[email protected]> wrote: >> > >> > > What about including a better JSON lib than the included one? Will >> > > that be a problem? >> > > >> > > On Fri, Jul 27, 2012 at 6:11 PM, Jesse <[email protected]> >> wrote: >> > > > Windows 8, WP8 at least >> > > > .net only supports basic JSON serialization without the inclusion of >> > > > the 300KB JSON.net lib. >> > > > >> > > > >> > > > >> > > > On Fri, Jul 27, 2012 at 6:05 PM, Shazron Abdullah < >> [email protected]> >> > > wrote: >> > > >> Thanks Jesse - seems like a doc issue we need to write for cross >> > > >> platform plugins. Would you know if this is a concern for other >> > > >> platforms as well besides WP7? >> > > >> >> > > >> On 2012-07-27, at 6:00 PM, Jesse <[email protected]> wrote: >> > > >> >> > > >>> Okay, that all looks/sounds fine. >> > > >>> However, we have to be careful not to encourage passing multiple >> > > >>> objects in the array, in addition to multiple different object >> types. >> > > >>> We should continue to strive to make sure that everything outside >> of >> > > >>> exec is portable, so even though in iOS, exec can receive args of >> > > >>> [{name:value}, {name:value}] the JS calling code will NOT be >> > portable. >> > > >>> >> > > >>> I worry (just a little) we are opening a door we may have to close >> > > later. >> > > >>> >> > > >>> >> > > >>> >> > > >>> >> > > >>> >> > > >>> On Fri, Jul 27, 2012 at 5:37 PM, Shazron <[email protected]> >> wrote: >> > > >>>> These changes transfer the decision that was done in JS to the >> > > Objective-C side. >> > > >>>> The arguments are passed in as-is, if an object is passed in as >> an >> > > >>>> array element, it is converted to a NSDictionary in objective-C. >> So >> > if >> > > >>>> you use the new plugin signature, you can pass in as many >> objects as >> > > >>>> you want to the plugin method, they will be in order in the >> > arguments >> > > >>>> array as NSDictionary-s. >> > > >>>> >> > > >>>> The "extraction" occurs when we compare the plugin method >> signature >> > - >> > > >>>> if its a legacy signature, we extract the first NSDictionary from >> > the >> > > >>>> arguments, like we did in JS. If its not a legacy signature, we >> pass >> > > >>>> the arguments unchanged. >> > > >>>> >> > > >>>> re: >> > > >> > >> https://github.com/agrieve/incubator-cordova-ios/compare/legacy_exec#L3R63 >> > > >>>> >> > > >>>> >> > > >>>> On Fri, Jul 27, 2012 at 5:26 PM, Jesse <[email protected]> >> > > wrote: >> > > >>>>> Wait! >> > > >>>>> >> > > >>>>> Can we discuss the EXACT nature of the command array? >> > > >>>>> I have had to work through a similar issue on WP7, it would be >> > > >>>>> extremely valuable if we could agree on what the args to exec >> looks >> > > >>>>> like. >> > > >>>>> >> > > >>>>> It looks like your changes are all inside and beyond exec, but I >> > want >> > > >>>>> to make sure. >> > > >>>>> >> > > >>>>> In the past we discussed removing the array altogether and >> passing >> > > >>>>> named objects as args. >> > > >>>>> On WP7 it is extremely difficult to interpret arrays that do not >> > > >>>>> contain the same types of object. >> > > >>>>> For example, if the command has args of >> > > ['what',23,{obj:literal},[1,2,3]] >> > > >>>>> >> > > >>>>> Do we still have a limitation of only passing 1 object literal? >> > > >>>>> >> > > >>>>> >> > > >>>>> >> > > >>>>> On Fri, Jul 27, 2012 at 5:08 PM, Andrew Grieve < >> > [email protected]> >> > > wrote: >> > > >>>>>> Committed. >> > > >>>>>> Sounds good! You update the dev guide, and I'll work to update >> the >> > > existing >> > > >>>>>> core plugins. >> > > >>>>>> >> > > >>>>>> >> > > >>>>>> On Fri, Jul 27, 2012 at 6:22 PM, Shazron <[email protected]> >> > wrote: >> > > >>>>>> >> > > >>>>>>> Thanks Andrew, this looks good! >> > > >>>>>>> >> > > >>>>>>> Once you merge it in, I'll add the doc issues, especially the >> > > Plugin >> > > >>>>>>> Dev Guide, we don't want people to start using the old way. I >> was >> > > >>>>>>> thinking, a deprecation NSLog would be great if they are using >> > the >> > > old >> > > >>>>>>> way, but that will just be too much noise at this point... >> > > >>>>>>> >> > > >>>>>>> On Fri, Jul 27, 2012 at 2:06 PM, Andrew Grieve < >> > > [email protected]> >> > > >>>>>>> wrote: >> > > >>>>>>>> Shaz, >> > > >>>>>>>> >> > > >>>>>>>> I mentioned doing such a change during PGD, but was hoping >> you >> > > could >> > > >>>>>>> give it >> > > >>>>>>>> a sanity check over: >> > > >>>>>>>> >> > > >>>>>>>> https://issues.apache.org/jira/browse/CB-1150 >> > > >>>>>>>> >> > > https://github.com/agrieve/incubator-cordova-ios/compare/legacy_exec >> > > >>>>>>>> >> > https://github.com/agrieve/incubator-cordova-js/tree/better_exec >> > > >>>>>>>> >> > > >>>>>>>> I ensured mobile-spec and unit tests pass, so should be good >> to >> > > go I >> > > >>>>>>> think. >> > > >>>>>>>> >> > > >>>>>>>> Andrew >> > > >>>>>>> >> > > >>>>> >> > > >>>>> >> > > >>>>> >> > > >>>>> -- >> > > >>>>> @purplecabbage >> > > >>>>> risingj.com >> > > >>> >> > > >>> >> > > >>> >> > > >>> -- >> > > >>> @purplecabbage >> > > >>> risingj.com >> > > > >> > > > >> > > > >> > > > -- >> > > > @purplecabbage >> > > > risingj.com >> > > >> > >> > >> > >> > -- >> > @purplecabbage >> > risingj.com >> > >> > > > > -- > @purplecabbage > risingj.com > > -- @purplecabbage risingj.com
