Asset Properties
o ID
o LABEL
o PARENT-CHILD RELATIONSHIPS (item to album, albums/views to folders)
o TAGS
o STREAM, e.g. Dublin Core metadata, tags, display map, etc.
o STREAM-NAME
o MIME TYPE
o LOCATION
o TYPE (e.g. album, view, image, video, person, etc.)
o ACCESS RIGHTS (only for parent objects, i.e. albums, views and folders)
Asset is an abstract class
Object types below implement Asset, with the exception of USERS, ACCESS RIGHTS, and TAGS
Object Types:
• Folders
o Holds ALBUMS, VIEWS, SLIDESHOWS, etc.
o Has access rights -- these access rights do NOT cascade down to its members
o Viewed using a default view
• Albums
o Holds ITEMS
o Has access rights -- these access rights apply to all its contained item
o Viewed using a default view
• Views
o Have SET of items, stored as STREAM• DYNAMIC VIEW: Saved query, ordered by user settings
OR
• SAVED VIEW: Ordered set of items
o DEFAULT VIEW:
• Generated from users preferences
• Sort order - global user preference
• Can change on the fly
• Number of items per page
• Slideshow
o Is a View with additional rules, functionality
o Is an ordered set of items
o Has Pages, which have Layouts
• Tray - special view
o One tray per user
o Temporary storage only
o Drag search results, etc. to tray
• Item
o Image
o Video
o Sound file
o Document
• TAGS
o Not derived from asset
o Is this a stream on an item, or a distinct object?
• USERS
o Not derived from asset
o Most likely we'll use the same implementation as currently exists
o Has default-view properties
• ACCESS RIGHTS
o Not derived from asset
o Most likely we'll use the same implementation as currently exists
REST STYLE URLS:
Dealing with Single Objects
Methods: GET get item
PUT update object
DELETE delete item
POST create new object
URL for item is always the same; what happens depends on method
Asset URLs:
Foreach asset, there is Summary or Contents in the URL
Item Item/Summary/id Item/Contents/id
Album Album/Summary/id Album/Contents/id
Folder Folder/Summary/id Folder/Contents/id
Slideshow Slideshow/Summary/id Slideshow/Contents/id
View View/Summary/id View/Contents/id
Dynamic View View/Summary/id View/Contents/id
Tray Tray/Summary/id Tray/Contents/id
Tags Tags/Contents/id
Categories
List calls Domain/...
All lists are domain specific
Domains are HST,ARCH,THALIA
Example below uses HST as domain id
Get Folders: Domain/Folders/HST
Get Categories: Domain/Categories/HST
Get Users: Domain/Users/HST
Get Azs: Domain/Authz/HST
Getting Users and Azs
User/id GET (returns user properties),DELETE,PUT,POST
Authz/id GET and DELETE
Authz/User/id GET
Authz/Asset/id GET
Search
Always a GET
But we will pass parameters
Use query language we have been using
Different types of search
PUTS & POSTS
Pass XML doc instead of parameters