Details
-
Story
-
Resolution: Done
-
High
-
None
-
None
-
[2.2] Sprint 6
-
1
Description
Content item bookmarks is a feature that exists in eZ Publish but was never ported to new stack. The major thing that is missing is Public API to handle bookmarks.
On the lowest level, for a Gateway implementation, in the DB schema, there's just a single table ezcontentbrowsebookmark which contains all the necessary columns.
First important thing to know about that feature is that we actually bookmark a LocationId (node_id column in the DB schema) not a ContentId as related issues titles might suggest.
In the AdminUI, implementation for Location View is therefore straightforward. For Content View on the other hand Main Location should be used.
Required pieces:
- Public API Service interface (BookmarkService)
- Core implementation of BookmarkService
- Persistence Handler (on SPI), including persistence cache
- Gateway
- API level: ValueObject containing list of Bookmarks for Locations
- SPI level: Bookmark ValueObject
BookmarkService should allow:
- getting list of bookmarks
- creating bookmark for Location (disallowing create when Location has already been bookmarked)
- deleting bookmark for Location
- checking if Location has been bookmarked
BookmarkService should work in the context of current Repository (PermissionResolver) user.
BookmarkService assumes the given Location ValueObject has been loaded by the current user, therefore current User has access to that Location.