a zone is defined by a name, and zone revision list:
Like channels, a zone revision list is rolled up by following parent pointers, then collapsed down to get the final zone list and ordering.
A zonerevision is simply an operation and a channel uuid; this allows for linked zones to add new channels without disturbing downstream reorderings or renames.
reordering
renaming
first create channel chY with new name, linked to chX
API considerations
the API should allow posting an entire zone list with zone settings, with the server breaking that down into zonerevisions: POST /zone/:zone_id
the API should also allow direct revision control: PUT /zone/:zone_id/revision
a zone is defined by a name, and zone revision list:
Like channels, a zone revision list is rolled up by following parent pointers, then collapsed down to get the final zone list and ordering.
A zonerevision is simply an operation and a channel uuid; this allows for linked zones to add new channels without disturbing downstream reorderings or renames.
reordering
renaming
first create channel
chYwith new name, linked tochXAPI considerations
the API should allow posting an entire zone list with zone settings, with the server breaking that down into zonerevisions: POST /zone/:zone_id
the API should also allow direct revision control: PUT /zone/:zone_id/revision