plone.tiles的Plone UI集成
项目描述
Plone对Tiles的特定实现
plone.app.tiles 是 Plone 对 plone.tiles 的 UI 集成。
本包包含以下内容
一个视图 @@add-tile,以及一个相关的表单,可用于根据 tile 的模式创建新的 tile。对于临时 tile,这仅仅重定向到带有适当查询字符串的 URL。对于持久化 tile,它还会保存必要的数据。成功提交时,将为新创建的 tile(临时对象)触发 IObjectCreatedEvent 以及 IObjectAddedEvent。在 IObjectAddedEvent 的情况下,newParent 属性将是 tile 的上下文,而 newName 属性将是 tile 的 id。
@@add-tile 视图,当直接访问时,允许用户从所有可用的 tile 中选择(受 tile 的添加权限限制)并重定向到相应的 @@add-tile/<tile-type> URL 来配置 tile。
一个视图 @@edit-tile,以及一个相关的表单,可用于根据 tile 的模式编辑 tile。成功提交时,将为修改后的 tile(临时对象)触发 IObjectModifiedEvent。
一个视图 @@delete-tile,以及相关的表单,可用于删除 tile 和相关持久数据。这也可以通过提供适当的请求参数的 AJAX 代码来调用。这将触发移除的 tile(临时对象)的 IObjectRemovedEvent。oldParent 属性将是 tile 的上下文,而 oldName 属性将是 tile 的 id。
一个词汇表 plone.app.tiles.RegisteredTiles,其中包含所有已注册的 tile 类型。
一个词汇表 plone.app.tiles.AvailableTiles,其中包含所有已注册的 tile 类型,这些类型已为当前上下文注册。
一个词汇表 plone.app.tiles.AllowedTiles,其中包含所有已为当前上下文注册的已注册 tile 类型,并且当前允许添加(当前用户具有所需的添加权限)。
默认的添加和编辑表单对于大多数用例就足够了。您可以使用 plone.autoform 来配置替代小部件。
如果您需要自定义表单,可以将添加视图注册为从 (context, request, tileType) 的适配器,其中 tileType 是提供 plone.tiles.interfaces.ITileType 的实例。
各种视图的实际集成留给其他包(如 Mosaic 编辑器)。
贡献者
Martin Aspeli
Sjoerd van Elferen
Rob Gietema
Israel Saeta Pérez
蒂莫·斯托尔嫩沃克
弗洛里安·弗里茨多夫
埃里科·安德烈
亚历克·米切尔
罗克·加尔巴斯
大卫·格利克
马尔西奥·马扎
埃克托尔·韦尔达
变更日志
4.0.1 (2023-12-14)
使用 ScalesDict 代替 PersistentDict 来在持久图块中存储比例尺。这避免了关于在读取时写入的 plone.protect 警告。像 plone.scale 一样动态迁移存储。[maurits]
4.0.0 (2022-12-02)
在 Python 3.10 和 3.11 上添加对 Plone 6 的支持。[maurits]
4.0.0a2 (2022-07-20)
在显式加载 demo.zcml 时注册我们的演示图块。将它们添加到 plone.app.tiles 和 plone.app.mosaic 中的列表。[maurits]
在我们的缩放代码中的 get_original_value 中接受字段名。这对于最近的 plone.namedfile 版本是必需的。[maurits]
4.0.0a1 (2022-03-09)
3.3.0 (2022-02-04)
特性
定义适用于图块的 download 和 display-file 视图。原始视图在 plone.namedfile 中无法找到图块数据。[maurits]
错误修复
修复从图块获取原始图像的问题。到目前为止,images 视图试图从图块获取字段而不是图块数据。这仅在您明确在图块上添加了具有该字段名的属性时才有效。[maurits]
3.2.3 (2022-01-28)
从 test 额外中删除了 plone.namedfile[blobs]。自从 Plone 4.3.0 以来,它一直是空的,自 Plone 4.3.0 以来使用。[maurits]
3.2.2 (2021-12-21)
特性
使用 github actions 进行测试 [petschki]
错误修复
修复图像缩放:缺少 srcset 初始化,以及错误的缩放参数(根据最新的 p.namedfile)。添加图像缩放的测试。[mamico]
修复添加/编辑/删除视图中的类安全声明警告 [petschki]
3.2.1 (2020-09-26)
修复 Zope 5 上的 ModuleNotFoundError:没有名为 ‘App.class_init’ 的模块 [agitator]
3.2.0 (2020-08-21)
新特性
正式停止支持 Plone 5.0。没有相关更改,但我们将不再对其进行测试。[maurits]
错误修复
修复编辑时图像未更改时丢失图像的问题。修复 问题 36。[lyralemos, maurits]
更新 Travis 测试设置。使用 Plone 4.3、5.1、5.2 进行测试。最后一个在 Py 2.7、3.6、3.7、3.8 上。[maurits]
3.1.3 (2020-03-21)
错误修复
更新 trove 分类器 [petschki]
3.1.2 (2019-04-18)
错误修复
Python 3 兼容的 urllib 导入 [petschki]
通过删除不再存在的 __of__ 方法的调用来修复图像缩放方法 [MrTango]
3.1.1 (2019-02-10)
Python 3 兼容性 [vangheem, petschki]
3.1.0 (2018-07-05)
将传递给 add-tile-traverser 的额外参数传递给图块添加表单 [datakurre]
在图块架构中支持字段集 [datakurre]
3.0.3 (2017-01-02)
错误修复
修复图块图像缩放泄漏未关闭打开的文件的问题 [datakurre]
3.0.2 (2016-12-21)
错误修复
修复将已弃用的字段名传递给 getAvailableSizes 的问题 [datakurre]
3.0.1 (2016-11-24)
错误修复
plone_view/mark_view 已在 Plone 5.1 中弃用并删除。请改用 plone_layout/mark_view。[thet]
3.0.0 (2016-09-15)
破坏性更改
删除 添加图块(plone.app.tiles.AddTile)权限,因为它默认未使用,并且每个图块可能有它自己的添加权限,并使用现有的权限,如 cmf.ModifyPortalContent。[datakurre]
弃用注册记录 plone.app.tiles。注册记录仍然存在,但不再被 plone.app.tiles 使用 [datakurre]
新特性
添加 CMFEditions 修改器以防止(之前损坏的)持久化瓷砖数据(在注释中)的 blob 和关系版本化;每次恢复先前版本时,都会将当前工作副本版本的 blob 和关系版本应用于恢复的版本 [datakurre]
添加新的词汇表 plone.app.tiles.RegisteredTiles、plone.app.tiles.AvailableTiles 和 plone.app.tiles.AllowedTiles,以列出所有注册的瓷砖、当前上下文中可用的瓷砖以及当前用户当前上下文中允许添加的瓷砖 [datakurre]
添加对请求具有 plone.app.drafts.interfaces.IDisplayFormDrafting 时请求草稿预览的支持(需要 plone.app.drafts >= 1.1.0) [datakurre]
错误修复
修复:在瓷砖添加和编辑表单中使用 z3c.form 的 applyForm(),以便使用 IDataManagers 并正确填充复杂字段 [danmur]
重构
使用 @property 而不是 property()。 [gforcada]
重新格式化文档并更新一些引用。 [gforcada]
更新测试基础设施。 [gforcada]
2.2.1 (2016-04-06)
修复默认角色分配:从 rolemap.xml 中的“添加瓷砖”权限中删除审阅者并添加贡献者 [jensens]
2.2.0 (2015-09-04)
移除对 plone.app.blocks 的不必要依赖 [datakurre]
修复问题,其中期望所有草稿瓷砖都在非常具体的布局字段中提及;修复以同步所有草稿瓷砖 [datakurre]
2.1.0 (2015-05-25)
移除对 @@delete-tile/tile-id 的过时支持,并将 @@delete-tile/tile-name/tile-id 视图重构为表单以支持 Plone 5 中的自动 CSRF 保护 [datakurre]
从瓷砖表单操作中移除状态消息 [datakurre]
从瓷砖表单模板中移除 tiledata JavaScript 变量 [datakurre]
将持久化瓷砖的图像缩放数据保存到瓷砖数据中,而不是单独的注释 [datakurre]
修复问题,其中草稿期间的瓷砖预览未使用草稿瓷砖数据 [datakurre]
修复问题,其中目录源无法正确检查将编辑表单中的瓷砖数据包装在获取包装器中的权限 [datakurre]
修复瓷砖表单操作 URL 中的瓷砖状态 [datakurre]
将表单操作重定向 URL 中的表单操作信息 JSON 从查询转换为片段 [datakurre]
2.0.0 (2015-04-21)
移除基础标签,因为在 Plone 5 中已移除 [robgietema]
将瓷砖删除 API 更改为与添加和编辑 API 匹配 [simahawk]
将添加遍历瓷砖类型参数从 tiletype 更改为 justa type [bloodbare]
添加意大利语翻译 [gborelli]
为 AddForm 和 DefaultEditForm 添加 nextURL 作为函数,以提供更好的覆盖支持 [datakurre]
在创建状态消息后发送事件 [vangheem]
添加图像缩放 [ableeb, simahawk]
将瓷砖编辑添加到触发对象修改事件 [ableeb]
添加 AddTile-permission [tisto]
添加对遍历延迟安全检查的支持(修复 #3) [cewing]
为可重复使用的常见瓷砖结构添加瓷砖包装器模板 [garbas]
修复 plone.app.tiles-registry 包含缺失瓷砖时的崩溃问题 [datakurre]
修复带有内联 JavaScript 的响应中错误的 doctype 问题 [jpgimenez]
修复与更改的 plone overlay API 相关的问题 [garbas]
PEP8、覆盖率、打包和测试修复 [garbas, gforcada, hvelarde, jfroche, tisto]
从瓷砖基本模式中移除自定义类(klass)选项 [vangheem]
1.0.1 (2012-06-25)
修复 1.0 版本的问题(缺少 README.rst) [garbas]
1.0 (2012-06-23)
初始发布。 [garbas]