Bookmarks/ favorites (internal) for Plone
Project description
Bookmarks (aka favorites, wishlists) for Plone Classic.
The Plone pendent is collective/volto-bookmarks
Features
- Stores bookmarks of
anonymous users in local storage.
authenticated users in user properties as JSON
REST-API backend
SvelteJS based frontend
Data Format
list of bookmarks
- a bookmark is a JSON serializable (dict-like) with keys:
uid: UID of content item
created: date in ISO (like in plone.restapi)
group: group name or empty string for global group
owner: unique owner identifier (str)
queryparams: String: Identifies bookmark together with uid, owner and group
payload: arbitary dict with custom key-value data (optional)
RESTAPI
Reads/stores into user-property as application/json.
Endpoints:
- @bookmark - single bookmark
GET param uid-… (single)
POST creates new bookmark, body is JSON of one bookmark
PUT overrides bookmark, body is JSON of one bookmark
DELETE removes bookmark, body is JSON, list with exact one uid as string
- @bookmarks - list of bookmarks
GET by uids param ?uid=...&uid=...
GET by group params ?group=...
DELETE body is JSON, list of uids
Frontend
- Check @@bookmarks_sample for example usage
<bookmark-element> Bookmark action-button (enable/disable)
<bookmark-sum> Count of Bookmarks as possible personal action entry
<bookmark-list> List of Bookmarks of the user
Administration of catalog
Install Souper Plone add-on in controlpanel.
Installation
Install collective.bookmarks by adding it to your buildout:
[buildout] ... eggs = collective.bookmarks
and then running bin/buildout
Contribute
Issue Tracker: https://github.com/collective/collective.bookmarks/issues
Source Code: https://github.com/collective/collective.bookmarks
Support
We’d be happy to see many forks and pull-requests to make this addon even better.
Maintainers are Jens Klein, Peter Holzer and the BlueDynamics Alliance developer team. We appreciate any contribution and if a release is needed to be done on pypi, please just contact one of us.
We also offer commercial support if any training, coaching, integration or adaptions are needed.
License
The project is licensed under the GPLv2.
Contributors
Jens W. Klein, jk@kleinundpartner.at
Peter Holzer, peter.holzer@agitator.com
Maik Derstappen, md@derico.de
Katja Süss, k.suess@rohberg.ch
Changelog
1.1 (2023-03-06)
Return 204 if content is not bookmarked instead of raising NotFound. [ksuess]
1.1a1 (2021-03-05)
unique identifier changed to (uid, owner, group, queryparams), was before (uid, owner, group). Allows to bookmark searchquery urls. [ksuess]
BREAKING: ‘created’ in format like plone.restapi does: from plone.restapi.serializer.converters import json_compatible [ksuess]
Convert to custom element Various extensions / optimizations [jensens]
1.0a1 (unreleased)
Initial release. [jensens]
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.