Skip to content

Data Formats

czheng edited this page Jun 3, 2011 · 4 revisions

Background

The continued growth of JSON as a preferred data format for the web—largely at the expense of XML—is undermining Symphony's position as a platform for data aggregation and consumption. At the same time, the seeming abandonment of libxml and libxslt development raises some red flags for the future of the platform.

The following was proposed during a Symphony working group meeting on 21 April 2011 (transcript) and later refined in offline discussion. Draft 2 prepared by Craig Zheng on 3 June 2011

Proposal

Symphony 3 should take some initial steps toward data openness and perhaps even data agnosticism. JSON input and output should be supported natively alongside XML. We should look at reducing the system's tight dependence on XML and XSLT by implementing a data output API for the front end.

Scope

There are two sides to this:

  • Data consumption (in the form of data source types)
  • Data output (managed by views)

In addition, it's helpful to differentiate between the system's own internal output which is used for templating, and the external output, which is what's returned to the client after templating.

Goals

  1. Data openness
  2. Ease of use
  3. Extensibility

Ideas

  1. Provide default DS types for both XML and JSON

  2. By default, support mimetypes for both XML and JSON for external output, make this extensible for additional formats

  3. Build a full data output API. Opens the door to provide alternative output formats (internal) and even templating options in the future.

    → See Data Output POC

Clone this wiki locally