Page History
Devstatus | ||||
---|---|---|---|---|
| ||||
just startedsecond iteration... |
Abstract
The UX concept for favorites contains a variety of uses cases for favorites. For beta1 we're aiming to implement the two most basic bookmark related ones. Also see the clickable prototype.
- store a bookmark to a user's favorites under a certain name
- navigate to a previously stored bookmark
Remember: a bookmark is just a special favorite stored under the /bookmark node.
...
Implementation
Storage
Basics
- favorites will be stored in JCR (per user)
- as users only operate on their own favorites we drop the user from the API but internally get it from the MgnlContext
- there's other user related information to be stored later so we
- create workspace profiles
- store favorites under /userName/favorites
- store bookmarks under bookmarks under /userName/favorites/bookmarks
Grouping
Favorites can be grouped in the ui - that's why we go for favorite nodes and favorite group nodes
Bookmark nodes will
- have node name = title of the favorite
- have url stored String property
- have icon stored String property
- be stored directly under the bookmark root (ungrouped) or under a bookmark group node
- be of NodeType: mgnl:favorite
Group nodes will
- have node name = group name
- be of NodeType: mgnl:favoriteGroup
BookmarkStore
- getBookmarkRoot() -> returns root node hosting bookmark for current user
Packaging
- dont don't model a proper type - use normal jcr nodes
- ui will go into admincentral / shell apps
- make sure to use MVP pattern
Assumptions
- favoriteGroups can only contain favorites - no other favoriteGroups
- that's how we'll implement it now, but we won't restrict on a jcr level
Visual design
Questions
- store hostnam+port/web-app-context as well - might get outdated soon
- alternatively we could strip that before storing and re-add when navigating there
Overview
Content Tools