Feedback mechanism integration for io-comune
Project description
collective.feedback
Feedback mechanism integration for volto.
Users can add vote and a comment to every page on the site.
Bot protection
This product use collective.honeypot to prevent bot submissions.
You just need to set two environment variables:
EXTRA_PROTECTED_ACTIONS feedback-add
HONEYPOT_FIELD xxx
xxx should be a field name that bot should compile.
If you get hacked, you could simply change that variable.
Permissions
There are two new specific permission:
collective.feedback.ManageFeedbacks (collective.feedback: Manage Feedbacks) Allows to reset data (by default Manager and Site Administrator).
collective.feedback.AccessFeedbacks (collective.feedback: Access Feedbacks) Allows users to list feedbacks on contents where they have that permission (by default Editor, Manager and Site Administrator)
Feedbacks catalog
Reviews are stored inside an internal catalog (based on souper.plone).
You can access/edit data through restapi routes (see below) or through a Plone utility:
from zope.component import getUtility from collective.feedback.interfaces import ICollectiveFeedbackStore tool = getUtility(ICollectiveFeedbackStore)
Add a vote
Method add
Parameters: data (dictionary with parameters)
Response: unique-id of new record
data should be a dictionary with the following parameters:
uid [required]: the uid of the Plone content
vote [required]: the vote
answer: a custom string, like a comment
title: the title of the Plone content
comment: an optional comment
Others parameters will be ignored.
Search reviews
Method search
Parameters: query (dictionary with parameters), sort_index (default=date), reverse (default=False)
Response: a list of results
query is a dictionary of indexes where perform the search.
Right now data is not indexed so search filters does not work. You only need to call search method to get all data.
List update
PATCH
This endpoint allows update feedbacks by list. By now you can only change “read” property
Example:
curl http://localhost:8080/Plone/@feedback-list \ -X PATCH \ -H 'Accept: application/json' \ -H 'Content-Type: application/json' \ -d '{ "101010101": {"read": true}, }'
Installation
Install collective.feedback by adding it to your buildout:
[buildout] ... eggs = collective.feedback
and then running bin/buildout
Contribute
Issue Tracker: https://github.com/RedTurtle/collective.feedback/issues
Source Code: https://github.com/RedTurtle/collective.feedback
Compatibility
This product has been tested on Plone 6
Contributors
RedTurtle Technology, sviluppoplone@redturtle.it
Changelog
1.1.5 (2024-11-07)
Feedbacks list update endpoint @@feedback-list. [folix-01]
1.1.4 (2024-08-21)
Add feedback update endpoint. [folix-01]
Add read field to the comment. [folix-01]
1.1.3 (2024-04-29)
add a plone2volto url conversion method on feedback download [lucabel]
1.1.2 (2024-03-15)
Fix typo in actions.xml permission. [cekk]
1.1.1 (2024-03-13)
re-add actions.xml file to have a user-action needed on Volto. [cekk]
1.1.0 (2024-03-12)
Only managers can access deleted feedbacks. [cekk]
Allow all authenticated users to access @feedback endpoint. The endpoint will return only feedbacks on objects that they can edit. [cekk]
Improve tests. [cekk]
Install souper.plone to have its control-panel in backend. [cekk]
Remove unused user action. [cekk]
Add actions infos in @feedback endpoint, to let the frontend know what the user can do. [cekk]
1.0.0 (2023-02-16)
Initial release. [eikichi18]
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
Hashes for collective.feedback-1.1.5.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9071ac998a4a2827e9171494137d3b4df4ecc66b97eedda672891380f3b38ea5 |
|
MD5 | b69cba635c2eaee6d56dd4b5e6edb476 |
|
BLAKE2b-256 | e617def0c32f514552ddcf3be07e88812d1e8e9d223966b47c9f4f00f6664f3b |