You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@shindig.apache.org by "Eric Woods (Resolved) (JIRA)" <ji...@apache.org> on 2011/10/24 21:30:32 UTC

[jira] [Resolved] (SHINDIG-1547) Support for Arbitrary & Dynamic Extensions in Shindig Data Model

     [ https://issues.apache.org/jira/browse/SHINDIG-1547?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Eric Woods resolved SHINDIG-1547.
---------------------------------

    Resolution: Fixed

Patch applied.
                
> 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
>         Attachments: 110610 dynamic extensions.txt
>
>
> 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.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira