Plone的Volto集成插件
项目描述
plone.volto
plone.volto 配置 Plone 以与 Volto 一起工作,它是 Plone 6 的新默认前端。
安装
通过将其添加到您的 buildout 中安装 plone.volto
[buildout] ... [instance] ... eggs = plone.volto ...
兼容性
plone.volto 目前适用于 Plone 5.2 和 Plone 6(预 alpha 和 alpha)。它支持 Python 3.7、3.8 和 3.9。
然而,Volto 需要 plone.volto 和 plone.restapi 的特定版本
plone.volto |
plone.restapi |
原因 |
3.1.x |
8.13.0 及以上 |
需要 plone.restapi 8.13.0 中添加的新 JSONSummarySerializerMetadata 序列化器 |
2.x(kitconcept.volto) |
7.0.0 及以上 |
新的图像缩放 |
1.x(kitconcept.volto) |
6.0.0 及以下 |
新的转换和功能 |
plone.restapi 7.x.x 包含在 Plone 5.2.4(及更高版本)中。
您仍然可以在基于 p.restapi 7.0.0 的安装中使用 2.x,但包含的转换将不会工作。
Volto 仅支持最新的 plone.restapi 分支,因此建议在您的 Volto 项目中始终使用最新版本。
Plone 6 架构
Plone 6 架构图
Frontend ┌──────────────────────────────┐ │ │ │ Volto │ │ │ └────────┬────────────┬────────┘ │ ▲ │ HTTP │ Backend ▼ │ ┌────────┴────────────┴────────┐ │┌────────────────────────────┐│ ││ plone.restapi ││ │└────────────────────────────┘│ │┌────────────────────────────┐│ ││ plone.volto ││ │└────────────────────────────┘│ │┌────────────┐ ┌─────────────┐│ ││ Plone Core │ │ Add-Ons ││ │└────────────┘ └─────────────┘│ └──────────────────────────────┘
特性
plone.volto 提供以下特性
Volto 块支持
plone.volto 在 Document、Language Root Folder 和 Site Root 上启用新的 Volto Blocks 编辑器。
块类型索引
plone.volto 为 Plone 目录添加了 block_types 索引。它可以用于查询使用特定类型块的项目。
from plone import api
portal_catalog = api.portal.get_tool("portal_catalog")
portal_catalog.searchResults(block_types="image")
block_types 索引是在 plone.volto 4.1.0 中添加的。默认情况下,它仅添加到新 Plone 网站。要将它添加到现有网站,请手动运行 plone.volto.upgrades.add_block_types_index。
多语言支持
plone.volto 支持多语言网站。在安装此包之前安装 PAM,并将在每个启用的语言中创建演示首页。目前仅支持 EN/DE。
Plone 网站根的 Volto 块
plone.volto 包含一个黑客技巧,使 Plone 网站启用 Volto 块并包含一些演示内容。您只需使用黑客技巧即可在您的网站上启用块。
您可以在 Volto 演示中看到它的工作情况:https://6.demo.plone.org
安装提供的配置文件以默认安装
plone.volto:default-homepage
例如,在您的 GS metadata.xml 中,与您的其他依赖项一起
<metadata> <version>1000</version> <dependencies> <dependency>plone.volto:default-homepage</dependency> </dependencies> </metadata>
注意:创建根(或相应的语言根文件夹)中默认内容的默认块为“draftJS”文本块。plone.volto 提供了一个配置文件,如果您想创建 Slate 块,则需要使用 default-homepage-slate 配置文件。
文档内容类型
plone.volto 禁用了 Richtext 和 Table of Contents 行为的 Document 内容类型。富文本功能由新的 Volto Blocks 编辑器提供。目录功能由 Volto 中的 Table of Contents Block 提供。
CORS 配置文件
在 plone.volto 模块中提供了一个快速助手,用于在开发配置中启用 CORS。因此,您可以在开发时调用
<include package="plone.volto.cors" />
您的 ZCML 中。
按需启用它,因为如果在您的生产网站上启用 CORS 被视为安全问题。
计划在未来的 Volto 中添加一个到后端的开发代理。将在下一轮冲刺中解决。
ZLog 补丁
通过古老的 ZLog 路由 p.restapi 低级错误,并启用 plone_error,由于所有内容都标记为 UUID,因此很难跟踪。特别是如果您使用像 Sentry 这样的助手。此补丁删除了 UUID,因此相同的错误将一起分类。计划在下一轮冲刺中解决。
subject 字段补丁
由于当前Plone默认Dexterity subjects 字段的结构,特殊字符的序列化存在一些问题,需要在使其与Volto(以及其他不是Plone的系统)正常工作之前解决。这将在即将到来的sprint中在核心中修复。
预览图片行为
预览图片行为使内容类型提供可以存储预览图片的 preview_image 字段,这些图片可以被Volto视图选取。这对于列表(例如,列表块自定义)和摘要元素(例如,[volto-blocks-grid](https://github.com/kitconcept/volto-blocks-grid))特别有用。
可以在内容类型的通用设置XML定义中启用 volto.preview_image 行为(例如,/profiles/default/types/MyContentType.xml)
<?xml version="1.0" encoding="UTF-8" ?> <object i18n:domain="my.project" meta_type="Dexterity FTI" name="MyContentType" xmlns:i18n="http://xml.zope.org/namespaces/i18n"> ... <!-- Enabled behaviors --> <property name="behaviors" purge="false"> ... <element value="volto.preview_image" /> </property> ... </object>
还有一种名为 volto.preview_image_link 的预览图片行为的变体。这个变体通过关联到图像内容类型来存储预览图片,而不是在图像字段中。如果许多内容项使用相同的预览图片,这可能更受欢迎。
标题标题行为
headtitle使内容类型提供可以用于Volto在摘要和其他类似内容中的headtitle字段。
可以在内容类型的通用设置XML定义中启用“volto.head_title”行为(例如,“/profiles/default/types/MyContentType.xml”)
<?xml version="1.0" encoding="UTF-8" ?> <object i18n:domain="fzj.internet" meta_type="Dexterity FTI" name="MyContentType" xmlns:i18n="http://xml.zope.org/namespaces/i18n"> ... <!-- Enabled behaviors --> <property name="behaviors" purge="false"> ... <element value="volto.head_title" /> </property> ... </object>
图像缩放
此包在Plone中引入了新的Plone图像缩放,并重新定义了一些现有的缩放。这些缩放与Volto布局和网格系统配合良好
icon 32:32 tile 64:64 thumb 128:128 mini 200:65536 preview 400:65536 teaser 600:65536 large 800:65536 larger 1000:65536 great 1200:65536 huge 1600:65536
此更改具有主观性,可能与您之前定义的缩放冲突,因此请确保在应用此配置文件之后应用您的插件配置文件。
致谢和历史
plone.volto的代码一直在积极开发中,并自2018年起在生产中使用。最初作为kitconcept.voltodemo(自2020年3月5日起已弃用),然后作为kitconcept.volto。2021年9月,kitconcept.volto被重命名为plone.volto,并作为PLIP #2703的一部分贡献给了Plone核心。
贡献者
Timo Stollenwerk,原作者
Victor Fernandez de Alba,原作者
Érico Andrei
Carsten Senger
Roberto Diaz
Rodrigo Ferreira de Souza
Alin Voinea
Steve Piercy
变更日志
4.4.3 (2024-08-01)
错误修复
修复在将集合迁移到列表块时获取变体的问题。@pbauer (#158)
4.4.2 (2024-06-26)
错误修复
删除对plone.app.upgrade的运行时依赖。@davisagli (#142)
当requests库缺失时,不要在启动时失败。有条件地加载迁移到Volto的视图:仅当requests库可用时。我们不希望使其成为硬依赖。如果您需要迁移视图,您应自行包含requests包。[maurits] (#152)
4.4.1 (2024-05-16)
错误修复
不要设置非文件夹式选项卡注册为False。@wesleybl (#145)
当字段为空时,修复preview_image_link image_scales适配器。交换condition for image_field索引器,首先尝试preview_image_link,然后是默认的preview_image [sneridagh] (#148)
4.4.0 (2024-04-25)
新功能
从Products.CMFPlone.interfaces.controlpanel导入ILanguageSchema,而不是从plone.i18n.interfaces导入。@ksuess配置文件“plone.volto:multilingual”:添加德语。@ksuess (#144)
错误修复
避免在Plone 6中的已弃用导入警告。@davisagli (#147)
4.3.0 (2024-01-30)
新功能
将VOLTO_FRONTEND_DOMAIN作为环境变量添加到volto.frontend_domain注册设置[@sneridagh] (#139)
4.2.1 (2024-01-26)
错误修复
修复plone.leadimage和plone.richtext的行为变更和标记接口。参见:https://github.com/plone/plone.app.contenttypes/pull/480 @thet (#133)
避免在block_types索引器中意外获取。@davisagli (#137)
4.2.0 (2023-12-13)
新功能
添加pt_BR翻译。@wesleybl (#133)
将preview_image_link行为添加到用于测试的Example内容类型中@snrerdagh (#136)
错误修复
为仅在Plone 6中使用的Volto安装状态消息中的模板添加守卫@snrerdagh (#135)
4.1.0 (2023-08-07)
新功能
将block_types索引添加到zcatalog。默认情况下,它仅对新Plone站点添加。要将它添加到现有站点,请手动运行plone.volto.upgrades.add_block_types_index。[margaridasp, davisagli] (#4778)
错误修复
将查找嵌套块的实施方式更改为使用IBlockVisitor适配器。@davisagli (#127)
修复head_title字段的缺失翻译。@davisagli (#130)
4.0.10 (2023-07-14)
错误修复
有条件地使用plone.app.multilingual,以便它不是一个显式依赖项[@foxtrot-01] (#119)
4.0.9 (2023-06-22)
错误修复
让@@migrate_to_volto迁移表单默认将richtext转换为slate-blocks。[pbauer] (#122)
修复migrate_to_volto中未选中的复选框的值。[pbauer] (#124)
4.0.8 (2023-03-23)
错误修复
在调用make_document时使用正确的service_url。修复#95 [pbauer] (#95)
更改主页更多演示链接。修复#114 (#114)
4.0.7 (2023-03-02)
错误修复
改进集合的迁移:修复迁移sort_order。在迁移default-page集合到列表块时,调整查询的相对路径。[pbauer] (#111)
4.0.6 (2023-02-27)
错误修复
防止在迁移到FolderishDocument时出现AttributeError。[pbauer] (#109)
4.0.5 (2023-01-19)
错误修复
在链接完整性记录中包含嵌套块中的内部链接。[davisagli] (#108)
内部
更新默认Plone Classic UI消息,通知开发人员安装、启动和访问Volto前端(如果需要),并提供相关文档的更新链接。[stevepiercy] (#107)
4.0.4 (2022-12-16)
错误修复
在@@migrate_to_volto向导中提供澄清。Volto是一个独立的服务,需要配置和托管。它不包括在Plone后端中。迁移之前在RichText字段中的主要内容的编辑将不再可能。修复到Volto前端文档的链接。[fredvd, stevepiercy] (#106)
4.0.3 (2022-12-14)
错误修复
修复演示页和默认页中的a11y问题。[sneridagh] (#105)
4.0.2 (2022-12-12)
错误修复
修复create_default_homepage脚本中不存在描述字段的问题。修复默认和演示页面的文本[sneridagh] (#103)
4.0.1 (2022-12-12)
内部
为演示和本地安装准备6个最终默认文本。[stevepiercy] (#102)
4.0.0 (2022-11-18)
内部
重新发布plone.volto 4.0.0a15作为4.0.0 [tisto] (#99)
4.0.0a15 (2022-11-16)
错误修复
修复在存在leadimage时迁移到Volto时添加leadimage块的问题。[pbauer] (#96)
使
过程在多次运行或plone.volto首先安装时更加健壮。[pbauer] (#97) 在面包屑视图中不要从父级获取nav_title。[davisagli] (#98)
4.0.0a14 (2022-11-02)
错误修复
改进head_title字段的帮助文本。[davisagli] (#92)
调整Plone站点操作以在Volto中工作。[nileshgulia1, davisagli] (#93)
当plone.volto安装时在经典UI中显示警告。修复https://github.com/plone/Products.CMFPlone/issues/3664 [pbauer] (#94)
4.0.0a13 (2022-09-29)
错误修复
在从folderishtypes迁移时保留文件夹顺序。[cekk] (#86)
修复当preview_image_link关系损坏时hasPreviewImage和image_field索引器的值。[davisagli] (#91)
4.0.0a12 (2022-09-27)
新功能
在经典控制面板中添加适当的图标。[sneridagh] (#89)
4.0.0a11 (2022-09-04)
错误修复
更新Slate的演示主页内容(第2轮)。@stevepiercy (#85)
内部
签署CONTRIBUTORS.rst。[stevepiercy (#88)
4.0.0a10 (2022-08-30)
错误修复
更新Slate的默认主页内容。[stevepiercy (#84)
内部
添加了make i18n命令。[davisagli] (#81)
4.0.0a9 (2022-08-12)
新功能
添加了预览图片链接行为(仅限Plone 6+)[robgietema] (#49)
4.0.0a8 (2022-08-04)
新功能
添加了更好的PLONE6检查实现(外观)[sneridagh] (#59)
将slate作为default-homepage和multilingual配置文件默认文本块的默认值。[sneridagh] (#77)
4.0.0a7 (2022-07-22)
新功能
使用新的元数据工具向默认序列化添加image_scales。[ericof] (#74)
错误修复
在GitHub Actions和plone/code-quality Docker镜像及版本上使用plone/code-analysis-action格式化代码。[ericof] (#68)
修复了处理嵌套块中UID解析的处理程序,以避免尝试两次解析。这还使得在嵌套块上下文中,使用在resolveuid转换之前有意运行的反序列化和序列化转换成为可能。[davisagli] (#76)
4.0.0a6 (2022-06-25)
错误修复
重新发布4.0.0a5/4.0.0a5.dev0 [tisto] (#72)
4.0.0a5 (2022-06-25)
新功能
添加表单@@migrate_richtext以将html-richtext迁移到slate块或draftjs块。[pbauer] (#47)
添加@@migrate_to_volto以准备现有站点为Volto。[pbauer] (#55)
错误修复
更新测试到6.0.0a4和新pip实践。[sneridagh] (#51)
适用于Plone < 6的条件的自定义IImageScaleFactory适配器(现在svg由plone.namedfile处理)。[cekk] (#60)
修复了代码质量配置。删除了未使用的导入和变量,并排序了导入。[maurits] (#71)
4.0.0a4 (2022-04-08)
修复了isDefaultPage的弃用导入[ pbauer]
4.0.0a3 (2022-02-04)
修复多语言配置文件,回退到使用draftJS(直到slate集成到Volto)[sneridagh]
4.0.0a2 (2022-01-25)
恢复draftJS为默认,直到Slate完全集成到Volto [sneridagh]
4.0.0a1 (2022-01-25)
破坏性更改
使用Slate块作为默认页面[sneridagh]
将volto.blocks行为添加到Plone站点GS类型信息。[sneridagh]
从GS类型信息中删除Collection。[sneridagh]
从Plone站点、文档、新闻条目、事件中删除plone.richtext行为[sneridagh]
在事件和新闻条目上添加块行为[nzambello]
在事件中添加preview_image[nzambello]
内部
代码清理,从setuptools.py中删除一些过时和未使用的辅助程序[sneridagh]
解决测试固定隔离问题,使用IVoltoSettings.frontend_domain设置。[rpatterson]
3.1.0a9 (2022-01-15)
破坏性更改
删除c.folderishtypes依赖
新功能
在coresandbox中添加新字段:不由词汇字段限制,而是由小部件中定义的词汇限制。[sneridagh]
3.1.0a8 (2022-01-12)
为内容演示页面计算了版权日期[sneridagh]
3.1.0a7 (2021-12-11)
新功能
添加了coresandbox固定件用于Volto的cypress测试[sneridagh]
内部
使用Plone 6.0.0a2进行测试[ericof]
3.1.0a6 (2021-11-22)
新功能
添加巴斯克语和西班牙语翻译[erral]
添加意大利语翻译[cekk]
错误修复
更新德语翻译[timo]
修复翻译文件[cekk, timo]
3.1.0a5 (2021-11-07)
新功能
使用新的元数据工具将image_field添加到默认序列化。此功能需要plone.restapi 8.13.0中添加的JSONSummarySerializerMetadata序列化程序。[ericof]
内部
使用plone/setup-plone github action。[ericof]
3.1.0a4 (2021-10-29)
内部
使用pip安装Plone的初始支持和测试。[ericof]
3.1.0a3 (2021-10-25)
破坏性更改
明确要求Python 3.7或更高版本。[ericof]
内部
从依赖项中删除jq并删除旧的blocksremoveserver.py脚本。[ericof]
从依赖中移除 z3c.jbot [ericof]
从依赖中移除 requests [ericof]
3.1.0a2 (2021-10-14)
错误修复
修复了Windows上的安装问题,问题14。 [maurits]
3.1.0a1 (2021-10-11)
功能
为目录中的图像检测添加新的 image_field 元数据 [sneridagh]
内部
添加Plone 6.0.0-pre-alpha配置。 [tisto]
升级到Plone 5.2.5 [tisto]
将GS设置配置文件标签更改为“Plone 6 前端(plone.volto)”。 [tisto]
3.0.0a1 (2021-09-25)
重大变更
将kitconcept.volto重命名为plone.volto。 [tisto]
2.5.3 (2021-09-13)
修复了docker镜像中多语言固定件的守卫条件。 [sneridagh]
2.5.2 (2021-09-13)
修复了docker镜像中的多语言固定件,守卫似乎不起作用,因为某些原因块和块布局尚未设置 (?) [sneridagh]
2.5.1 (2021-09-12)
“对GS配置文件进行更通用和简化,以定义Plone站点” (https://github.com/kitconcept/kitconcept.volto/pull/38) [sneridagh]
2.5.0 (2021-09-12)
通过显式包含configure.zcml中的依赖项,支持基于pip的Plone安装 [ericof]
将Lock-Token添加到默认的CORS允许头部 [avoinea]
如果已设置,则通过启用PAM在默认主页上添加对块不覆盖的守卫 [sneridagh]
2.4.0 (2021-07-19)
修复“导航标题”的德语翻译(“Navigation titel” -> “Navigationstitel”) [timo]
修复并完成从Volto 12到Volto 13的升级步骤 [sneridagh]
添加辅助脚本 [sneridagh]
将preview_image添加到转换中 [sneridagh]
添加headtitle行为 [sneridagh]
为setuphandlers的disablecontenttype添加守卫 [sneridagh]
修复审计脚本 [sneridagh]
为volto-blocks-grid的自定义转换添加子块支持 [sneridagh]
2.3.0 (2021-05-19)
添加升级步骤功能
添加从Volto 12到Volto 13的升级步骤 [sneridagh]
2.2.1 (2021-04-21)
更好的多语言配置文件 [sneridagh]
2.2.0 (2021-04-21)
为Cypress测试添加多语言测试固定件 [sneridagh]
2.1.3 (2021-03-26)
将requests添加为依赖项 [sneridagh]
2.1.2 (2021-03-07)
为演示站点添加演示主页 [sneridagh]
2.1.1 (2021-03-06)
添加演示站点配置文件 [sneridagh]
2.1.0 (2021-02-23)
从types_use_view_action_in_listings中移除图像和文件,因为在Volto中根本不使用。 [sneridagh]
2.0.0 (2021-02-20)
[重大变更] 在GenericSetup配置文件中定义与Volto图像缩放良好的已知工作方式。当此插件安装或应用配置文件时,它将覆盖您Plone站点中现有的缩放。如果您正在使用针对您的项目特定的缩放,请确保在安装此插件配置文件之后安装它们。
这些缩放已在实际生产项目中进行了测试,并且与Volto的布局和响应视口配合良好。 [timo, sneridagh]
1.7.2 (2021-01-26)
尚未更改。
1.7.1 (2021-01-25)
修复第一级选项卡并添加nav_title [sneridagh]
1.7.0 (2021-01-21)
将
覆盖添加以包含nav_title [sneridagh]
1.6.0 (2021-01-14)
为preview_image添加索引器,它允许Volto对象浏览器小部件访问它 [sneridagh]
1.5.2 (2020-12-14)
缺少翻译的ZCML [sneridagh]
1.5.1 (2020-12-14)
添加zest.pocompile [sneridagh]
添加缺少的.moc文件 [sneridagh]
1.5.0 (2020-12-09)
修复德语的默认区域设置 [sneridagh]
1.4.0 (2020-07-29)
将volto.preview_image行为添加到页面类型。 [timo]
1.3.2 (2020-05-17)
确保enable_pam辅助函数完成其工作。 [sneridagh]
1.3.1 (2020-05-12)
修复LRF全局允许并确保默认行为 [sneridagh]
1.3.0 (2020-05-11)
为导航添加注册导航设置,以不在导航中显示当前项 [sneridagh]
新的enable_pam设置处理器辅助函数 [sneridagh]
新的enable_pam_consistency设置处理器辅助函数 [sneridagh]
1.2.0 (2020-04-17)
恢复事件类型,因为它现在在Volto中完全正常工作 [sneridagh]
修复行为名称中的拼写错误 navttitle -> navtitle [sneridagh]
1.1.0 (2020-03-10)
为图像内容类型添加了特定的IImageScaleFactory,以修复SVG处理问题。[sneridagh]
1.0.1 (2020-03-08)
更新默认主页的版本号。[sneridagh]
1.0.0 (2020-03-06)
添加Zope日志补丁。[sneridagh]
添加nav_title和preview_image行为。[sneridagh]
使用未编码的主题值作为标记的版本,覆盖plone.app.vocabularies.Keywords。[csenger]
从文档类型中移除版本控制行为。[timo]
将plone.voltodemo中所有功能回滚。[sneridagh]
在Products.CMFPlone中修补密码重置工具,以使用发送给用户的电子邮件中的可选volto_domain,仅在通过REST请求时使用。[fredvd]
添加具有前端_domain字段的Volto设置控制面板。[fredvd]
用于演示目的的主页配置文件。[sneridagh]
CORS配置文件。[sneridagh]
启用文档和LRF的Volto块。[sneridagh]
初始版本。[kitconcept]
项目详情
下载文件
下载适合您平台的应用文件。如果您不确定选择哪个,请了解有关安装包的更多信息。
源分布
构建分布
plone_volto-4.4.3.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 7ec6866b9bb917fe91dc9967c6f100d73c11e3ff861ed6ec5780e0dee4575cbe |
|
MD5 | 86bc5edc5bfd7b5f7a655107404ea913 |
|
BLAKE2b-256 | 269913113a84d4767b4ad7f120b92bcb25558abced8096c201f3e621f2774b0e |
plone.volto-4.4.3-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 8bd8e410abbfbb492fe3c67d3b719cff72d8350045ffefdcf36d53be377e76f4 |
|
MD5 | e14a79abb8216af860c6609da586ca54 |
|
BLAKE2b-256 | 629b4729bba29600c14fa3893d3d9a306dad505078f6caedcc93f428e4ff6aca |