plone.volto


Nameplone.volto JSON
Version 5.0.3 PyPI version JSON
download
home_pagehttps://github.com/plone/plone.volto
SummaryVolto integration add-on for Plone
upload_time2025-02-11 19:38:19
maintainerNone
docs_urlNone
authorPlone Foundation
requires_python>=3.10
licenseGPL version 2
keywords python plone cms
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <p align="center">
    <img alt="Plone Logo" width="200px" src="https://raw.githubusercontent.com/plone/.github/main/plone-logo.png">
</p>

<h1 align="center">plone.volto</h1>

<div align="center">

[![PyPI](https://img.shields.io/pypi/v/plone.volto)](https://pypi.org/project/plone.volto/)
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/plone.volto)](https://pypi.org/project/plone.volto/)
[![PyPI - Wheel](https://img.shields.io/pypi/wheel/plone.volto)](https://pypi.org/project/plone.volto/)
[![PyPI - License](https://img.shields.io/pypi/l/plone.volto)](https://pypi.org/project/plone.volto/)
[![PyPI - Status](https://img.shields.io/pypi/status/plone.volto)](https://pypi.org/project/plone.volto/)


[![PyPI - Plone Versions](https://img.shields.io/pypi/frameworkversions/plone/plone.volto)](https://pypi.org/project/plone.volto/)

[![Meta](https://github.com/plone/plone.volto/actions/workflows/meta.yml/badge.svg)](https://github.com/plone/plone.volto/actions/workflows/meta.yml)
![Code Style](https://img.shields.io/badge/Code%20Style-Black-000000)

[![GitHub contributors](https://img.shields.io/github/contributors/plone/plone.volto)](https://github.com/plone/plone.volto)
[![GitHub Repo stars](https://img.shields.io/github/stars/plone/plone.volto?style=social)](https://github.com/plone/plone.volto)

</div>

`plone.volto` configures [Plone](https://plone.org/) to work with [Volto](https://www.npmjs.com/package/@plone/volto), the default frontend of Plone since version 6.0.

## Installation

Add `plone.volto` either to the Plone installation using `pip`:

```shell
pip install plone.volto
```

or add it as a dependency in your package's `setup.py`:

```python
    install_requires = [
        "plone.volto",
        "setuptools",
    ],
```

## Compatibility

`plone.volto` version 5.x works with Plone 6.1 (pre-alpha and alpha), and supports Python 3.10, 3.11, and 3.12.

Volto requires specific versions of `plone.volto` and `plone.restapi`:

| `plone.volto` | `Plone` | `plone.restapi` | Comments |
| --- | --- | --- | --- |
|  5.x | 6.1 |  8.41.0 and above | |
|  4.x | 5.2, 6.0 |  8.41.0 and above | |
|  3.x | 5.1, 5.2 |  8.13.0 and above | Requires new `JSONSummarySerializerMetadata` serializer added in `plone.restapi` 8.13.|
|  2.x (`kitconcept.volto`) | 5.1, 5.2 |  7.0.0 and above | New image scales |
|  1.x (`kitconcept.volto`) | 5.1, 5.2 |  6.0.0 and below | New transforms and features |

Volto only supports the latest `plone.restapi` branch, therefore it is recommended to always use the latest version in your Volto projects.

## Plone 6 architecture

Architectural diagram of Plone 6:

```text
    Frontend
    ┌──────────────────────────────┐
    │                              │
    │            Volto             │
    │                              │
    └────────┬────────────┬────────┘
             │            ▲
             │    HTTP    │
    Backend  ▼            │
    ┌────────┴────────────┴────────┐
    │┌────────────────────────────┐│
    ││        plone.restapi       ││
    │└────────────────────────────┘│
    │┌────────────────────────────┐│
    ││         plone.volto        ││
    │└────────────────────────────┘│
    │┌────────────┐ ┌─────────────┐│
    ││ Plone Core │ │   Add-Ons   ││
    │└────────────┘ └─────────────┘│
    └──────────────────────────────┘
```

## Features

`plone.volto` provides the following features:


### Volto blocks support


`plone.volto` enables the new Volto blocks editor on `Document`, `Language Root Folder`, and `Site Root`.


### Block types index

`plone.volto` adds a `block_types` index to the Plone catalog.
It can be used to query for items that use a particular type of block.

```python
from plone import api
portal_catalog = api.portal.get_tool("portal_catalog")
portal_catalog.searchResults(block_types="image")
```

The `block_types` index was added in `plone.volto` 4.1.0.
By default it is only added for new Plone sites.
To add it to an existing site, run `plone.volto.upgrades.add_block_types_index` manually.


### Multilingual support

`plone.volto` supports multilingual websites.
Install PAM before installing this package, and demo homepages will be created in each enabled language.
Support is currently only for `EN` and `DE`.

### Document content type

`plone.volto` disables the `Richtext` and `Table of Contents` behaviors for the `Document` content type.
Rich text functionality is provided by the new Volto blocks editor.
The `Table of Contents` functionality is provided by the `Table of Contents` block in Volto.


### CORS profile

A quick helper to enable CORS for development configuration is also provided in the
`plone.volto` module. You can call:

```xml
<include package="plone.volto.cors" />
```

from your ZCML while developing.

Enable it on demand, since it's considered a security issue if you enable CORS in your
productions sites.

It's planned that Volto will feature a development pass-through proxy to the backend in
the future. It will be addressed in next sprints.

### ZLog patch

`plone.restapi` low level errors are routed through the ancient ZLog and are `plone_error`
enabled, making it difficult to follow since all are marked with a UUID, specifically when
using helpers like Sentry. This patch removes the UUID so the same error is categorized
all together. This is planned to be addressed in next sprints.


### Patch for `subject` field

There are some problems of serialization on special characters derived from the
current shape of the Plone's default Dexterity `subjects` field that have to be
addressed in order to make it work properly with Volto (and other systems that are not
Plone). This will be fixed in core in upcoming sprints.


### Preview image behavior

The preview image behavior makes content types provide a `preview_image` field that can store a preview image that Volto views can pick up.
This is especially useful for listings (e.g. listing block customizations) and teaser elements (e.g. teaser blocks).

The `volto.preview_image` behavior can be enabled in the generic setup XML definition of a content type (e.g. `/profiles/default/types/MyContentType.xml`):

```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>
```

There is also another variation of the preview image behavior called `volto.preview_image_link`.
This one stores preview images using a relation to an image content type, rather than in an image field. This might be preferable if many content items use the same preview image.

### Navigation title behavior

The navigation title makes content types provide a `nav_title` field that is used by Volto in the main navigation, the breadcrumbs, and the navigation portlet.

The `volto.navtitle` behavior can be enabled in the generic setup XML definition of a content type, for example in `/profiles/default/types/MyContentType.xml`:

```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.navtitle" />
  </property>
  ...
</object>
```

### Kicker behavior

The `volto.kicker` behavior adds a Kicker field that can be used to display a line of text above the title.

(The internal name of the field is `head_title`, for backwards-compatibility reasons.)

This behavior can be enabled in the generic setup XML definition of a content type, for example in `/profiles/default/types/MyContentType.xml`:

```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.kicker" />
  </property>
  ...
</object>
```

> [!NOTE]
> The previous name of this behavior, `volto.head_title`, was deprecated in `plone.volto` 5.0.

### Image scales

This package introduces new Plone image scales in Plone and redefines a couple of existing ones.
These are know to work well with the Volto layout and grid system:

| Scale | Dimensions |
| --- | --- |
| 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 |

**This change is opinionated and may collide with your previously defined ones, so make sure your add-on's profiles are applied AFTER this one.**


## History

<p align="left">
    <a href="https://kitconcept.com/">
      <img alt="Plone Logo" width="150px" src="https://kitconcept.com/logo.svg" alt="kitconcept GmbH">
    </a>
</p>

The code of `plone.volto` has been under active development and is used in production since 2018.
It was first named `kitconcept.voltodemo` (deprecated since March, 5th 2020), then `kitconcept.volto`.
In September 2021 `kitconcept.volto` was renamed to `plone.volto`, and was contributed to the Plone core as part of [PLIP #2703](https://github.com/plone/Products.CMFPlone/issues/2703).

## This project is supported by

<p align="left">
    <a href="https://plone.org/foundation/">
      <img alt="Plone Logo" width="200px" src="https://raw.githubusercontent.com/plone/.github/main/plone-foundation.png">
    </a>
</p>

## License

The project is licensed under the GPLv2.


# Changelog

<!--
   You should *NOT* be adding new change log entries to this file.
   You should create a file in the news directory instead.
   For helpful instructions, please see:
   https://github.com/plone/plone.releaser/blob/master/ADD-A-NEWS-ITEM.rst
-->

<!-- towncrier release notes start -->

## 5.0.3 (2025-02-11)


### Bug fixes:

- Include `effective`, `end`, `getObjSize`, `mime_type`, and `start` in default summary serialization. @davisagli #184

## 5.0.2 (2025-01-27)


### Bug fixes:

- Implement a specific robots.txt for Volto sites.
  There is an upgrade step which will update the existing plone.robots_txt registry setting unless it has been customized.
  @ericof #178
- Add nav_title and head_title to the default summary serializer metadata fields. @davisagli #181
- Fix DeprecationWarnings. [maurits] #4090

## 5.0.1 (2024-12-17)


### Bug fixes:

- Allow setting `preview_image_link` to an image from a different language root folder. @davisagli #172

## 5.0.0 (2024-12-12)


### Bug fixes:

- Enable the `plone.versioning` behavior for the Page content type. @davisagli #143
- Remove override of Plone's `plone.app.vocabularies.Keywords` vocabulary. @davisagli #157
- The `volto.head_title` behavior has been renamed to `volto.kicker`.
  The old name still works, but is deprecated.
  Content types should be updated to use the new name.
  @iRohitSingh, @davisagli #164
- Don't exclude Plone Site from search results. @davisagli #165
- Fix plone.app.multilingual dependency to be a dependency for tests only. @davisagli #168


### Internal:

- Fix deprecated imports. @petschki #128
- Remove unused ZCML conditions. @davisagli #167

## 5.0.0b2 (2024-11-25)


### Bug fixes:

- Rename `default` distribution to `volto`. @davisagli #161

## 5.0.0b1 (2024-10-30)


### Breaking changes:

- Drop support for Plone 5.2 and Plone 6.0 [@ericof] #155
- The following GenericSetup profiles were removed: `default-homepage`,
  `default-homepage-drafjs`, `default-homepage-slate`, `demo` and `richtext`. @davisagli #155


### New features:

- This package now contains a Plone distribution named "default". @ericof #155


### Internal:

- setup.py: specify the encoding, otherwise it fails on Windows.
  [maurits] 

## 4.4.3 (2024-08-01)

Bug fixes:


- Fix getting the the variation when migrating collections to listing blocks. @pbauer (#158)


## 4.4.2 (2024-06-26)

### Bug fixes:


- Remove runtime dependency on plone.app.upgrade. [@davisagli] (#142)
- Do not fail on startup when the ``requests`` library is missing.
  Conditionally load the views to migrate to Volto: only when the ``requests`` library is available.
  We don't want to make this a hard dependency.
  If you need the migration views, you should include the ``requests`` package yourself.
  [@maurits] (#152)


## 4.4.1 (2024-05-16)

### Bug fixes:


- Do not set the nonfolderish_tabs registry to False. @wesleybl (#145)
- Fix for preview_image_link image_scales adapter when the field is empty.
  Swap condition for `image_field` indexer, `preview_image_link` first, then the default `preview_image`
  [@sneridagh] (#148)


## 4.4.0 (2024-04-25)

### New features:


- Import ILanguageSchema from plone.i18n.interfaces instead of Products.CMFPlone.interfaces.controlpanel. @ksuess
  profile "plone.volto:multilingual": Add language german. @ksuess (#144)


### Bug fixes:


- Avoid a deprecated import warnings in Plone 6. @davisagli (#147)


## 4.3.0 (2024-01-30)

### New features:


- Add `VOLTO_FRONTEND_DOMAIN` as env var for `volto.frontend_domain` registry setting
  [@sneridagh] (#139)


## 4.2.1 (2024-01-26)

### Bug fixes:


- Fix changed behavior and marker interfaces for plone.leadimage and plone.richtext.
  See: https://github.com/plone/plone.app.contenttypes/pull/480
  @thet (#133)
- Avoid accidental acquisition in ``block_types`` indexer. @davisagli (#137)


## 4.2.0 (2023-12-13)

### New features:


- Add pt_BR translations. @wesleybl (#133)
- Add `preview_image_link` behavior to the Example content type for testing @sneridagh (#136)


### Bug fixes:


- Add guard for template used in the Volto installed status message that is Plone 6 only @sneridagh (#135)


## 4.1.0 (2023-08-07)

### New features:


- Add `block_types` index to zcatalog. By default it is only added for new Plone sites.
  To add it to an existing site, run `plone.volto.upgrades.add_block_types_index` manually.
  [margaridasp, davisagli] (#4778)


### Bug fixes:


- Change the implementation for finding nested blocks to use an IBlockVisitor adapter. @davisagli (#127)
- Fix missing translations for head_title field. @davisagli (#130)


## 4.0.10 (2023-07-14)

### Bug fixes:


- Use the plone.app.multilingual conditionally so as is not an explicit dependency
  [@foxtrot-01] (#119)


## 4.0.9 (2023-06-22)

### Bug fixes:


- Let the migration-form @@migrate_to_volto transform richtext to slate-blocks by default.
  [@pbauer] (#122)
- Fix value of unchecked checkboxes in migrate_to_volto.
  [@pbauer] (#124)


## 4.0.8 (2023-03-23)

### Bug fixes:


- Use correct service_url when calling make_document. Fix #95
  [@pbauer] (#95)
- Change home page more demo link. Fix #114 (#114)


## 4.0.7 (2023-03-02)

### Bug fixes:


- Better migration of collections: Fix migrating sort_order. Adapt relative path of query when migrating default-page collection to listing block.
  [@pbauer] (#111)


## 4.0.6 (2023-02-27)

### Bug fixes:


- Prevent AttributeError when migrating to FolderishDocument.
  [@pbauer] (#109)


## 4.0.5 (2023-01-19)

### Bug fixes:


- Include internal links from nested blocks in link integrity recordkeeping. [@davisagli] (#108)


### Internal:


- Update default Plone Classic UI message to inform developers to install, start, and visit the Volto frontend, if desired, with updated links to relevant docs. [@stevepiercy] (#107)


## 4.0.4 (2022-12-16)

### Bug fixes:


- Clarifications in the @@migrate_to_volto wizard. Volto is a separate service that needs to be configured and hosted. It is not included in the Plone backend.
  Editing the main content that was in RichText fields before will no longer be possible after migration.
  Fix link to Volto frontend documentation.
  [fredvd, stevepiercy] (#106)


## 4.0.3 (2022-12-14)

### Bug fixes:


- Fix a11y problems in both demo and default pages @sneridagh (#105)


## 4.0.2 (2022-12-12)

### Bug fixes:


- Fix create default homepage script problem with non existent description field. Fix default and demo page texts
  [@sneridagh] (#103)


## 4.0.1 (2022-12-12)

### Internal:


- Prepare 6 final default text for demo and local installs. [@stevepiercy] (#102)


## 4.0.0 (2022-11-18)

### Internal:


- Re-release plone.volto 4.0.0a15 as 4.0.0 [@tisto] (#99)


## 4.0.0a15 (2022-11-16)

### Bug fixes:


- Fix adding a leadimage block during migration to Volto when a leadimage exists. [@pbauer] (#96)
- Make the `migrate_to_volto` process more robust when running multiple times or when plone.volto was installed first. [@pbauer] (#97)
- Don't acquire nav_title from parent in breadcrumbs view. [@davisagli] (#98)


## 4.0.0a14 (2022-11-02)

### Bug fixes:


- Improve help text for head_title field. [@davisagli] (#92)
- Adjust Plone site actions to work in Volto. [nileshgulia1, davisagli] (#93)
- Show a warning in the classic UI when plone.volto is installed. Fix https://github.com/plone/Products.CMFPlone/issues/3664 [@pbauer] (#94)


## 4.0.0a13 (2022-09-29)

### Bug fixes:


- Keep folder order when migrating from folderishtypes [@cekk] (#86)
- Fix hasPreviewImage and image_field indexers when the preview_image_link relation is broken. [@davisagli] (#91)


## 4.0.0a12 (2022-09-27)

### New features:


- Add proper icon in classic control panel
  [@sneridagh] (#89)


## 4.0.0a11 (2022-09-04)

### Bug fixes:


- Update demo homepage content for Slate, round 2. @stevepiercy (#85)


### Internal:


- Sign CONTRIBUTORS.rst. @stevepiercy (#88)


## 4.0.0a10 (2022-08-30)

### Bug fixes:


- Update default homepage content for Slate. @stevepiercy (#84)


### Internal:


- Added `make i18n` command [@davisagli] (#81)


## 4.0.0a9 (2022-08-12)

### New features:


- Added preview image link behavior (Plone 6+ only)
  [@robgietema] (#49)


## 4.0.0a8 (2022-08-04)

### New features:


- Add better implementation of the PLONE6 check (cosmetic)
  [@sneridagh] (#59)
- Use slate as default text block in default contents for ``default-homepage`` and
  ``multilingual`` profile.
  [@sneridagh] (#77)


## 4.0.0a7 (2022-07-22)

### New features:


- Use new metadata utility for adding the ``image_scales`` to the default serialization.
  [@ericof] (#74)


### Bug fixes:


- Use plone/code-analysis-action on GitHub Actions and plone/code-quality Docker image and versions to format code.
  [@ericof] (#68)
- Fix the handler for resolving UIDs in nested blocks to avoid trying to resolve them twice. This also makes it possible to use deserialization and serialization transforms that intentionally run before the resolveuid transform in the context of nested blocks.
  [@davisagli] (#76)


## 4.0.0a6 (2022-06-25)

### Bug fixes:


- Re-release 4.0.0a5/4.0.0a5.dev0
  [@tisto] (#72)


## 4.0.0a5 (2022-06-25)

### New features:


- Add form ``@@migrate_richtext`` to migrate ``html-richtext`` to slate blocks or draftjs blocks
  [@pbauer] (#47)
- Add ``@@migrate_to_volto`` to prepare existing sites for Volto.
  [@pbauer] (#55)


### Bug fixes:


- Update test to 6.0.0a4 and new pip practices.
  [@sneridagh] (#51)
- Conditional custom ``IImageScaleFactory`` adapter for Plone < 6 (svg are now handled in `plone.namedfile <https://github.com/plone/plone.namedfile/commit/b4f80204759703aa812d1db35589cd92e89ea108>`_).
  [@cekk] (#60)
- Fixed code quality configuration.
  Removed unused imports and variables and sorted the imports.
  [@maurits] (#71)


## 4.0.0a4 (2022-04-08)

- Fix deprecated import of isDefaultPage
  [@pbauer]


## 4.0.0a3 (2022-02-04)

- Fix Multilingual profile, revert to use draftJS (until slate is integrated into Volto)
  [@sneridagh]


## 4.0.0a2 (2022-01-25)

- Bring back the draftJS as default, until Slate is integrated in full in Volto
  [@sneridagh]


## 4.0.0a1 (2022-01-25)

### Breaking

- Use Slate blocks for the default pages
  [@sneridagh]

- Add ``volto.blocks`` behavior to Plone Site GS types info.
  [@sneridagh]

- Remove ``Collection`` from types in GS types info.
  [@sneridagh]

- Remove ``plone.richtext`` behavior from Plone Site, Document, News Item, Events
  [@sneridagh]

- Add blocks behavior on Event and NewsItem
  [@nzambello]

- Add preview_image to Event
  [@nzambello]

### Internal:

- Code cleanup, remove some outdated and unused helpers in ``setuptools.py``
  [@sneridagh]

- Workaround a test fixture isolation issue with the `IVoltoSettings.frontend_domain`
  setting.
  [@rpatterson]


## 3.1.0a9 (2022-01-15)

### Breaking

- Remove c.folderishtypes dependency

### New Feature

- Add new field in the coresandbox: not constrained by vocabulary field but the vocabulary defined in the widget.
  [@sneridagh]


## 3.1.0a8 (2022-01-12)

- Computed copyright dates for content demo pages
  [@sneridagh]

## 3.1.0a7 (2021-12-11)

### New Feature

- Added coresandbox fixture for Volto's cypress tests
  [@sneridagh]

### Internal:

- Test with Plone 6.0.0a2
  [@ericof]


## 3.1.0a6 (2021-11-22)

### New Feature

- Add Basque and Spanish translations
  [@erral]

- Add Italian translations
  [@cekk]

### Bugfix

- Update German translations
  [@timo]

- Fix translation files
  [cekk, timo]


## 3.1.0a5 (2021-11-07)

### New Feature

- Use new metadata utility for adding the ``image_field`` to the default serialization. This feature requires the JSONSummarySerializerMetadata serializer that has been added with plone.restapi 8.13.0.
  [@ericof]

### Internal:

- Use plone/setup-plone github action.
  [@ericof]


## 3.1.0a4 (2021-10-29)

### Internal:

- Initial support and tests using Github Actions for Plone with pip installations.
  [@ericof]

## 3.1.0a3 (2021-10-25)

### Breaking

- Explicitly require Python 3.7 or superior.
  [@ericof]

### Internal:

- Remove ``jq`` from dependencies and remove old ``blocksremoveserver.py`` script.
  [@ericof]

- Remove ``z3c.jbot`` from dependencies
  [@ericof]

- Remove ``requests`` from dependencies
  [@ericof]


## 3.1.0a2 (2021-10-14)

### Bug fix

- Fixed install on Windows, `issue 14 <https://github.com/plone/plone.volto/issues/14>`_.
  [@maurits]


## 3.1.0a1 (2021-10-11)

### Feature

- Add new ``image_field`` metadata for image detection in catalog
  [@sneridagh]

### Internal:

- Add Plone 6.0.0-pre-alpha configuration.
  [@tisto]

- Upgrade to Plone 5.2.5
  [@tisto]

- Change GS setup profile label to "Plone 6 Frontend (plone.volto)".
  [@tisto]


## 3.0.0a1 (2021-09-25)

### Breaking Change

- Rename kitconcept.volto to plone.volto.
  [@tisto]


## 2.5.3 (2021-09-13)

- Fix condition of the guard for the multilingual fixture in the docker image.
  [@sneridagh]


## 2.5.2 (2021-09-13)

- Fix multilingual fixture for docker image, the guard seems not to work there, for some reason the blocks and blocks_layout are not set yet (?)
  [@sneridagh]

## 2.5.1 (2021-09-12)

- "More agnostic and simplify GS profile for Plone Site definition" (https://github.com/kitconcept/kitconcept.volto/pull/38)
  [@sneridagh]

## 2.5.0 (2021-09-12)

- Support pip-based Plone installation by explicitly including dependencies on configure.zcml
  [@ericof]

- Add Lock-Token to default CORS allow_headers
  [@avoinea]

- Add guard for not overwrite blocks in default home pages (if PAM enabled) if they are already set
  [@sneridagh]

## 2.4.0 (2021-07-19)

- Fix German translation for "Navigation title" [@timo]

- Fix and complete upgrade step from Volto 12 to Volto 13
  [@sneridagh]

- Add helper scripts
  [@sneridagh]

- Add preview_image to transforms
  [@sneridagh]

- Add headtitle behavior
  [@sneridagh]

- Guard for setuphandlers disablecontenttype
  [@sneridagh]

- Fix audit script
  [@sneridagh]

- Add support for subblocks in the custom transforms for ``volto-blocks-grid``
  [@sneridagh]

## 2.3.0 (2021-05-19)

- Add upgrade step facility
- Add upgrade step from Volto 12 to Volto 13
  [@sneridagh]


## 2.2.1 (2021-04-21)

- Better multilingual profile
  [@sneridagh]


## 2.2.0 (2021-04-21)

- Add multilingual test fixture for Cypress tests
  [@sneridagh]


## 2.1.3 (2021-03-26)

- Add ``requests`` as dependency
  [@sneridagh]


## 2.1.2 (2021-03-07)

- Add a demo home page for demo site
  [@sneridagh]


## 2.1.1 (2021-03-06)

- Add demo site profile
  [@sneridagh]


## 2.1.0 (2021-02-23)

- Remove Images and Files from types_use_view_action_in_listings since in Volto it's no used at all.
  [@sneridagh]


## 2.0.0 (2021-02-20)

- [@Breaking] Define good known to work well with Volto image scales in ``registry.xml``
  GenericSetup profile. When this add-on is installed or the profile is applied, it will
  overwrite the existing scales in your Plone site. If you are using specific scales for
  your project, make sure they are installed after this addon's profile.

  This scales have been tested in real production projects and work well with Volto's
  layout and responsive viewports.
  [timo, sneridagh]


## 1.7.2 (2021-01-26)

- Nothing changed yet.


## 1.7.1 (2021-01-25)

- Fix first level tabs and add nav_title to them
  [@sneridagh]


## 1.7.0 (2021-01-21)

- Add ``breadcrumbs_view`` override to include ``nav_title``
  [@sneridagh]


## 1.6.0 (2021-01-14)

- Added indexers for `preview_image`, it allows the Volto object browser widget to access it
  [@sneridagh]


## 1.5.2 (2020-12-14)

- Missing ZCML for translations
  [@sneridagh]


## 1.5.1 (2020-12-14)

- Add zest.pocompile
  [@sneridagh]

- Add missing .mo
  [@sneridagh]


## 1.5.0 (2020-12-09)

- Fix locales default in German
  [@sneridagh]


## 1.4.0 (2020-07-29)

- Add volto.preview_image behavior to Page type.
  [@timo]


## 1.3.2 (2020-05-17)

- Make sure that the enable_pam helper does its job.
  [@sneridagh]


## 1.3.1 (2020-05-12)

- Fix LRF global allow and ensure default behaviors
  [@sneridagh]


## 1.3.0 (2020-05-11)

- Add registry navigation setting for not show the current item in navigations
  [@sneridagh]

- New enable_pam setuphandlers helper
  [@sneridagh]

- New enable_pam_consistency setuphandlers helper
  [@sneridagh]


## 1.2.0 (2020-04-17)

- Bring back the event type, since it's fully working in Volto now
  [@sneridagh]

- fix typo in behavior name ``navttitle`` -> ``navtitle``
  [@sneridagh]


## 1.1.0 (2020-03-10)

- Added a specific IImageScaleFactory for ``Image`` content type, to fix SVG handling
  [@sneridagh]


## 1.0.1 (2020-03-08)

- Update version numbers in default home page.
  [@sneridagh]


## 1.0.0 (2020-03-06)

- Add Zope log patch
  [@sneridagh]

- Add nav_title and preview_image behaviors
  [@sneridagh]

- override plone.app.vocabularies.Keywords with a version that
  uses the unencode subject value as the token.
  [@csenger]

- Remove versioning behavior from Document type.
  [@timo]

- Backport all features that were in plone.voltodemo
  [@sneridagh]

- Patch Password reset tool in Products.CMFPlone to use the optional volto_domain in the
  e-email which is sent to users, only if the request is made through REST.
  [@fredvd]

- Add Volto settings control panel with frontend_domain field.
  [@fredvd]

- Homepage profile for demo purposes
  [@sneridagh]

- CORS profile
  [@sneridagh]

- Enable Volto Blocks for Document and LRF
  [@sneridagh]

- Initial release.
  [@kitconcept]

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/plone/plone.volto",
    "name": "plone.volto",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": null,
    "keywords": "Python Plone CMS",
    "author": "Plone Foundation",
    "author_email": "tisto@plone.org",
    "download_url": "https://files.pythonhosted.org/packages/cf/7d/d21380e8b1a6efc07959521decba1b1106a12d92d1faf178a562f4558aa8/plone_volto-5.0.3.tar.gz",
    "platform": null,
    "description": "<p align=\"center\">\n    <img alt=\"Plone Logo\" width=\"200px\" src=\"https://raw.githubusercontent.com/plone/.github/main/plone-logo.png\">\n</p>\n\n<h1 align=\"center\">plone.volto</h1>\n\n<div align=\"center\">\n\n[![PyPI](https://img.shields.io/pypi/v/plone.volto)](https://pypi.org/project/plone.volto/)\n[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/plone.volto)](https://pypi.org/project/plone.volto/)\n[![PyPI - Wheel](https://img.shields.io/pypi/wheel/plone.volto)](https://pypi.org/project/plone.volto/)\n[![PyPI - License](https://img.shields.io/pypi/l/plone.volto)](https://pypi.org/project/plone.volto/)\n[![PyPI - Status](https://img.shields.io/pypi/status/plone.volto)](https://pypi.org/project/plone.volto/)\n\n\n[![PyPI - Plone Versions](https://img.shields.io/pypi/frameworkversions/plone/plone.volto)](https://pypi.org/project/plone.volto/)\n\n[![Meta](https://github.com/plone/plone.volto/actions/workflows/meta.yml/badge.svg)](https://github.com/plone/plone.volto/actions/workflows/meta.yml)\n![Code Style](https://img.shields.io/badge/Code%20Style-Black-000000)\n\n[![GitHub contributors](https://img.shields.io/github/contributors/plone/plone.volto)](https://github.com/plone/plone.volto)\n[![GitHub Repo stars](https://img.shields.io/github/stars/plone/plone.volto?style=social)](https://github.com/plone/plone.volto)\n\n</div>\n\n`plone.volto` configures [Plone](https://plone.org/) to work with [Volto](https://www.npmjs.com/package/@plone/volto), the default frontend of Plone since version 6.0.\n\n## Installation\n\nAdd `plone.volto` either to the Plone installation using `pip`:\n\n```shell\npip install plone.volto\n```\n\nor add it as a dependency in your package's `setup.py`:\n\n```python\n    install_requires = [\n        \"plone.volto\",\n        \"setuptools\",\n    ],\n```\n\n## Compatibility\n\n`plone.volto` version 5.x works with Plone 6.1 (pre-alpha and alpha), and supports Python 3.10, 3.11, and 3.12.\n\nVolto requires specific versions of `plone.volto` and `plone.restapi`:\n\n| `plone.volto` | `Plone` | `plone.restapi` | Comments |\n| --- | --- | --- | --- |\n|  5.x | 6.1 |  8.41.0 and above | |\n|  4.x | 5.2, 6.0 |  8.41.0 and above | |\n|  3.x | 5.1, 5.2 |  8.13.0 and above | Requires new `JSONSummarySerializerMetadata` serializer added in `plone.restapi` 8.13.|\n|  2.x (`kitconcept.volto`) | 5.1, 5.2 |  7.0.0 and above | New image scales |\n|  1.x (`kitconcept.volto`) | 5.1, 5.2 |  6.0.0 and below | New transforms and features |\n\nVolto only supports the latest `plone.restapi` branch, therefore it is recommended to always use the latest version in your Volto projects.\n\n## Plone 6 architecture\n\nArchitectural diagram of Plone 6:\n\n```text\n    Frontend\n    \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n    \u2502                              \u2502\n    \u2502            Volto             \u2502\n    \u2502                              \u2502\n    \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n             \u2502            \u25b2\n             \u2502    HTTP    \u2502\n    Backend  \u25bc            \u2502\n    \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n    \u2502\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\u2502\n    \u2502\u2502        plone.restapi       \u2502\u2502\n    \u2502\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\u2502\n    \u2502\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\u2502\n    \u2502\u2502         plone.volto        \u2502\u2502\n    \u2502\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\u2502\n    \u2502\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510 \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\u2502\n    \u2502\u2502 Plone Core \u2502 \u2502   Add-Ons   \u2502\u2502\n    \u2502\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518 \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\u2502\n    \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n```\n\n## Features\n\n`plone.volto` provides the following features:\n\n\n### Volto blocks support\n\n\n`plone.volto` enables the new Volto blocks editor on `Document`, `Language Root Folder`, and `Site Root`.\n\n\n### Block types index\n\n`plone.volto` adds a `block_types` index to the Plone catalog.\nIt can be used to query for items that use a particular type of block.\n\n```python\nfrom plone import api\nportal_catalog = api.portal.get_tool(\"portal_catalog\")\nportal_catalog.searchResults(block_types=\"image\")\n```\n\nThe `block_types` index was added in `plone.volto` 4.1.0.\nBy default it is only added for new Plone sites.\nTo add it to an existing site, run `plone.volto.upgrades.add_block_types_index` manually.\n\n\n### Multilingual support\n\n`plone.volto` supports multilingual websites.\nInstall PAM before installing this package, and demo homepages will be created in each enabled language.\nSupport is currently only for `EN` and `DE`.\n\n### Document content type\n\n`plone.volto` disables the `Richtext` and `Table of Contents` behaviors for the `Document` content type.\nRich text functionality is provided by the new Volto blocks editor.\nThe `Table of Contents` functionality is provided by the `Table of Contents` block in Volto.\n\n\n### CORS profile\n\nA quick helper to enable CORS for development configuration is also provided in the\n`plone.volto` module. You can call:\n\n```xml\n<include package=\"plone.volto.cors\" />\n```\n\nfrom your ZCML while developing.\n\nEnable it on demand, since it's considered a security issue if you enable CORS in your\nproductions sites.\n\nIt's planned that Volto will feature a development pass-through proxy to the backend in\nthe future. It will be addressed in next sprints.\n\n### ZLog patch\n\n`plone.restapi` low level errors are routed through the ancient ZLog and are `plone_error`\nenabled, making it difficult to follow since all are marked with a UUID, specifically when\nusing helpers like Sentry. This patch removes the UUID so the same error is categorized\nall together. This is planned to be addressed in next sprints.\n\n\n### Patch for `subject` field\n\nThere are some problems of serialization on special characters derived from the\ncurrent shape of the Plone's default Dexterity `subjects` field that have to be\naddressed in order to make it work properly with Volto (and other systems that are not\nPlone). This will be fixed in core in upcoming sprints.\n\n\n### Preview image behavior\n\nThe preview image behavior makes content types provide a `preview_image` field that can store a preview image that Volto views can pick up.\nThis is especially useful for listings (e.g. listing block customizations) and teaser elements (e.g. teaser blocks).\n\nThe `volto.preview_image` behavior can be enabled in the generic setup XML definition of a content type (e.g. `/profiles/default/types/MyContentType.xml`):\n\n```xml\n<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<object i18n:domain=\"my.project\" meta_type=\"Dexterity FTI\" name=\"MyContentType\"\n  xmlns:i18n=\"http://xml.zope.org/namespaces/i18n\">\n\n  ...\n\n  <!-- Enabled behaviors -->\n  <property name=\"behaviors\" purge=\"false\">\n    ...\n    <element value=\"volto.preview_image\" />\n  </property>\n  ...\n</object>\n```\n\nThere is also another variation of the preview image behavior called `volto.preview_image_link`.\nThis one stores preview images using a relation to an image content type, rather than in an image field. This might be preferable if many content items use the same preview image.\n\n### Navigation title behavior\n\nThe navigation title makes content types provide a `nav_title` field that is used by Volto in the main navigation, the breadcrumbs, and the navigation portlet.\n\nThe `volto.navtitle` behavior can be enabled in the generic setup XML definition of a content type, for example in `/profiles/default/types/MyContentType.xml`:\n\n```xml\n<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<object i18n:domain=\"my.project\" meta_type=\"Dexterity FTI\" name=\"MyContentType\"\n  xmlns:i18n=\"http://xml.zope.org/namespaces/i18n\">\n\n  ...\n\n  <!-- Enabled behaviors -->\n  <property name=\"behaviors\" purge=\"false\">\n    ...\n    <element value=\"volto.navtitle\" />\n  </property>\n  ...\n</object>\n```\n\n### Kicker behavior\n\nThe `volto.kicker` behavior adds a Kicker field that can be used to display a line of text above the title.\n\n(The internal name of the field is `head_title`, for backwards-compatibility reasons.)\n\nThis behavior can be enabled in the generic setup XML definition of a content type, for example in `/profiles/default/types/MyContentType.xml`:\n\n```xml\n<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<object i18n:domain=\"my.project\" meta_type=\"Dexterity FTI\" name=\"MyContentType\"\n  xmlns:i18n=\"http://xml.zope.org/namespaces/i18n\">\n\n  ...\n\n  <!-- Enabled behaviors -->\n  <property name=\"behaviors\" purge=\"false\">\n    ...\n    <element value=\"volto.kicker\" />\n  </property>\n  ...\n</object>\n```\n\n> [!NOTE]\n> The previous name of this behavior, `volto.head_title`, was deprecated in `plone.volto` 5.0.\n\n### Image scales\n\nThis package introduces new Plone image scales in Plone and redefines a couple of existing ones.\nThese are know to work well with the Volto layout and grid system:\n\n| Scale | Dimensions |\n| --- | --- |\n| icon | 32:32 |\n| tile | 64:64 |\n| thumb | 128:128 |\n| mini | 200:65536 |\n| preview | 400:65536 |\n| teaser | 600:65536 |\n| large | 800:65536 |\n| larger | 1000:65536 |\n| great | 1200:65536 |\n| huge | 1600:65536 |\n\n**This change is opinionated and may collide with your previously defined ones, so make sure your add-on's profiles are applied AFTER this one.**\n\n\n## History\n\n<p align=\"left\">\n    <a href=\"https://kitconcept.com/\">\n      <img alt=\"Plone Logo\" width=\"150px\" src=\"https://kitconcept.com/logo.svg\" alt=\"kitconcept GmbH\">\n    </a>\n</p>\n\nThe code of `plone.volto` has been under active development and is used in production since 2018.\nIt was first named `kitconcept.voltodemo` (deprecated since March, 5th 2020), then `kitconcept.volto`.\nIn September 2021 `kitconcept.volto` was renamed to `plone.volto`, and was contributed to the Plone core as part of [PLIP #2703](https://github.com/plone/Products.CMFPlone/issues/2703).\n\n## This project is supported by\n\n<p align=\"left\">\n    <a href=\"https://plone.org/foundation/\">\n      <img alt=\"Plone Logo\" width=\"200px\" src=\"https://raw.githubusercontent.com/plone/.github/main/plone-foundation.png\">\n    </a>\n</p>\n\n## License\n\nThe project is licensed under the GPLv2.\n\n\n# Changelog\n\n<!--\n   You should *NOT* be adding new change log entries to this file.\n   You should create a file in the news directory instead.\n   For helpful instructions, please see:\n   https://github.com/plone/plone.releaser/blob/master/ADD-A-NEWS-ITEM.rst\n-->\n\n<!-- towncrier release notes start -->\n\n## 5.0.3 (2025-02-11)\n\n\n### Bug fixes:\n\n- Include `effective`, `end`, `getObjSize`, `mime_type`, and `start` in default summary serialization. @davisagli #184\n\n## 5.0.2 (2025-01-27)\n\n\n### Bug fixes:\n\n- Implement a specific robots.txt for Volto sites.\n  There is an upgrade step which will update the existing plone.robots_txt registry setting unless it has been customized.\n  @ericof #178\n- Add nav_title and head_title to the default summary serializer metadata fields. @davisagli #181\n- Fix DeprecationWarnings. [maurits] #4090\n\n## 5.0.1 (2024-12-17)\n\n\n### Bug fixes:\n\n- Allow setting `preview_image_link` to an image from a different language root folder. @davisagli #172\n\n## 5.0.0 (2024-12-12)\n\n\n### Bug fixes:\n\n- Enable the `plone.versioning` behavior for the Page content type. @davisagli #143\n- Remove override of Plone's `plone.app.vocabularies.Keywords` vocabulary. @davisagli #157\n- The `volto.head_title` behavior has been renamed to `volto.kicker`.\n  The old name still works, but is deprecated.\n  Content types should be updated to use the new name.\n  @iRohitSingh, @davisagli #164\n- Don't exclude Plone Site from search results. @davisagli #165\n- Fix plone.app.multilingual dependency to be a dependency for tests only. @davisagli #168\n\n\n### Internal:\n\n- Fix deprecated imports. @petschki #128\n- Remove unused ZCML conditions. @davisagli #167\n\n## 5.0.0b2 (2024-11-25)\n\n\n### Bug fixes:\n\n- Rename `default` distribution to `volto`. @davisagli #161\n\n## 5.0.0b1 (2024-10-30)\n\n\n### Breaking changes:\n\n- Drop support for Plone 5.2 and Plone 6.0 [@ericof] #155\n- The following GenericSetup profiles were removed: `default-homepage`,\n  `default-homepage-drafjs`, `default-homepage-slate`, `demo` and `richtext`. @davisagli #155\n\n\n### New features:\n\n- This package now contains a Plone distribution named \"default\". @ericof #155\n\n\n### Internal:\n\n- setup.py: specify the encoding, otherwise it fails on Windows.\n  [maurits] \n\n## 4.4.3 (2024-08-01)\n\nBug fixes:\n\n\n- Fix getting the the variation when migrating collections to listing blocks. @pbauer (#158)\n\n\n## 4.4.2 (2024-06-26)\n\n### Bug fixes:\n\n\n- Remove runtime dependency on plone.app.upgrade. [@davisagli] (#142)\n- Do not fail on startup when the ``requests`` library is missing.\n  Conditionally load the views to migrate to Volto: only when the ``requests`` library is available.\n  We don't want to make this a hard dependency.\n  If you need the migration views, you should include the ``requests`` package yourself.\n  [@maurits] (#152)\n\n\n## 4.4.1 (2024-05-16)\n\n### Bug fixes:\n\n\n- Do not set the nonfolderish_tabs registry to False. @wesleybl (#145)\n- Fix for preview_image_link image_scales adapter when the field is empty.\n  Swap condition for `image_field` indexer, `preview_image_link` first, then the default `preview_image`\n  [@sneridagh] (#148)\n\n\n## 4.4.0 (2024-04-25)\n\n### New features:\n\n\n- Import ILanguageSchema from plone.i18n.interfaces instead of Products.CMFPlone.interfaces.controlpanel. @ksuess\n  profile \"plone.volto:multilingual\": Add language german. @ksuess (#144)\n\n\n### Bug fixes:\n\n\n- Avoid a deprecated import warnings in Plone 6. @davisagli (#147)\n\n\n## 4.3.0 (2024-01-30)\n\n### New features:\n\n\n- Add `VOLTO_FRONTEND_DOMAIN` as env var for `volto.frontend_domain` registry setting\n  [@sneridagh] (#139)\n\n\n## 4.2.1 (2024-01-26)\n\n### Bug fixes:\n\n\n- Fix changed behavior and marker interfaces for plone.leadimage and plone.richtext.\n  See: https://github.com/plone/plone.app.contenttypes/pull/480\n  @thet (#133)\n- Avoid accidental acquisition in ``block_types`` indexer. @davisagli (#137)\n\n\n## 4.2.0 (2023-12-13)\n\n### New features:\n\n\n- Add pt_BR translations. @wesleybl (#133)\n- Add `preview_image_link` behavior to the Example content type for testing @sneridagh (#136)\n\n\n### Bug fixes:\n\n\n- Add guard for template used in the Volto installed status message that is Plone 6 only @sneridagh (#135)\n\n\n## 4.1.0 (2023-08-07)\n\n### New features:\n\n\n- Add `block_types` index to zcatalog. By default it is only added for new Plone sites.\n  To add it to an existing site, run `plone.volto.upgrades.add_block_types_index` manually.\n  [margaridasp, davisagli] (#4778)\n\n\n### Bug fixes:\n\n\n- Change the implementation for finding nested blocks to use an IBlockVisitor adapter. @davisagli (#127)\n- Fix missing translations for head_title field. @davisagli (#130)\n\n\n## 4.0.10 (2023-07-14)\n\n### Bug fixes:\n\n\n- Use the plone.app.multilingual conditionally so as is not an explicit dependency\n  [@foxtrot-01] (#119)\n\n\n## 4.0.9 (2023-06-22)\n\n### Bug fixes:\n\n\n- Let the migration-form @@migrate_to_volto transform richtext to slate-blocks by default.\n  [@pbauer] (#122)\n- Fix value of unchecked checkboxes in migrate_to_volto.\n  [@pbauer] (#124)\n\n\n## 4.0.8 (2023-03-23)\n\n### Bug fixes:\n\n\n- Use correct service_url when calling make_document. Fix #95\n  [@pbauer] (#95)\n- Change home page more demo link. Fix #114 (#114)\n\n\n## 4.0.7 (2023-03-02)\n\n### Bug fixes:\n\n\n- Better migration of collections: Fix migrating sort_order. Adapt relative path of query when migrating default-page collection to listing block.\n  [@pbauer] (#111)\n\n\n## 4.0.6 (2023-02-27)\n\n### Bug fixes:\n\n\n- Prevent AttributeError when migrating to FolderishDocument.\n  [@pbauer] (#109)\n\n\n## 4.0.5 (2023-01-19)\n\n### Bug fixes:\n\n\n- Include internal links from nested blocks in link integrity recordkeeping. [@davisagli] (#108)\n\n\n### Internal:\n\n\n- Update default Plone Classic UI message to inform developers to install, start, and visit the Volto frontend, if desired, with updated links to relevant docs. [@stevepiercy] (#107)\n\n\n## 4.0.4 (2022-12-16)\n\n### Bug fixes:\n\n\n- Clarifications in the @@migrate_to_volto wizard. Volto is a separate service that needs to be configured and hosted. It is not included in the Plone backend.\n  Editing the main content that was in RichText fields before will no longer be possible after migration.\n  Fix link to Volto frontend documentation.\n  [fredvd, stevepiercy] (#106)\n\n\n## 4.0.3 (2022-12-14)\n\n### Bug fixes:\n\n\n- Fix a11y problems in both demo and default pages @sneridagh (#105)\n\n\n## 4.0.2 (2022-12-12)\n\n### Bug fixes:\n\n\n- Fix create default homepage script problem with non existent description field. Fix default and demo page texts\n  [@sneridagh] (#103)\n\n\n## 4.0.1 (2022-12-12)\n\n### Internal:\n\n\n- Prepare 6 final default text for demo and local installs. [@stevepiercy] (#102)\n\n\n## 4.0.0 (2022-11-18)\n\n### Internal:\n\n\n- Re-release plone.volto 4.0.0a15 as 4.0.0 [@tisto] (#99)\n\n\n## 4.0.0a15 (2022-11-16)\n\n### Bug fixes:\n\n\n- Fix adding a leadimage block during migration to Volto when a leadimage exists. [@pbauer] (#96)\n- Make the `migrate_to_volto` process more robust when running multiple times or when plone.volto was installed first. [@pbauer] (#97)\n- Don't acquire nav_title from parent in breadcrumbs view. [@davisagli] (#98)\n\n\n## 4.0.0a14 (2022-11-02)\n\n### Bug fixes:\n\n\n- Improve help text for head_title field. [@davisagli] (#92)\n- Adjust Plone site actions to work in Volto. [nileshgulia1, davisagli] (#93)\n- Show a warning in the classic UI when plone.volto is installed. Fix https://github.com/plone/Products.CMFPlone/issues/3664 [@pbauer] (#94)\n\n\n## 4.0.0a13 (2022-09-29)\n\n### Bug fixes:\n\n\n- Keep folder order when migrating from folderishtypes [@cekk] (#86)\n- Fix hasPreviewImage and image_field indexers when the preview_image_link relation is broken. [@davisagli] (#91)\n\n\n## 4.0.0a12 (2022-09-27)\n\n### New features:\n\n\n- Add proper icon in classic control panel\n  [@sneridagh] (#89)\n\n\n## 4.0.0a11 (2022-09-04)\n\n### Bug fixes:\n\n\n- Update demo homepage content for Slate, round 2. @stevepiercy (#85)\n\n\n### Internal:\n\n\n- Sign CONTRIBUTORS.rst. @stevepiercy (#88)\n\n\n## 4.0.0a10 (2022-08-30)\n\n### Bug fixes:\n\n\n- Update default homepage content for Slate. @stevepiercy (#84)\n\n\n### Internal:\n\n\n- Added `make i18n` command [@davisagli] (#81)\n\n\n## 4.0.0a9 (2022-08-12)\n\n### New features:\n\n\n- Added preview image link behavior (Plone 6+ only)\n  [@robgietema] (#49)\n\n\n## 4.0.0a8 (2022-08-04)\n\n### New features:\n\n\n- Add better implementation of the PLONE6 check (cosmetic)\n  [@sneridagh] (#59)\n- Use slate as default text block in default contents for ``default-homepage`` and\n  ``multilingual`` profile.\n  [@sneridagh] (#77)\n\n\n## 4.0.0a7 (2022-07-22)\n\n### New features:\n\n\n- Use new metadata utility for adding the ``image_scales`` to the default serialization.\n  [@ericof] (#74)\n\n\n### Bug fixes:\n\n\n- Use plone/code-analysis-action on GitHub Actions and plone/code-quality Docker image and versions to format code.\n  [@ericof] (#68)\n- Fix the handler for resolving UIDs in nested blocks to avoid trying to resolve them twice. This also makes it possible to use deserialization and serialization transforms that intentionally run before the resolveuid transform in the context of nested blocks.\n  [@davisagli] (#76)\n\n\n## 4.0.0a6 (2022-06-25)\n\n### Bug fixes:\n\n\n- Re-release 4.0.0a5/4.0.0a5.dev0\n  [@tisto] (#72)\n\n\n## 4.0.0a5 (2022-06-25)\n\n### New features:\n\n\n- Add form ``@@migrate_richtext`` to migrate ``html-richtext`` to slate blocks or draftjs blocks\n  [@pbauer] (#47)\n- Add ``@@migrate_to_volto`` to prepare existing sites for Volto.\n  [@pbauer] (#55)\n\n\n### Bug fixes:\n\n\n- Update test to 6.0.0a4 and new pip practices.\n  [@sneridagh] (#51)\n- Conditional custom ``IImageScaleFactory`` adapter for Plone < 6 (svg are now handled in `plone.namedfile <https://github.com/plone/plone.namedfile/commit/b4f80204759703aa812d1db35589cd92e89ea108>`_).\n  [@cekk] (#60)\n- Fixed code quality configuration.\n  Removed unused imports and variables and sorted the imports.\n  [@maurits] (#71)\n\n\n## 4.0.0a4 (2022-04-08)\n\n- Fix deprecated import of isDefaultPage\n  [@pbauer]\n\n\n## 4.0.0a3 (2022-02-04)\n\n- Fix Multilingual profile, revert to use draftJS (until slate is integrated into Volto)\n  [@sneridagh]\n\n\n## 4.0.0a2 (2022-01-25)\n\n- Bring back the draftJS as default, until Slate is integrated in full in Volto\n  [@sneridagh]\n\n\n## 4.0.0a1 (2022-01-25)\n\n### Breaking\n\n- Use Slate blocks for the default pages\n  [@sneridagh]\n\n- Add ``volto.blocks`` behavior to Plone Site GS types info.\n  [@sneridagh]\n\n- Remove ``Collection`` from types in GS types info.\n  [@sneridagh]\n\n- Remove ``plone.richtext`` behavior from Plone Site, Document, News Item, Events\n  [@sneridagh]\n\n- Add blocks behavior on Event and NewsItem\n  [@nzambello]\n\n- Add preview_image to Event\n  [@nzambello]\n\n### Internal:\n\n- Code cleanup, remove some outdated and unused helpers in ``setuptools.py``\n  [@sneridagh]\n\n- Workaround a test fixture isolation issue with the `IVoltoSettings.frontend_domain`\n  setting.\n  [@rpatterson]\n\n\n## 3.1.0a9 (2022-01-15)\n\n### Breaking\n\n- Remove c.folderishtypes dependency\n\n### New Feature\n\n- Add new field in the coresandbox: not constrained by vocabulary field but the vocabulary defined in the widget.\n  [@sneridagh]\n\n\n## 3.1.0a8 (2022-01-12)\n\n- Computed copyright dates for content demo pages\n  [@sneridagh]\n\n## 3.1.0a7 (2021-12-11)\n\n### New Feature\n\n- Added coresandbox fixture for Volto's cypress tests\n  [@sneridagh]\n\n### Internal:\n\n- Test with Plone 6.0.0a2\n  [@ericof]\n\n\n## 3.1.0a6 (2021-11-22)\n\n### New Feature\n\n- Add Basque and Spanish translations\n  [@erral]\n\n- Add Italian translations\n  [@cekk]\n\n### Bugfix\n\n- Update German translations\n  [@timo]\n\n- Fix translation files\n  [cekk, timo]\n\n\n## 3.1.0a5 (2021-11-07)\n\n### New Feature\n\n- Use new metadata utility for adding the ``image_field`` to the default serialization. This feature requires the JSONSummarySerializerMetadata serializer that has been added with plone.restapi 8.13.0.\n  [@ericof]\n\n### Internal:\n\n- Use plone/setup-plone github action.\n  [@ericof]\n\n\n## 3.1.0a4 (2021-10-29)\n\n### Internal:\n\n- Initial support and tests using Github Actions for Plone with pip installations.\n  [@ericof]\n\n## 3.1.0a3 (2021-10-25)\n\n### Breaking\n\n- Explicitly require Python 3.7 or superior.\n  [@ericof]\n\n### Internal:\n\n- Remove ``jq`` from dependencies and remove old ``blocksremoveserver.py`` script.\n  [@ericof]\n\n- Remove ``z3c.jbot`` from dependencies\n  [@ericof]\n\n- Remove ``requests`` from dependencies\n  [@ericof]\n\n\n## 3.1.0a2 (2021-10-14)\n\n### Bug fix\n\n- Fixed install on Windows, `issue 14 <https://github.com/plone/plone.volto/issues/14>`_.\n  [@maurits]\n\n\n## 3.1.0a1 (2021-10-11)\n\n### Feature\n\n- Add new ``image_field`` metadata for image detection in catalog\n  [@sneridagh]\n\n### Internal:\n\n- Add Plone 6.0.0-pre-alpha configuration.\n  [@tisto]\n\n- Upgrade to Plone 5.2.5\n  [@tisto]\n\n- Change GS setup profile label to \"Plone 6 Frontend (plone.volto)\".\n  [@tisto]\n\n\n## 3.0.0a1 (2021-09-25)\n\n### Breaking Change\n\n- Rename kitconcept.volto to plone.volto.\n  [@tisto]\n\n\n## 2.5.3 (2021-09-13)\n\n- Fix condition of the guard for the multilingual fixture in the docker image.\n  [@sneridagh]\n\n\n## 2.5.2 (2021-09-13)\n\n- Fix multilingual fixture for docker image, the guard seems not to work there, for some reason the blocks and blocks_layout are not set yet (?)\n  [@sneridagh]\n\n## 2.5.1 (2021-09-12)\n\n- \"More agnostic and simplify GS profile for Plone Site definition\" (https://github.com/kitconcept/kitconcept.volto/pull/38)\n  [@sneridagh]\n\n## 2.5.0 (2021-09-12)\n\n- Support pip-based Plone installation by explicitly including dependencies on configure.zcml\n  [@ericof]\n\n- Add Lock-Token to default CORS allow_headers\n  [@avoinea]\n\n- Add guard for not overwrite blocks in default home pages (if PAM enabled) if they are already set\n  [@sneridagh]\n\n## 2.4.0 (2021-07-19)\n\n- Fix German translation for \"Navigation title\" [@timo]\n\n- Fix and complete upgrade step from Volto 12 to Volto 13\n  [@sneridagh]\n\n- Add helper scripts\n  [@sneridagh]\n\n- Add preview_image to transforms\n  [@sneridagh]\n\n- Add headtitle behavior\n  [@sneridagh]\n\n- Guard for setuphandlers disablecontenttype\n  [@sneridagh]\n\n- Fix audit script\n  [@sneridagh]\n\n- Add support for subblocks in the custom transforms for ``volto-blocks-grid``\n  [@sneridagh]\n\n## 2.3.0 (2021-05-19)\n\n- Add upgrade step facility\n- Add upgrade step from Volto 12 to Volto 13\n  [@sneridagh]\n\n\n## 2.2.1 (2021-04-21)\n\n- Better multilingual profile\n  [@sneridagh]\n\n\n## 2.2.0 (2021-04-21)\n\n- Add multilingual test fixture for Cypress tests\n  [@sneridagh]\n\n\n## 2.1.3 (2021-03-26)\n\n- Add ``requests`` as dependency\n  [@sneridagh]\n\n\n## 2.1.2 (2021-03-07)\n\n- Add a demo home page for demo site\n  [@sneridagh]\n\n\n## 2.1.1 (2021-03-06)\n\n- Add demo site profile\n  [@sneridagh]\n\n\n## 2.1.0 (2021-02-23)\n\n- Remove Images and Files from types_use_view_action_in_listings since in Volto it's no used at all.\n  [@sneridagh]\n\n\n## 2.0.0 (2021-02-20)\n\n- [@Breaking] Define good known to work well with Volto image scales in ``registry.xml``\n  GenericSetup profile. When this add-on is installed or the profile is applied, it will\n  overwrite the existing scales in your Plone site. If you are using specific scales for\n  your project, make sure they are installed after this addon's profile.\n\n  This scales have been tested in real production projects and work well with Volto's\n  layout and responsive viewports.\n  [timo, sneridagh]\n\n\n## 1.7.2 (2021-01-26)\n\n- Nothing changed yet.\n\n\n## 1.7.1 (2021-01-25)\n\n- Fix first level tabs and add nav_title to them\n  [@sneridagh]\n\n\n## 1.7.0 (2021-01-21)\n\n- Add ``breadcrumbs_view`` override to include ``nav_title``\n  [@sneridagh]\n\n\n## 1.6.0 (2021-01-14)\n\n- Added indexers for `preview_image`, it allows the Volto object browser widget to access it\n  [@sneridagh]\n\n\n## 1.5.2 (2020-12-14)\n\n- Missing ZCML for translations\n  [@sneridagh]\n\n\n## 1.5.1 (2020-12-14)\n\n- Add zest.pocompile\n  [@sneridagh]\n\n- Add missing .mo\n  [@sneridagh]\n\n\n## 1.5.0 (2020-12-09)\n\n- Fix locales default in German\n  [@sneridagh]\n\n\n## 1.4.0 (2020-07-29)\n\n- Add volto.preview_image behavior to Page type.\n  [@timo]\n\n\n## 1.3.2 (2020-05-17)\n\n- Make sure that the enable_pam helper does its job.\n  [@sneridagh]\n\n\n## 1.3.1 (2020-05-12)\n\n- Fix LRF global allow and ensure default behaviors\n  [@sneridagh]\n\n\n## 1.3.0 (2020-05-11)\n\n- Add registry navigation setting for not show the current item in navigations\n  [@sneridagh]\n\n- New enable_pam setuphandlers helper\n  [@sneridagh]\n\n- New enable_pam_consistency setuphandlers helper\n  [@sneridagh]\n\n\n## 1.2.0 (2020-04-17)\n\n- Bring back the event type, since it's fully working in Volto now\n  [@sneridagh]\n\n- fix typo in behavior name ``navttitle`` -> ``navtitle``\n  [@sneridagh]\n\n\n## 1.1.0 (2020-03-10)\n\n- Added a specific IImageScaleFactory for ``Image`` content type, to fix SVG handling\n  [@sneridagh]\n\n\n## 1.0.1 (2020-03-08)\n\n- Update version numbers in default home page.\n  [@sneridagh]\n\n\n## 1.0.0 (2020-03-06)\n\n- Add Zope log patch\n  [@sneridagh]\n\n- Add nav_title and preview_image behaviors\n  [@sneridagh]\n\n- override plone.app.vocabularies.Keywords with a version that\n  uses the unencode subject value as the token.\n  [@csenger]\n\n- Remove versioning behavior from Document type.\n  [@timo]\n\n- Backport all features that were in plone.voltodemo\n  [@sneridagh]\n\n- Patch Password reset tool in Products.CMFPlone to use the optional volto_domain in the\n  e-email which is sent to users, only if the request is made through REST.\n  [@fredvd]\n\n- Add Volto settings control panel with frontend_domain field.\n  [@fredvd]\n\n- Homepage profile for demo purposes\n  [@sneridagh]\n\n- CORS profile\n  [@sneridagh]\n\n- Enable Volto Blocks for Document and LRF\n  [@sneridagh]\n\n- Initial release.\n  [@kitconcept]\n",
    "bugtrack_url": null,
    "license": "GPL version 2",
    "summary": "Volto integration add-on for Plone",
    "version": "5.0.3",
    "project_urls": {
        "Homepage": "https://github.com/plone/plone.volto"
    },
    "split_keywords": [
        "python",
        "plone",
        "cms"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "fee3b52cf10ddff85d59c33244d03a92fa728ae977ed04d2391e05419a9345e6",
                "md5": "d5eb2d72dc7cb2d3d6e1ec8855a9829d",
                "sha256": "590845a3f6f65c9f2c591aeb7b1885975ebeb04f55a6913fdadcc3801ce8a954"
            },
            "downloads": -1,
            "filename": "plone.volto-5.0.3-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "d5eb2d72dc7cb2d3d6e1ec8855a9829d",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 268093,
            "upload_time": "2025-02-11T19:38:17",
            "upload_time_iso_8601": "2025-02-11T19:38:17.043787Z",
            "url": "https://files.pythonhosted.org/packages/fe/e3/b52cf10ddff85d59c33244d03a92fa728ae977ed04d2391e05419a9345e6/plone.volto-5.0.3-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "cf7dd21380e8b1a6efc07959521decba1b1106a12d92d1faf178a562f4558aa8",
                "md5": "5099223fda4d32155a54152cc3df6f27",
                "sha256": "f3f8ac0144238282a2b6c9fc8daf0022c65c27a527cc558eeaa0720ec72e8d22"
            },
            "downloads": -1,
            "filename": "plone_volto-5.0.3.tar.gz",
            "has_sig": false,
            "md5_digest": "5099223fda4d32155a54152cc3df6f27",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 259715,
            "upload_time": "2025-02-11T19:38:19",
            "upload_time_iso_8601": "2025-02-11T19:38:19.755453Z",
            "url": "https://files.pythonhosted.org/packages/cf/7d/d21380e8b1a6efc07959521decba1b1106a12d92d1faf178a562f4558aa8/plone_volto-5.0.3.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-02-11 19:38:19",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "plone",
    "github_project": "plone.volto",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [],
    "tox": true,
    "lcname": "plone.volto"
}
        
Elapsed time: 1.46885s