Plone的收藏夹/收藏夹(内部)
项目描述
Plone Classic的收藏夹(又称收藏夹、愿望清单)。
Plone的副件是 collective/volto-bookmarks
功能
- 存储以下收藏夹:
匿名用户在本地存储中。
认证用户在用户属性中作为JSON
REST-API后端
基于SvelteJS的前端
数据格式
收藏夹列表
- 一个收藏夹是一个可序列化为JSON的(类似字典)对象,包含以下键
uid:内容项的UID
created:ISO格式的日期(类似于plone.restapi)
group:组名或空字符串表示 全局 组
owner:唯一的拥有者标识符(字符串)
queryparams:字符串:与uid、owner和group一起标识收藏夹
payload:任意字典,包含自定义键值数据(可选)
RESTAPI
以 application/json 格式读取/存储到用户属性中。
端点
- @bookmark - 单个书签
GET 参数 uid-…(单个)
POST 创建新书签,正文是包含一个书签的 JSON
PUT 覆盖书签,正文是包含一个书签的 JSON
DELETE 删除书签,正文是 JSON,包含一个字符串 uid 的列表
- @bookmarks - 书签列表
GET 通过 uids 参数 ?uid=...&uid=...
GET 通过 group 参数 ?group=...
DELETE 正文是 JSON,包含 uids 列表
前端
- 查看 @@bookmarks_sample 了解示例用法
<bookmark-element> 书签操作按钮(启用/禁用)
<bookmark-sum> 书签数量,作为可能的个人操作条目
<bookmark-list> 用户书签列表
目录管理
在控制面板中安装 Souper Plone 扩展。
安装
通过将其添加到您的 buildout 中安装 collective.bookmarks
[buildout] ... eggs = collective.bookmarks
然后运行 bin/buildout
贡献
支持
我们很高兴看到许多分支和拉取请求,使此插件更加完善。
维护者是 Jens Klein,Peter Holzer 和 BlueDynamics Alliance 开发团队。我们感谢任何贡献,如果需要在 pypi 上发布版本,请与我们中的任何一位联系。
我们还提供商业支持,如果您需要培训、辅导、集成或定制。
许可证
该项目采用 GPLv2 许可。
贡献者
Jens W. Klein,jk@kleinundpartner.at
Peter Holzer,peter.holzer@agitator.com
Maik Derstappen,md@derico.de
Katja Süss,k.suess@rohberg.ch
变更日志
1.1 (2023-03-06)
如果内容没有被书签,则返回 204,而不是抛出 NotFound。 [ksuess]
1.1a1 (2021-03-05)
唯一标识符已更改为 (uid, owner, group, queryparams),之前是 (uid, owner, group)。允许书签搜索查询 URL。 [ksuess]
BREAKING: 'created' 的格式与 plone.restapi 一样:from plone.restapi.serializer.converters import json_compatible [ksuess]
转换为自定义元素,各种扩展/优化 [jensens]
1.0a1 (未发布)
初始发布。 [jensens]