Metadata-Version: 2.1
Name: kitconcept.volto
Version: 3.0.0a8
Summary: Volto integration add-on for Plone
Home-page: https://github.com/kitconcept/kitconcept.volto
Author: kitconcept GmbH
Author-email: info@kitconcept.com
License: GPL version 2
Keywords: Python Plone
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Web Environment
Classifier: Framework :: Plone
Classifier: Framework :: Plone :: 5.2
Classifier: Framework :: Plone :: 6.0
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Operating System :: OS Independent
Classifier: License :: OSI Approved :: GNU General Public License v2 (GPLv2)
Requires-Dist: plone.volto
Requires-Dist: plone.api
Requires-Dist: Products.GenericSetup
Requires-Dist: setuptools
Requires-Dist: plone.restapi
Requires-Dist: kitconcept.contentcreator
Provides-Extra: test
Requires-Dist: plone.app.testing ; extra == 'test'
Requires-Dist: plone.testing ; extra == 'test'
Requires-Dist: plone.app.contenttypes ; extra == 'test'
Requires-Dist: plone.app.robotframework[debug] ; extra == 'test'

.. This README is meant for consumption by humans and pypi. Pypi can render rst files so please do not use Sphinx features.
   If you want to learn more about writing documentation, please check out: http://docs.plone.org/about/documentation_styleguide.html
   This text does not appear on pypi or github. It is a comment.

==============================================================================
kitconcept.volto
==============================================================================

.. image:: https://kitconcept.com/logo.svg
   :alt: kitconcept
   :target: https://kitconcept.com/


.. image:: https://github.com/kitconcept/kitconcept.volto/workflows/Basic%20tests/badge.svg
    :target: https://github.com/kitconcept/kitconcept.volto/actions?query=workflow%3A%22Basic+tests%22

kitconcept.volto is a helper package to set up a Plone site to use with Volto. It
installs several convenience packages, Plone configurations and patches to prepare Plone
to be ready for support all the Volto features. Drop it in your buildout and then
install it. It is used in Volto development itself for testing it.

If you want, take it as base of your own integration package.

Usage
=====

https://github.com/plone/volto/blob/master/api/base.cfg#L13

and along with plonesite recipe:

https://github.com/plone/volto/blob/master/api/base.cfg#L13

Compatibility
=============

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

+---------+------------------------+-----------------------+
|         |  kitconcept.volto      |  plone.restapi        |
+---------+------------------------+-----------------------+
|         |  1.x                   |  6.0.0 and below      |
+---------+------------------------+-----------------------+
|         |  2.x                   |  7.0.0 and above      |
+---------+------------------------+-----------------------+

plone.restapi 7.0.0 is included in Plone 5.3.4 (and later).

You can still use 2.x in p.restapi 7.0.0 based installations but the transforms included won't work. 
Volto only supports the latest plone.restapi branch, therefore it is recommended to always use the latest version in your Volto projects.

Features
========

kitconcept.volto provides the following features:

Demo home page and Plone site blocks support
--------------------------------------------

It features a hack to make the Plone site Volto blocks-enabled with some demo
content. You can take only the hack to enable the blocks on your site.

You can see it in action in the Volto demo: https://volto.kitconcept.com

Install the provided profile to install it by default:

  kitconcept.volto:default-homepage

e.g. in your GS ``metadata.xml`` along with your other dependencies::

  <metadata>
  <version>1000</version>
  <dependencies>
    <dependency>kitconcept.volto:default-homepage</dependency>
  </dependencies>
  </metadata>

Volto Blocks Support
--------------------

It enables the Volto Blocks behavior on the ``Document`` content type by default, enabling Volto editor for that content type.

Just use the same pattern to enable your own content types to have blocks.

Document content type
---------------------

``Richtext`` and ``table of contents`` behaviors has been removed from the ``Document`` behaviors since it's confusing for the users if they shows in the form. Both have been superseeded by blocks in the editor.

CORS profile
------------

A quick helper for enable CORS for development config is also provided in the
``kitconcept.volto`` module. So you can call::

  <include package="kitconcept.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
----------

p.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. Specially if
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 fix for Plone ``subject`` field
-------------------------------------

There are some problems of serialization on special characters derivated from how the
current shape of the Plone's default Dexterity ``subjects`` field that has 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 userful for listings (e.g. listing block customizations) and teaser elements (e.g. teaser blocks such as [volto-blocks-grid](https://github.com/kitconcept/volto-blocks-grid)).

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

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 (e.g. "/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.navtitle" />
     </property>
     ...
   </object>

Head Title Behavior
-------------------

The headtitle makes content types provide a headtitle field that can be used by Volto in teasers and alikes.

The "volto.head_title" behavior can be enabled in the generic setup XML definition of a content type (e.g. "/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>

Volto blocks enabled LRF
------------------------

Multilingual support for LRF (Language Root Folders) is supported. Install PAM before
installing this package and demo homepages will be created in each enabled language.
Currently only support for EN/DE.

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 Volto layout and grid system::

    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.**

Versions compatibility
----------------------

kitconcept.voltodemo is deprecated in favor of this package as of since March, 5th 2020.


Contributors
============

- kitconcept GmbH, info@kitconcept.com


Changelog
=========


3.0.0a8 (2022-09-20)
--------------------

- Updated examples content.
  [robgietema]

- Remove unused dependency on collective.folderishtypes.
  [davisagli]


3.0.0a7 (2022-01-12)
--------------------

- Create LRF with an empty text blocks
  [tisto]


3.0.0a6 (2021-11-10)
--------------------

- Remove blocksuuidfixer browser view, as it is already present in plone.volto.
  [ericof]

- Explicitly include kitconcept.contentcreator dependency (supporting pip installations)
  [ericof]

- Use plone/setup-plone@v1.1.0 in Github actions
  [ericof]

3.0.0a5 (2021-11-10)
--------------------

- Add BBB code for behaviors
  [sneridagh]


3.0.0a4 (2021-11-02)
--------------------

- Remove jq as a dependency. This forces to remove the utility scripts depending on it and related tests.
  They remain in 2.x series though, for reference.
  [sneridagh]


3.0.0a3 (2021-10-18)
--------------------

- Add "content" profile (this adds a dependency to kitconcept.contentcreator).
  [timo]


3.0.0a2 (2021-10-11)
--------------------

- Install plone.volto along when installing kitconcept.volto
  [sneridagh]


3.0.0a1 (2021-10-11)
--------------------

- Make kitconcept.volto depends on plone.volto
  [timo, sneridagh]


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 by simplify definition of ``Plone Site`` in GS profile. This fixes the error when applying it in Plone 6 with DX site root.
  [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" ("Navigation titel" -> "Navigationstitel")
  [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 kitconcept.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]
