Skip to main content

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

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]

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

collective.bookmarks-1.1.tar.gz (76.8 kB view details)

Uploaded Source

File details

Details for the file collective.bookmarks-1.1.tar.gz.

File metadata

  • Download URL: collective.bookmarks-1.1.tar.gz
  • Upload date:
  • Size: 76.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.2

File hashes

Hashes for collective.bookmarks-1.1.tar.gz
Algorithm Hash digest
SHA256 830fe3dee37e437e411f6f68e546f8caa6ed45eedc38b612803dd78458e006e4
MD5 0d397702bce2634e374376d2b25df502
BLAKE2b-256 403d085b6e3e2baebaf8d0f819fb60aa04057522187306c7c2e5272c7b339e57

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page