Create a JsonRpc Servlet to make pure js containers more viable and to improve 
library usability.

                 Key: SHINDIG-25
             Project: Shindig
          Issue Type: New Feature
          Components: Gadgets Server - Java
            Reporter: Kevin Brown
            Assignee: Kevin Brown
            Priority: Minor

Currently, there's no way to get the gadget meta data without implementing a 
full container that uses the core java libraries directly. To rectify this 
situation, we should introduce a JsonRpcServlet class that will take requests 
in the form:

var request = {
  "requestContext": {
    "language": "en",
    "country": "US",
    .. other per-request fields...    
  "gadgets": [ // index should be module id based
    {"specUrl": "url-of-gadget-spec.xml", "userPrefs": {"up_name":"up_value"}},
    ...more gadgets...

and responds with:

var response = {
  "libs": ["setprefs", "analytics"],
  "gadgets": [ // guaranteed to be the same order as inputs.
       "prefSpec": {"up_name":{"display":"Localized, user-friendly name for the 
pref", "type:"string", "default":"", "value":"same-as-input, or default"}},
       "contentType":"url, iframe, or caja",
       "content":"iframe url,  url for type=url gadgets, or cajoled content",
       "token":"gadget token, produced by a GadgetSigner implementation",
    ...more gadgets...

This RPC mechanism should be designed in such a way that it can easily be used 
as a reference mechanism for anyone that wants to build an rpc system using 
shindig using alternative rpc mechanisms (SOAP, XML-RPC, various proprietary 

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

Reply via email to