Client-side processing of DataPipeline (DP) tags is not mandated by
the spec. Reprocessing of existing previously registered data
pipeline tags is also not currently part of the spec (tho previously
proposed and flagged for re-proposal in 1.1). While it is true that
it would be more efficient to batch and send these requests as a
single unit from the client via a single XHR request, that is not
really a scenario we face currently. MySpace (and I believe Shindig
on Orkut) processes all the os:* data pipeline requests that sit in
front of REST API endpoints server-side. Since this is server-
processed it is not necessary to use JSON-RPC in any form to attain
the optimizations of an atomic request.
Additionally, RPC support is currently defined as a MAY, not a MUST,
so there is no guarantee that RPC will be available at all on a given
implementation. REST, on the other hand, is a MUST, so we know it
will be available. While the Javascript API supports a batching-
syntax, there is no requirement that the requests actually be
batched. In fact, all current MySpace implementations send the
requests individually to the REST endpoints for processing, then
reconstruct the result.
> Building data pipelining on top of REST is not what was intended.
Actually, it is what was intended when MySpace originally proposed the
tag language and data pipelining ages ago. As people tell me (it was
before my time at MySpace), data pipelining was proposed prior to the
original Javascript API. It may be that in conversations over at
Google the DP proposal was looked at thru the RPC lens, but that was
never the case at MySpace, so I don't think the above statement can be
made.
I believe we're in agreement in principle that the data format
specified in the various DP tags (ex: array of JSON objects) is not
accurate. The question is if the REST wrapper format or the RPC
wrapper format is the correct format to use when registering the
result with the client-side data context.
I see two distinct issues right now:
1. Data Pipeline tags do not have the correct return format identified
in the spec.
2. RPC and REST specs have subtle differences in the meta-format for
responses
(identified also in this thread:
http://groups.google.com/group/opensocial-and-gadgets-spec/browse_thread/thread/6dec034bf9d99f20/db8a98a0ca3eda22?hl=en
)
If we can resolve the meta-format inconsistencies between REST and
RPC, the debate over what the underlying endpoints are for
DataPipeline tags becomes moot.
--
clc