Skip to main content

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

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

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]

Release files for collective.bookmarks 1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for collective.bookmarks 1.1
File Size Uploaded
collective.bookmarks-1.1.tar.gz 76.8 kB Details

Release files / collective.bookmarks-1.1.tar.gz

Download URL collective.bookmarks-1.1.tar.gz
Size 76.8 kB
Tags Source
SHA-256 checksum
How to use checksums
830fe3dee37e437e411f6f68e546f8caa6ed45eedc38b612803dd78458e006e4
BLAKE2b-256 checksum
How to use checksums
403d085b6e3e2baebaf8d0f819fb60aa04057522187306c7c2e5272c7b339e57
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.2

Release history Release notifications | RSS feed

This release

1.1 This release

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page