Looks good.
One thing that has always bothered me is that 'opensocial-0.8' key in
container.js.  What does everyone think about renaming that just
'opensocial'?


On Wed, Jul 15, 2009 at 2:19 PM, <[email protected]> wrote:

> Reviewers: louiscryan,
>
> Description:
> jsonrpccontainer was hardcoding /social/rpc and /gadgets/api/rpc paths,
> which made it hard to config.  Eliminate that, and pull the paths
> entirely from runtime config.
>
> Please review this at http://codereview.appspot.com/96045
>
> Affected files:
>  config/container.js
>  features/src/main/javascript/features/opensocial-current/feature.xml
>
>  features/src/main/javascript/features/opensocial-jsonrpc/jsonrpccontainer.js
>
>
> Index:
> features/src/main/javascript/features/opensocial-jsonrpc/jsonrpccontainer.js
> ===================================================================
> ---
> features/src/main/javascript/features/opensocial-jsonrpc/jsonrpccontainer.js
>    (revision 793628)
> +++
> features/src/main/javascript/features/opensocial-jsonrpc/jsonrpccontainer.js
>    (working copy)
> @@ -23,9 +23,19 @@
>  * @fileoverview JSON-RPC based opensocial container.
>  */
>
> -var JsonRpcContainer = function(baseUrl, domain, supportedFieldsArray) {
> +var JsonRpcContainer = function(configParams) {
>   opensocial.Container.call(this);
>
> +  var path = configParams.path;
> +  // Path for social API calls
> +  this.path_ = path.replace("%host%", document.location.host);
> +
> +  // Path for calls to invalidate
> +  var invalidatePath = configParams.invalidatePath;
> +  this.invalidatePath_ = invalidatePath.replace("%host%",
> +      document.location.host);
> +
> +  var supportedFieldsArray = configParams.supportedFields;
>   var supportedFieldsMap = {};
>   for (var objectType in supportedFieldsArray) {
>     if (supportedFieldsArray.hasOwnProperty(objectType)) {
> @@ -37,8 +47,8 @@
>     }
>   }
>
> -  this.environment_ = new opensocial.Environment(domain,
> supportedFieldsMap);
> -  this.baseUrl_ = baseUrl;
> +  this.environment_ = new opensocial.Environment(configParams.domain,
> +      supportedFieldsMap);
>
>   this.securityToken_ = shindig.auth.getSecurityToken();
>
> @@ -206,7 +216,7 @@
>       "POST_DATA" : gadgets.json.stringify(jsonBatchData)
>     };
>
> -    var url = [this.baseUrl_, "/social/rpc"];
> +    var url = [this.path_];
>     var token = shindig.auth.getSecurityToken();
>     if (token) {
>       url.push("?st=", encodeURIComponent(token));
> @@ -439,7 +449,7 @@
>       "POST_DATA" : gadgets.json.stringify(rpc)
>     };
>
> -    var url = [this.baseUrl_, "/gadgets/api/rpc"];
> +    var url = [this.invalidatePath_];
>     var token = shindig.auth.getSecurityToken();
>     if (token) {
>       url.push("?st=", encodeURIComponent(token));
> Index: features/src/main/javascript/features/opensocial-current/feature.xml
> ===================================================================
> --- features/src/main/javascript/features/opensocial-current/feature.xml
>      (revision 793628)
> +++ features/src/main/javascript/features/opensocial-current/feature.xml
>      (working copy)
> @@ -34,13 +34,8 @@
>
>       gadgets.config.register("opensocial-0.8", requiredConfig,
>         function(config) {
> -          var configParams = config["opensocial-0.8"];
> -          var path = configParams.path;
> -          path = path.replace("%host%", document.location.host);
> -
>           ShindigContainer = function() {
> -            JsonRpcContainer.call(this, path,
> -            configParams.domain, configParams.supportedFields);
> +            JsonRpcContainer.call(this, config["opensocial-0.8"]);
>           };
>           ShindigContainer.inherits(JsonRpcContainer);
>
> Index: config/container.js
> ===================================================================
> --- config/container.js (revision 793628)
> +++ config/container.js (working copy)
> @@ -136,7 +136,9 @@
>   "opensocial-0.8" : {
>     // Path to fetch opensocial data from
>     // Must be on the same domain as the gadget rendering server
> -    "path" : "http://%host%";,
> +    "path" : "http://%host%/social/rpc";,
> +    // Path to issue invalidate calls
> +    "invalidatePath" : "http://%host%/gadgets/api/rpc";,
>     "domain" : "shindig",
>     "enableCaja" : false,
>     "supportedFields" : {
>
>
>

Reply via email to