rave-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Michael Jett <mikesj...@gmail.com>
Subject Re: Rave Data Structures
Date Mon, 16 Sep 2013 15:27:52 GMT
On Sun, Sep 15, 2013 at 6:30 PM, Chris Geer <chris@cxtsoftware.com> wrote:

> Since we've been having a lot of discussions on data structures lately I
> wanted to write down what my suggestions were. These aren't 100% complete
> examples but show the relationships
>
> CRUD Interfaces
>
> Page (/pages/<page-id>)
> {
>   id: <id>,
>   owner: <owner>,
>   regionIds: [
>     <id>, <id>, <id>   (region order is based on order in list, not
field
> on region object)
>   ]
> }
>
> Region (/pages/<page-id>/regions/<region-id>
> {
>   id: <id>,
>   regionWidgetIds: [
>     <id>, <id>, <id>   (widget order is based on order in list, not
field
> on region widget object)
>   ]
> }
>
> Region Widget
> (/pages/<page-id>/regions/<region-id>/regionwidgets/<region-widget-id>
> {
>   id: <id>,
>   widgetId: <widgetId>,
>   collapsed: <collapsed>,
>   ...
> }
>
> Region Widget
> Properties
> (/pages/<page-id>/regions/<region-id>/regionwidgets/<region-widget-id/properties/<propertyId>)
> {
>   ....
> }
>
> Widget (/widgets/<widget-id>
> {
>   id: <id>
>   title: <title>
> }
>
>
> Render Interface (custom mime-type) (Read Only)
>

Why would we define a custom mime-type other than JSON?


>
> /pages/<page-id>
> {
>   id: <id>,
>   regions: [
>     {
>       id: <id>,
>       regionWidgets: [
>         {
>           id: <id>,
>           widgetId: <widgetId>,
>           title: <title>,
>           properties: [
>             {
>                key: <key>,
>                value: <value>
>              }
>           ]
>         }
>       ]
>     }
>   ]
> }
>
> You should also be able to render sub elements below a page so for example,
>
> /pages/<page-id>/regions/<region-id> with the custom mime-type would render
> a single region.
>
>
This makes sense. It's possible to map this to an angular $resource.


>
> Obviously there is still room for uncertainty in some places. For example,
> what happens if your have a region with three region widgets then you save
> the region but only include two ids in the list?




> Personally, I think that
> should delete the missing regionWidget because that list denotes ordering.
> The reason I don't like an "order" attribute on the sub objects is that
> what if you save two sub objects with the same order (which would happen if
> you ever wanted to swap two objects in order because you have to update
> them then save each one so they would have the same order at least
> momentarily on the server)?
>
> Anyway, my 2-cents.
>
> Chris
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message