shindig-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Kevin Brown" <e...@google.com>
Subject Re: Getting Gadget Info without rendering gadget
Date Mon, 11 Feb 2008 22:08:57 GMT
That's exactly the intended use for RpcServlet. Great example!

On Feb 11, 2008 2:04 PM, Dan Lester <dan@danlester.com> wrote:

>
> OK, I'll keep checking out and trying the Rpc again over the next few
> days. I'm playing around with both Java and PHP at the moment (but both
> using Java gadget server of course). My initial code to get info over
> Rpc just used curl in something like:
>
>
>     $gadgets_array = array();
>
>      foreach ($gadgetUrls as $url) {
>         $gadgets_array[] = array( 'url' => $url,
>                                   'moduleId' => count($gadgets_array)+1
> );
>      }
>
>      $req = array(
>                  'context' => array(
>                  'country' => 'US',
>                  'language' => 'en',
>                        'view' => 'default' ),
>                        'gadgets' => $gadgets_array );
>
>      $rpc = new RpcSender('http://localhost:8080/gadgets/rpc'<http://localhost:8080/gadgets/rpc%27>
> );
>      $info = $rpc->Send($req);
>
> class RpcSender {
>
>   private $addr;
>
>   function __construct($addr) {
>      $this->addr = $addr;
>   }
>
>   public function GetAddr() {
>      return $this->addr;
>   }
>
>   public function Send($req) {
>      // req is an array-object that needs to be JSON-ified
>
>      $json_req = json_encode($req);
>
>      $ch = curl_init();
>      curl_setopt($ch, CURLOPT_URL, $this->GetAddr());
>      curl_setopt($ch, CURLOPT_POST, 1);
>      curl_setopt($ch, CURLOPT_POSTFIELDS, $json_req);
>      curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
>
>      $res = curl_exec($ch);
>
>      if (curl_errno($ch)) {
>         $res = null;
>         // Should handle curl_error($ch);
>      } else {
>         $res = json_decode($res, true);
>      }
>
>      curl_close($ch);
>
>      return $res;
>   }
> }
>
>
>
> -----Original Message-----
> From: Kevin Brown [mailto:etnu@google.com]
> Sent: 11 February 2008 19:58
> To: Dan Lester
> Cc: shindig-dev@incubator.apache.org
> Subject: Re: Getting Gadget Info without rendering gadget
>
>
> On Feb 11, 2008 11:23 AM, Dan Lester <dan@danlester.com> wrote:
>
> > Kevin,
> >
> > The JsonRpc servlet is a great contribution - I've got it working from
>
> > PHP.
> >
> > However, is there any chance it could return all available details
> > from the spec? That would include thumbnail_url, width, height,
> > author_email, etc - every attribute on the ModulePrefs tag, I suppose.
>
>
> Yes, these will be added. Not all of them are currently supported on the
> GadgetSpec interface. I'll be adding these over the next few days (after
> submitting the pending headers patch; see SHINDIG-56). I think we'll
> ultimately wind up supporting the entire extended spec here, not just
> the canonical one.
>
>
> >
> > You mention that error handling is "kind of rough". I think any client
>
> > can just cater for the idiosyncrasies for now, but one glaring issue
> > is that any one gadget spec not found causes the whole call to break
> > (returns 'Incomplete processing'). That rather ruins your hard work to
>
> > allow multiple gadget specs to be fetched at once.
>
>
> I went ahead and fixed this in SHINDIG-56 as well. I didn't realize it
> was breaking when anything failed, but rather only when something went
> horribly wrong. I'll double check this.
>
>
> >
> >
> > SHINDIG-25 is marked as closed which is why I'm bringing it up rather
> > than just waiting to see if you had anything more in store...
>
>
> I'd like new , individual bugs to be opened for specific issues as
> they're encountered, which is why I closed SHINDIG-25.
>
> I'm glad you appreciate it, though. Thanks for the feedback!
>
> ~Kevin
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message