Ufficio Stampa政策
项目描述
用于管理新闻发布通信的产品。
主要功能
专用内容类型(新闻稿和邀请函)
管理记者订阅渠道
发送新闻稿
内容类型
存在两种相同的内容类型,用于管理两种不同类型的通信。
新闻稿
邀请函
它们是具有两个附加字段(主题和立法)和文件夹属性(只能插入图片、文件和文件夹)的页面。
新闻稿序号
新闻稿相对于当年有编号(例如:1/2021)。
每次发布新闻稿时,都会增加一个序列号,并将其值与该新闻稿关联(存储在一个字段中)。
一年中发送的第一份新闻稿从编号1开始。
注册数据库
有一个内部数据库(基于souper.plone),其中存储了注册者的数据。
可以通过API路由(见后)或通过Plone实用程序查询数据库。
from zope.component import getUtility from rer.ufficiostampa.interfaces import ISubscriptionsStore tool = getUtility(ISubscriptionsStore)
以下列出了主要方法。
添加注册者
方法 add
参数: data(参数字典)
响应:新记录的唯一ID
data必须是一个包含可能参数的字典
email [必需]:发送新闻稿的地址
channels [必需]:感兴趣的发送渠道列表
name:注册者的名字
surname:注册者的姓氏
phone:注册者的电话号码
newspaper:注册者参考的新闻报纸名称
其他字段将被忽略。
搜索注册者
方法 search
参数: query(参数字典),sort_index(默认为date),reverse(默认为False)
响应:结果列表
query是一个可以包含以下一个或多个参数的字典
text(在姓名、电子邮件和姓氏字段中搜索)
channels
newspaper
更新注册者数据
方法 update
参数: data(参数字典),id(注册者标识符)
响应
data是一个可以包含以下一个或多个参数的字典
删除注册者
方法 delete
参数: id(注册者标识符)
响应
重置数据库
方法 clear
参数
响应
REST API路由
注册者列表
@subscriptions
在网站的根目录上调用 GET 端点。
仅限于具有“rer.ufficiostampa.ManageChannels”权限的用户
> curl -i -X GET https://127.0.0.1:8080/Plone/@subscriptions -H 'Accept: application/json' -H 'Content-Type: application/json' --user admin:admin
响应类似于以下内容
{ "@id": "https://127.0.0.1:8080/Plone/@subscriptions", "items": [ ... ], "items_total": 42, "channels": [...] }
创建新注册者
@subscriptions
在网站的根目录上调用 POST 端点。
仅限于具有“rer.ufficiostampa.ManageChannels”权限的用户
> curl -i -X POST https://127.0.0.1:8080/Plone/@subscriptions -H 'Accept: application/json' -H 'Content-Type: application/json' --data-raw '{"email": "foo@plone.org", "channels": ["first", "second"]}' --user admin:admin
如果操作成功,服务器将返回 204。
更新注册者数据
@subscriptions
在网站的根目录上调用 PATCH 端点。
仅限于具有“rer.ufficiostampa.ManageChannels”权限的用户
> curl -i -X PATCH https://127.0.0.1:8080/Plone/@subscriptions/subscription_id -H 'Accept: application/json' -H 'Content-Type: application/json' --data-raw '{"email": "foo@plone.org", "name": "John"}' --user admin:admin
其中 subscription_id 是要更新的注册者的ID。
如果操作成功,服务器将返回 204。
适用与创建字段的规则。
删除注册者
@subscriptions
在网站的根目录上调用 DELETE 端点。
仅限于具有“rer.ufficiostampa.ManageChannels”权限的用户
> curl -i -X DELETE https://127.0.0.1:8080/Plone/@subscriptions/subscription_id -H 'Accept: application/json' --user admin:admin
其中 subscription_id 是要更新的注册者的ID。
如果操作成功,服务器将返回 204。
删除注册者
@subscriptions-clear
在网站的根目录上调用 GET 端点。
仅限于具有“rer.ufficiostampa.ManageChannels”权限的用户
> curl -i -X DELETE https://127.0.0.1:8080/Plone/@subscriptions-clear -H 'Accept: application/json' --user admin:admin
完全清空注册者的数据库。
如果操作成功,服务器将返回 204。
导出为CSV
@subscriptions-csv
在网站的根目录上调用 GET 端点。
仅限于具有“rer.ufficiostampa.ManageChannels”权限的用户
> curl -i -X GET https://127.0.0.1:8080/Plone/@subscriptions-csv -H 'Accept: application/json' --user admin:admin
返回一个包含注册者列表的csv文件。
从CSV导入
@subscriptions-csv
在网站的根目录上调用 POST 端点。
仅限于具有“rer.ufficiostampa.ManageChannels”权限的用户
> curl -i -X POST https://127.0.0.1:8080/Plone/@subscriptions-csv -H 'Accept: application/json' -H 'Content-Type: application/json' --data-raw '{"overwrite":true,"file":{"data": "...","encoding":"base64","content-type":"text/comma-separated-values","filename":"iscritti.csv"}}' --user admin:admin
接受以下参数
overwrite:如果 true,如果数据库中已存在与文件中电子邮件相同的记录,则使用新数据覆盖它。如果参数不存在或 false,则保持数据库中已存在的值而不更新。
clear:如果 true,在执行导入之前,将完全删除数据库。
file:要上传的csv文件。编码为base64
调用返回以下类型的响应
{ "imported": 0, "skipped": [] }
其中 imported 是实际插入数据库的元素数量,skipped 是由于某些原因而被忽略的文件中的行列表(条目已存在且未设置overwrite)。
如果电子邮件无效或“channels”包含控制面板中未设置的任何渠道,则进程将中断,并返回包含无效值的文件行列表的响应
{ "errored": [] }
安装
通过将其添加到您的buildout来安装rer.ufficiostampa
[buildout] ... eggs = rer.ufficiostampa
然后运行 bin/buildout
贡献
支持
如果您遇到问题,请告诉我们。我们有一个位于:的邮件列表 project@example.com
许可证
该项目许可在GPLv2下。
贡献者
RedTurtle Technology,sviluppo@redturtle.it
变更日志
1.6.7 (2024-09-19)
在电子邮件模板中用X替换Twitter。 [cekk]
1.6.6 (2023-03-14)
不要在发送之前降低所有地址并发送重复的电子邮件。 [cekk]
1.6.5 (2023-01-05)
为关键字索引添加查询字符串修饰符以防止utf-8错误。 [cekk]
1.6.4 (2023-01-03)
也索引内容中的文本。 [cekk]
1.6.3 (2022-11-23)
从查询字符串中读取从属表单字段的值。 [cekk]
1.6.2 (2022-11-03)
修复字段逻辑。 [cekk]
在立法字段中设置正确的值。 [cekk]
1.6.1 (2022-10-27)
修复README缩进。 [cekk]
1.6.0 (2022-10-27)
处理搜索表单中立法和论点的master/select逻辑。 [cekk]
对于订阅者导入,增加了额外的验证,如果传递无效的电子邮件/渠道,还有新的行为 [foxtrot-dfm1]
1.5.1 (2022-06-06)
将查询传递到export-csv端点以仅导出所选订阅者。 [cekk]
1.5.0 (2022-03-10)
为Comunicato和Invito添加版本控制。 [cekk]
为附加字段添加solrpush行为。 [cekk]
1.4.0 (2022-01-20)
为comunicati添加新的搜索端点(@search-comunicati)。这是必要的,因为新的rer.sitesearch覆盖了@search端点并且总是搜索SOLR。 [cekk]
1.3.0 (2022-01-20)
在保存时规范化标题和描述。 [cekk]
在Comunicato视图中添加有效日期。 [cekk]
1.2.2 (2021-11-04)
Arguments字段现在是必需的。 [cekk]
1.2.1 (2021-09-16)
在发送之前清理主题字符串,以删除奇怪字符。 [cekk]
1.2.0 (2021-09-02)
清理渠道(删除重复的渠道)。 [cekk]
重构执行查询的方式(以处理Unicode问题)。 [cekk]
可访问性修复:模态焦点陷阱 + 选择键盘事件 [nzambello]
1.1.0 (2021-08-05)
不允许在arguments字段中添加新项目。 [cekk]
在csv中导出标题和编号。 [cekk]
正确地用“’”包裹搜索词。 [cekk]
自定义社交小部件以修复标题和描述元标签(并且还添加了rer.agidtheme.base的轻依赖项)。 [cekk]
添加ftfy依赖项以更好地编码csv导出。 [cekk]
1.0.1 (2021-07-09)
修复python2的导入并排序索引。 [cekk]
1.0.0 (2021-05-26)
初始发布。 [cekk]
项目详情
下载文件
下载适用于您的平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。
源代码分发
构建分发
rer.ufficiostampa-1.6.7.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | ae602169353c909ad90f36aef13a23c408b739f6b805e5189ad7ad587f887808 |
|
MD5 | bc1e44f2d0fcf3a844286edf2749b09b |
|
BLAKE2b-256 | bcee08979aee1d2a919dbe90a0b57787db0918eedbaa89c1f6db2cc0ca89d8c3 |
rer.ufficiostampa-1.6.7-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | d56fc743b211cb6ee831fa306ee27d6e8d52f93c1612684072c47da292efe04a |
|
MD5 | 8a4dc5cce554f05ef832f705f3d276e5 |
|
BLAKE2b-256 | 5b4910aafd234d8a912e56bab2f89ac2849b15c49ff9b593869158db2af5d006 |