跳转到主要内容

Plone的Volto集成插件

项目描述

https://img.shields.io/pypi/v/plone.volto.svg https://github.com/plone/plone.volto/actions/workflows/tests.yml/badge.svg

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 在 DocumentLanguage Root FolderSite 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 禁用了 RichtextTable 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

此更改具有主观性,可能与您之前定义的缩放冲突,因此请确保在应用此配置文件之后应用您的插件配置文件。

致谢和历史

kitconcept

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)

错误修复

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)

错误修复

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)

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 (91.6 kB 查看哈希值)

上传时间 源代码

构建分布

plone.volto-4.4.3-py3-none-any.whl (110.4 kB 查看哈希值)

上传时间 Python 3

由以下支持