Support for Arbitrary & Dynamic Extensions in Shindig Data Model
----------------------------------------------------------------
Key: SHINDIG-1547
URL: https://issues.apache.org/jira/browse/SHINDIG-1547
Project: Shindig
Issue Type: Improvement
Reporter: Eric Woods
This is a much-needed improvement to the Shindig REST API. This patch adds
support for dynamic extensions to Shindig's data model. For example, fields
that are not explicitly defined in ActivityEntry may be posted to the Activity
Streams REST API, and Shindig will receive, persist, and retrieve them
properly. This will circumvent the need for continued maintenance as field
requirements change, especially for internal changes that aren't pushed back to
Shindig.
To enable dynamic extensions to an existing data model, simply extend
ExtendableBean.
I recommend using the JSON API when handling extensions. The JSON API fully
supports all CRUD operations with extensions "out-of-the-box".
The XML API has a number of limitations with respect to extensions due
Shindig's design and use of xstream:
* To serialize extensions to XML, the extension's field name must be predefined
in the parent POJO.
* Serialization of dynamic extensions doesn't follow all OpenSocial conventions
* Limited XML POST support (which has always been the case)
*Please review*
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira