Dan, Nice! I'm still using 3.0.0-beta2, so hadn't seen this yet. Was there an earlier thread on how to use this? Can you explain how I hook into this and provide a server-side implementation? And does this mean when I call navigateGadget that I should now be providing a unique id for the siteId (maybe correlating to my spaceid?)?
Thanks, doug On 7/27/11 1:50 PM, "Dan Dumont" <ddum...@us.ibm.com> wrote: > FYI, there have been some recent changes in the common container to expose > a callback to the container page that allows for the persisting and > retrieval of persisted preferences. > > /** > * @see setprefs.js setprefs feature. > */ > this.rpcRegister('set_pref', function(rpcArgs, key, value) { > var site = rpcArgs[osapi.container.GadgetSite.RPC_ARG_KEY]; > var setPrefs = > self.config_[osapi.container.ContainerConfig.SET_PREFERENCES]; > if (site && setPrefs) { // Check if site is not already closed. > var data = {}; > for (var i = 2, j = arguments.length; i < j; i += 2) { > data[arguments[i]] = arguments[i + 1]; > } > setPrefs(site.getId(), site.getActiveGadgetHolder().getUrl(), data); > } > }); > > A container may specify functions to the CommonContainer that will be > called to retrieve and set preferences for a particular gadget. > Please also note that gadget site id will now prefer the id attribute of > the gadget site element, so that named locations for specific gadgets can > have preferences persisted accordingly. > > If you are going to be providing a default preference persistence impl, it > would be great if you could hook into this :) > > > > From: daviesd <davi...@oclc.org> > To: <dev@shindig.apache.org>, > Date: 07/27/2011 01:09 PM > Subject: Re: Example implementation for user prefs? > > > > Paul, > > Sure. Give me a few days, I just got back from vacation. I'll have to > figure > out whether the container token will be sufficient for this, as I had to > apply other patches to get the gadget token to be used. > > Thanks, > doug > > > On 7/27/11 12:58 PM, "Paul Lindner" <lind...@inuus.com> wrote: > >> Can you write this up a patch so we can make this the default >> implementation? This is something I've been meaning to do for months. >> >> On Wed, Jul 27, 2011 at 8:58 AM, daviesd <davi...@oclc.org> wrote: >> >>> Actually, I was lazy and went with the approach of layering userprefs > on >>> top >>> of appdata as follows: >>> >>> container.rpcRegister('set_pref', function(rpcArgs, data) { >>> >>> var prefName = rpcArgs['a'][1]; >>> var prefKey = 'up_' + prefName; >>> var prefValue = rpcArgs['a'][2]; >>> >>> var data = {}; >>> data[prefKey] = prefValue; >>> >>> osapi.appdata.update({ >>> userid : '@me', >>> groupid : '@self', >>> appId : '@app', >>> data : data >>> >>> }).execute(function(response) { >>> }); >>> }); >>> >>> This is with anticipation that appdata and userprefs will align as >>> discussed >>> here: >>> >>> http://code.google.com/p/opensocial-resources/issues/detail?id=1182 >>> >>> Of course this also requires you to implement appdata server side. > Right >>> now I¹m just using the JsonDb implementation (in-memory), but we¹ll be >>> writing a persistent layer soon. >>> >>> I also ran into issues with the correct token (the gadget one with the >>> appid >>> that you¹ll need to use to index the data) being passed to the appdata >>> request. You can search for my other thread about this. >>> >>> doug >>> >>> >>> On 7/25/11 6:53 PM, "Henry Saputra" <henry.sapu...@gmail.com> wrote: >>> >>>> If you want the user pref to be persisted in the database you need to >>>> implement the server handler for it. >>>> >>>> I remember Doug Davies has tried to add persistent layer for user >>>> pref. Maybe he could share his progress. >>>> >>>> Including him in the email. >>>> >>>> - Henry >>>> >>>> On Mon, Jul 25, 2011 at 3:42 PM, Mat Schaffer <m...@schaffer.me> wrote: >>>>>> So with some research it looks like I'm supposed to be implementing > my >>> own >>>>>> server module. Is that pretty much accurate? >>>>>> >>>>>> Again, any advice or RTFMs (with a link to the respective FMs) is >>>>>> appreciated. >>>>>> >>>>>> Thanks, >>>>>> Mat >>>>>> >>>>>> On Fri, Jul 22, 2011 at 10:20 AM, Mat Schaffer <m...@schaffer.me> >>> wrote: >>>>>> >>>>>>>> So I noticed that UserPref items don't work on the sample > container >>> which >>>>>>>> makes sense after finding this thread: >>>>>>>> http://markmail.org/message/tlwtlo4mrnrpz4w5 >>>>>>>> >>>>>>>> Is there any good example of best-practice for implementing user >>> prefs in >>>>>>>> my containing application? Do I just make my own >>> shindig-container.js and >>>>>>>> handleOpenUserPrefsDialog? And does the page we point to just > render >>>>>>>> information into a div with id of `this.id`? >>>>>>>> >>>>>>>> The gmodule code appears to be obfuscated, so it's a bit hard to >>> tell >>> >>> what >>>>>>>> the right course of action would be. Any documentation or > assistance >>>>>> would >>>>>>>> be appreciated. >>>>>>>> >>>>>>>> Thanks, >>>>>>>> Mat >>>>>>>> >>>>>> >>>> >>>> >>> >>> >> > > > > >