diff --git a/backend-volto/.dockerignore b/backend-volto/.dockerignore index 91cbf57..e9e94ff 100644 --- a/backend-volto/.dockerignore +++ b/backend-volto/.dockerignore @@ -2,6 +2,7 @@ .gitattributes bin Dockerfile +Dockerfile.acceptance include instance instance.yaml @@ -9,4 +10,5 @@ lib lib64 Makefile pyvenv.cfg -var \ No newline at end of file +var +.venv diff --git a/backend-volto/.editorconfig b/backend-volto/.editorconfig new file mode 100644 index 0000000..8ae05aa --- /dev/null +++ b/backend-volto/.editorconfig @@ -0,0 +1,54 @@ +# Generated from: +# https://github.com/plone/meta/tree/master/config/default +# See the inline comments on how to expand/tweak this configuration file +# +# EditorConfig Configuration file, for more details see: +# http://EditorConfig.org +# EditorConfig is a convention description, that could be interpreted +# by multiple editors to enforce common coding conventions for specific +# file types + +# top-most EditorConfig file: +# Will ignore other EditorConfig files in Home directory or upper tree level. +root = true + + +[*] # For All Files +# Unix-style newlines with a newline ending every file +end_of_line = lf +insert_final_newline = true +trim_trailing_whitespace = true +# Set default charset +charset = utf-8 +# Indent style default +indent_style = space +# Max Line Length - a hard line wrap, should be disabled +max_line_length = off + +[*.{py,cfg,ini}] +# 4 space indentation +indent_size = 4 + +[*.{yml,zpt,pt,dtml,zcml}] +# 2 space indentation +indent_size = 2 + +[*.{json,jsonl,js,jsx,ts,tsx,css,less,scss,html}] # Frontend development +# 2 space indentation +indent_size = 2 +max_line_length = 80 + +[{Makefile,.gitmodules}] +# Tab indentation (no size specified, but view as 4 spaces) +indent_style = tab +indent_size = unset +tab_width = unset + + +## +# Add extra configuration options in .meta.toml: +# [editorconfig] +# extra_lines = """ +# _your own configuration lines_ +# """ +## diff --git a/backend-volto/.flake8 b/backend-volto/.flake8 new file mode 100644 index 0000000..7ef4f64 --- /dev/null +++ b/backend-volto/.flake8 @@ -0,0 +1,22 @@ +# Generated from: +# https://github.com/plone/meta/tree/master/config/default +# See the inline comments on how to expand/tweak this configuration file +[flake8] +doctests = 1 +ignore = + # black takes care of line length + E501, + # black takes care of where to break lines + W503, + # black takes care of spaces within slicing (list[:]) + E203, + # black takes care of spaces after commas + E231, + +## +# Add extra configuration options in .meta.toml: +# [flake8] +# extra_lines = """ +# _your own configuration lines_ +# """ +## diff --git a/backend-volto/.gitattributes b/backend-volto/.gitattributes deleted file mode 100644 index b07d5f4..0000000 --- a/backend-volto/.gitattributes +++ /dev/null @@ -1 +0,0 @@ -CHANGES.md merge=union \ No newline at end of file diff --git a/backend-volto/.gitignore b/backend-volto/.gitignore index dec570b..6a1e51f 100644 --- a/backend-volto/.gitignore +++ b/backend-volto/.gitignore @@ -1,44 +1,51 @@ -.coverage +# Generated from: +# https://github.com/plone/meta/tree/master/config/default +# See the inline comments on how to expand/tweak this configuration file +# python related *.egg-info -*.log -*.mo -*.py? -*.swp -# dirs +*.pyc +*.pyo + +# tools related +build/ +.coverage +coverage.xml +dist/ +docs/_build +__pycache__/ +.tox +.vscode/ +node_modules/ + +# venv / buildout related bin/ -buildout-cache/ -data/*.json develop-eggs/ eggs/ +.eggs/ etc/ -htmlcov/ +.installed.cfg include/ -instance/ lib/ -lib64/ -local/ -node_modules/ -parts/ -src/plone6demo/setuphandlers/data/*.json -dist/* -test.plone_addon/ -var/ -# files -.installed.cfg -.mr.developer.cfg lib64 -log.html -output.xml -pip-selfcheck.json -report.html -.vscode/ -.tox/ -reports/ -venv/ -*-mxdev.txt -# excludes -live.cfg -inituser -pip-wheel-metadata +.mr.developer.cfg +parts/ pyvenv.cfg -instance-local.yaml \ No newline at end of file +var/ + +# mxdev +/instance/ +/.make-sentinels/ +/*-mxdev.txt +/reports/ +/sources/ +/venv/ +.installed.txt +.lock + +## +# Add extra configuration options in .meta.toml: +# [gitignore] +# extra_lines = """ +# _your own configuration lines_ +# """ +## diff --git a/backend-volto/.pre-commit-config.yaml b/backend-volto/.pre-commit-config.yaml new file mode 100644 index 0000000..b6eb043 --- /dev/null +++ b/backend-volto/.pre-commit-config.yaml @@ -0,0 +1,94 @@ +# Generated from: +# https://github.com/plone/meta/tree/master/config/default +# See the inline comments on how to expand/tweak this configuration file +ci: + autofix_prs: false + autoupdate_schedule: monthly + +repos: +- repo: https://github.com/asottile/pyupgrade + rev: v3.14.0 + hooks: + - id: pyupgrade + args: [--py38-plus] +- repo: https://github.com/pycqa/isort + rev: 5.12.0 + hooks: + - id: isort +- repo: https://github.com/psf/black + rev: 23.9.1 + hooks: + - id: black +- repo: https://github.com/collective/zpretty + rev: 3.1.0 + hooks: + - id: zpretty + +## +# Add extra configuration options in .meta.toml: +# [pre_commit] +# zpretty_extra_lines = """ +# _your own configuration lines_ +# """ +## +- repo: https://github.com/PyCQA/flake8 + rev: 6.1.0 + hooks: + - id: flake8 + +## +# Add extra configuration options in .meta.toml: +# [pre_commit] +# flake8_extra_lines = """ +# _your own configuration lines_ +# """ +## +- repo: https://github.com/codespell-project/codespell + rev: v2.2.6 + hooks: + - id: codespell + additional_dependencies: + - tomli + +## +# Add extra configuration options in .meta.toml: +# [pre_commit] +# codespell_extra_lines = """ +# _your own configuration lines_ +# """ +## +- repo: https://github.com/mgedmin/check-manifest + rev: "0.49" + hooks: + - id: check-manifest +- repo: https://github.com/regebro/pyroma + rev: "4.2" + hooks: + - id: pyroma +- repo: https://github.com/mgedmin/check-python-versions + rev: "0.21.3" + hooks: + - id: check-python-versions + args: ['--only', 'setup.py,pyproject.toml'] +- repo: https://github.com/collective/i18ndude + rev: "6.1.0" + hooks: + - id: i18ndude + + +## +# Add extra configuration options in .meta.toml: +# [pre_commit] +# i18ndude_extra_lines = """ +# _your own configuration lines_ +# """ +## + + +## +# Add extra configuration options in .meta.toml: +# [pre_commit] +# extra_lines = """ +# _your own configuration lines_ +# """ +## diff --git a/backend-volto/CHANGES.md b/backend-volto/CHANGES.md new file mode 100644 index 0000000..3020bae --- /dev/null +++ b/backend-volto/CHANGES.md @@ -0,0 +1,10 @@ +# Changelog + + + + diff --git a/backend-volto/CONTRIBUTORS.md b/backend-volto/CONTRIBUTORS.md new file mode 100644 index 0000000..5a1aabd --- /dev/null +++ b/backend-volto/CONTRIBUTORS.md @@ -0,0 +1,3 @@ +# Contributors + +- Plone Foundation [collective@plone.org] diff --git a/backend-volto/Dockerfile b/backend-volto/Dockerfile index f260f76..6a61e28 100644 --- a/backend-volto/Dockerfile +++ b/backend-volto/Dockerfile @@ -1,29 +1,44 @@ # syntax=docker/dockerfile:1 ARG SEED=1000 -ARG PLONE_VERSION=6.0.13 -FROM plone/plone-backend:${PLONE_VERSION} +ARG PLONE_VERSION=6.1.0b1 +FROM plone/server-builder:${PLONE_VERSION} AS builder +WORKDIR /app -LABEL maintainer="Plone Foundation " \ - org.label-schema.name="demo-backend-volto" \ - org.label-schema.description="Plone 6 Demo Plain Volto Site backend image." \ - org.label-schema.vendor="Plone Foundation" # Add local code -COPY . . +COPY scripts/ scripts/ +COPY . src -# Install local requirements and fix permissions +# Install local requirements and pre-compile mo files RUN < /app/__created__.txt + SEED=${SEED} ./docker-entrypoint.sh create-site EOT diff --git a/backend-volto/Dockerfile.acceptance b/backend-volto/Dockerfile.acceptance new file mode 100644 index 0000000..8def51e --- /dev/null +++ b/backend-volto/Dockerfile.acceptance @@ -0,0 +1,43 @@ +# syntax=docker/dockerfile:1 +ARG PLONE_VERSION=6.1.0b1 +FROM plone/server-builder:${PLONE_VERSION} AS builder + +WORKDIR /app + + +# Add local code +COPY scripts/ scripts/ +COPY . src + +# Install local requirements and pre-compile mo files +RUN <= tuple(map(int, '$(PYTHON_VERSION_MIN)'.split('.'))))") -ifeq ($(PYTHON_VERSION_OK),False) +ifeq ($(PYTHON_VERSION_OK),0) $(error "Need python $(PYTHON_VERSION) >= $(PYTHON_VERSION_MIN)") endif +PLONE_SITE_ID=Plone +BACKEND_FOLDER=$(shell dirname $(realpath $(firstword $(MAKEFILE_LIST)))) +PLONE_VERSION=$(shell cat $(BACKEND_FOLDER)/version.txt) +EXAMPLE_CONTENT_FOLDER=${BACKEND_FOLDER}/src/plone6/demo/setuphandlers/examplecontent + +GIT_FOLDER=$(BACKEND_FOLDER)/.git +VENV_FOLDER=$(BACKEND_FOLDER)/.venv +BIN_FOLDER=$(VENV_FOLDER)/bin + + +all: build # Add the following 'help' target to your Makefile # And add help text after each target name starting with '\#\#' @@ -57,119 +51,89 @@ endif help: ## This help message @grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}' -.PHONY: clean -clean: clean-build clean-pyc clean-test clean-venv clean-instance ## remove all build, test, coverage and Python artifacts - -.PHONY: clean-instance -clean-instance: ## remove existing instance - rm -fr instance etc inituser var - -.PHONY: clean-venv -clean-venv: ## remove virtual environment - rm -fr bin include lib lib64 - -.PHONY: clean-build -clean-build: ## remove build artifacts - rm -fr build/ - rm -fr dist/ - rm -fr .eggs/ - find . -name '*.egg-info' -exec rm -fr {} + - find . -name '*.egg' -exec rm -rf {} + - -.PHONY: clean-pyc -clean-pyc: ## remove Python file artifacts - find . -name '*.pyc' -exec rm -f {} + - find . -name '*.pyo' -exec rm -f {} + - find . -name '*~' -exec rm -f {} + - find . -name '__pycache__' -exec rm -fr {} + - -.PHONY: clean-test -clean-test: ## remove test and coverage artifacts - rm -f .coverage - rm -fr htmlcov/ - -bin/pip: +$(BIN_FOLDER)/pip $(BIN_FOLDER)/tox $(BIN_FOLDER)/pipx $(BIN_FOLDER)/uv $(BIN_FOLDER)/mxdev: @echo "$(GREEN)==> Setup Virtual Env$(RESET)" - $(PYTHON) -m venv . - bin/pip install -U "setuptools" "pip" "wheel" "cookiecutter" "mxdev" + $(PYTHON) -m venv $(VENV_FOLDER) + $(BIN_FOLDER)/pip install -U "pip" "uv" "wheel" "pipx" "mxdev" "tox" "pre-commit" + if [ -d $(GIT_FOLDER) ]; then $(BIN_FOLDER)/pre-commit install; else echo "$(RED) Not installing pre-commit$(RESET)";fi -.PHONY: config -config: bin/pip ## Create instance configuration +instance/etc/zope.ini: $(BIN_FOLDER)/pip ## Create instance configuration @echo "$(GREEN)==> Create instance configuration$(RESET)" - if [[ -s instance-override.yaml ]]; then \ - echo " Using instance-local.yaml"; \ - bin/cookiecutter -f --no-input --config-file instance-local.yaml gh:plone/cookiecutter-zope-instance ;\ - else \ - bin/cookiecutter -f --no-input --config-file instance.yaml gh:plone/cookiecutter-zope-instance ;\ - fi - -# i18n -bin/i18ndude: bin/pip - @echo "$(GREEN)==> Install translation tools$(RESET)" - bin/pip install i18ndude + $(BIN_FOLDER)/pipx run cookiecutter -f --no-input --config-file instance.yaml gh:plone/cookiecutter-zope-instance -.PHONY: i18n -i18n: bin/i18ndude ## Update locales - @echo "$(GREEN)==> Updating locales$(RESET)" - bin/update_locale - -# TODO `make build` -# build: +.PHONY: config +config: instance/etc/zope.ini .PHONY: build-dev -build-dev: config ## pip install Plone packages +build-dev: config ## Install Plone packages @echo "$(GREEN)==> Setup Build$(RESET)" - bin/mxdev -c mx.ini - bin/pip install -r requirements-mxdev.txt + $(BIN_FOLDER)/mxdev -c mx.ini + $(BIN_FOLDER)/uv pip install -r requirements-mxdev.txt -.PHONY: format -format: ## Format the codebase according to our standards - @echo "$(GREEN)==> Format codebase$(RESET)" - $(FORMAT) +.PHONY: install +install: build-dev ## Install Plone -.PHONY: lint -lint: lint-isort lint-black lint-flake8 lint-zpretty ## check code style +.PHONY: build +build: build-dev ## Install Plone -.PHONY: lint-black -lint-black: ## validate black formating - $(LINT) black +.PHONY: clean +clean: ## Clean environment + @echo "$(RED)==> Cleaning environment and build$(RESET)" + rm -rf $(VENV_FOLDER) pyvenv.cfg .installed.cfg instance .tox .venv .pytest_cache -.PHONY: lint-flake8 -lint-flake8: ## validate black formating - $(LINT) flake8 +.PHONY: start +start: ## Start a Plone instance on localhost:8080 + PYTHONWARNINGS=ignore $(BIN_FOLDER)/runwsgi instance/etc/zope.ini -.PHONY: lint-isort -lint-isort: ## validate using isort - $(LINT) isort +.PHONY: console +console: instance/etc/zope.ini ## Start a console into a Plone instance + PYTHONWARNINGS=ignore $(BIN_FOLDER)/zconsole debug instance/etc/zope.conf -.PHONY: lint-pyroma -lint-pyroma: ## validate using pyroma - $(LINT) pyroma +.PHONY: create-site +create-site: instance/etc/zope.ini ## Create a new site from scratch + PYTHONWARNINGS=ignore $(BIN_FOLDER)/zconsole run instance/etc/zope.conf ./scripts/create_site.py -.PHONY: lint-zpretty -lint-zpretty: ## validate ZCML/XML using zpretty - $(LINT) zpretty +# Example Content +.PHONY: update-example-content +update-example-content: $(BIN_FOLDER)/tox ## Export example content inside package + @echo "$(GREEN)==> Export example content into $(EXAMPLE_CONTENT_FOLDER) $(RESET)" + if [ -d $(EXAMPLE_CONTENT_FOLDER)/content ]; then rm -r $(EXAMPLE_CONTENT_FOLDER)/* ;fi + $(BIN_FOLDER)/plone-exporter instance/etc/zope.conf $(PLONE_SITE_ID) $(EXAMPLE_CONTENT_FOLDER) -.PHONY: test -test: ## run tests - ./bin/zope-testrunner --auto-color --auto-progress --test-path src/plone6demo/src/ +.PHONY: check +check: $(BIN_FOLDER)/tox ## Check and fix code base according to Plone standards + @echo "$(GREEN)==> Format codebase$(RESET)" + $(BIN_FOLDER)/tox -e lint -.PHONY: test_quiet -test_quiet: ## run tests removing deprecation warnings - PYTHONWARNINGS=ignore ./bin/zope-testrunner --auto-color --auto-progress --test-path src/plone6demo/src/ +# i18n +$(BIN_FOLDER)/i18ndude: $(BIN_FOLDER)/pip + @echo "$(GREEN)==> Install translation tools$(RESET)" + $(BIN_FOLDER)/uv pip install i18ndude -.PHONY: create-site -create-site: instance/etc/zope.ini ## Create a new site from scratch - PYTHONWARNINGS=ignore ./bin/zconsole run instance/etc/zope.conf ./scripts/create_site.py +.PHONY: i18n +i18n: $(BIN_FOLDER)/i18ndude ## Update locales + @echo "$(GREEN)==> Updating locales$(RESET)" + $(BIN_FOLDER)/update_locale -.PHONY: start -start: ## Start a Plone instance on localhost:8080 - PYTHONWARNINGS=ignore ./bin/runwsgi instance/etc/zope.ini +# Tests +.PHONY: test +test: $(BIN_FOLDER)/tox ## run tests + $(BIN_FOLDER)/tox -e test -.PHONY: debug -debug: instance/etc/zope.ini ## Run debug console - PYTHONWARNINGS=ignore ./bin/zconsole debug instance/etc/zope.conf +.PHONY: test-coverage +test-coverage: $(BIN_FOLDER)/tox ## run tests with coverage + $(BIN_FOLDER)/tox -e coverage +# Build Docker images .PHONY: build-image -build-image: ## Build Docker Image - @docker build . -t $(IMAGE_NAME):$(IMAGE_TAG) -f Dockerfile --build-arg PLONE_VERSION=$(PLONE_VERSION) +build-image: ## Build Docker Images + @DOCKER_BUILDKIT=1 docker build . -t $(IMAGE_NAME_PREFIX)-backend:$(IMAGE_TAG) -f Dockerfile --build-arg PLONE_VERSION=$(PLONE_VERSION) + +# Acceptance tests +.PHONY: acceptance-backend-start +acceptance-backend-start: ## Start backend acceptance server + ZSERVER_HOST=0.0.0.0 ZSERVER_PORT=55001 LISTEN_PORT=55001 APPLY_PROFILES="plone6.demo:default" CONFIGURE_PACKAGES="plone.restapi,plone.volto,plone.volto.cors,plone6.demo" $(BIN_FOLDER)/robot-server plone.app.robotframework.testing.VOLTO_ROBOT_TESTING + +.PHONY: acceptance-image-build +acceptance-image-build: ## Build Docker Images + @DOCKER_BUILDKIT=1 docker build . -t $(IMAGE_NAME_PREFIX)-backend-acceptance:$(IMAGE_TAG) -f Dockerfile.acceptance --build-arg PLONE_VERSION=$(PLONE_VERSION) diff --git a/backend-volto/README.md b/backend-volto/README.md new file mode 100644 index 0000000..304b027 --- /dev/null +++ b/backend-volto/README.md @@ -0,0 +1,33 @@ +# plone6.demo + +A new project using Plone 6. + +## Features + +TODO: List our awesome features + +## Installation + +Install plone6.demo with `pip`: + +```shell +pip install plone6.demo +``` +And to create the Plone site: + +```shell +make create_site +``` + +## Contribute + +- [Issue Tracker](https://github.com/collective/plone6.demo/issues) +- [Source Code](https://github.com/collective/plone6.demo/) + +## License + +The project is licensed under GPLv2. + +## Credits and Acknowledgements 🙏 + +Crafted with care by **This was generated by [cookiecutter-plone](https://github.com/plone/cookieplone-templates/backend_addon) on 2024-11-09 08:56:27**. A special thanks to all contributors and supporters! diff --git a/backend-volto/constraints.txt b/backend-volto/constraints.txt index 3bb2e32..1b61267 100644 --- a/backend-volto/constraints.txt +++ b/backend-volto/constraints.txt @@ -1 +1 @@ --c https://dist.plone.org/release/6.0.13/constraints.txt +-c https://dist.plone.org/release/6.1.0b1/constraints.txt diff --git a/backend-volto/instance.yaml b/backend-volto/instance.yaml index 204096e..14c69e0 100644 --- a/backend-volto/instance.yaml +++ b/backend-volto/instance.yaml @@ -1,8 +1,3 @@ default_context: - initial_user_name: 'admin' initial_user_password: 'admin' - - load_zcml: - package_includes: ['plone6demo'] - - db_storage: direct + zcml_package_includes: 'plone6.demo' \ No newline at end of file diff --git a/backend-volto/mx.ini b/backend-volto/mx.ini index b8d723d..9fccb99 100644 --- a/backend-volto/mx.ini +++ b/backend-volto/mx.ini @@ -4,9 +4,10 @@ ; to learn more about mxdev visit https://pypi.org/project/mxdev/ [settings] +main-package = -e .[test] ; example how to override a package version ; version-overrides = -; plone.volto==4.0.2 +; example.package==2.1.0a2 ; example section to use packages from git ; [example.contenttype] diff --git a/backend-volto/pyproject.toml b/backend-volto/pyproject.toml index b2af481..c982aa9 100644 --- a/backend-volto/pyproject.toml +++ b/backend-volto/pyproject.toml @@ -1,42 +1,170 @@ -[tool.black] -line-length = 88 -target-version = ['py38'] -include = '\.pyi?$' -exclude = ''' -( - /( - \.eggs # exclude a few common directories in the - | \.git # root of the project - | \.hg - | \.mypy_cache - | \.tox - | \.venv - | _build - | buck-out - | build - | dist - )/ -) -''' +# Generated from: +# https://github.com/plone/meta/tree/main/config/default +# See the inline comments on how to expand/tweak this configuration file +[build-system] +requires = ["setuptools>=68.2"] + +[tool.towncrier] +directory = "news/" +filename = "CHANGES.md" +start_string = "\n" +title_format = "## {version} ({project_date})" +template = "news/.changelog_template.jinja" +underlines = ["", "", ""] + +[[tool.towncrier.type]] +directory = "breaking" +name = "Breaking changes:" +showcontent = true + +[[tool.towncrier.type]] +directory = "feature" +name = "New features:" +showcontent = true + +[[tool.towncrier.type]] +directory = "bugfix" +name = "Bug fixes:" +showcontent = true + +[[tool.towncrier.type]] +directory = "internal" +name = "Internal:" +showcontent = true + +[[tool.towncrier.type]] +directory = "documentation" +name = "Documentation:" +showcontent = true + +[[tool.towncrier.type]] +directory = "tests" +name = "Tests" +showcontent = true + +## +# Add extra configuration options in .meta.toml: +# [pyproject] +# towncrier_extra_lines = """ +# extra_configuration +# """ +## [tool.isort] -profile = "black" -force_alphabetical_sort = true -force_single_line = true -lines_after_imports = 2 -line_length = 120 - -[tool.flakeheaven] -format="grouped" -max_line_length=88 -show_source=true -max-complexity=25 - -[tool.flakeheaven.plugins] -pycodestyle = ["+*"] -pyflakes = ["+*"] -"flake8-*" = ["+*"] - -[tool.plone-code-analysis] -paths = "src/plone6demo/setup.py src/plone6demo/src/ scripts/" -paths_pyroma = "src/plone6demo" +profile = "plone" + +## +# Add extra configuration options in .meta.toml: +# [pyproject] +# isort_extra_lines = """ +# extra_configuration +# """ +## + +[tool.black] +target-version = ["py38"] + +## +# Add extra configuration options in .meta.toml: +# [pyproject] +# black_extra_lines = """ +# extra_configuration +# """ +## + +[tool.codespell] +ignore-words-list = "discreet,vew" +skip = "*.po,*.min.js" +## +# Add extra configuration options in .meta.toml: +# [pyproject] +# codespell_ignores = "foo,bar" +# codespell_skip = "*.po,*.map,package-lock.json" +## + +[tool.dependencychecker] +Zope = [ + # Zope own provided namespaces + 'App', 'OFS', 'Products.Five', 'Products.OFSP', 'Products.PageTemplates', + 'Products.SiteAccess', 'Shared', 'Testing', 'ZPublisher', 'ZTUtils', + 'Zope2', 'webdav', 'zmi', + # ExtensionClass own provided namespaces + 'ExtensionClass', 'ComputedAttribute', 'MethodObject', + # Zope dependencies + 'AccessControl', 'Acquisition', 'AuthEncoding', 'beautifulsoup4', 'BTrees', + 'cffi', 'Chameleon', 'DateTime', 'DocumentTemplate', + 'MultiMapping', 'multipart', 'PasteDeploy', 'Persistence', 'persistent', + 'pycparser', 'python-gettext', 'pytz', 'RestrictedPython', 'roman', + 'soupsieve', 'transaction', 'waitress', 'WebOb', 'WebTest', 'WSGIProxy2', + 'z3c.pt', 'zc.lockfile', 'ZConfig', 'zExceptions', 'ZODB', 'zodbpickle', + 'zope.annotation', 'zope.browser', 'zope.browsermenu', 'zope.browserpage', + 'zope.browserresource', 'zope.cachedescriptors', 'zope.component', + 'zope.configuration', 'zope.container', 'zope.contentprovider', + 'zope.contenttype', 'zope.datetime', 'zope.deferredimport', + 'zope.deprecation', 'zope.dottedname', 'zope.event', 'zope.exceptions', + 'zope.filerepresentation', 'zope.globalrequest', 'zope.hookable', + 'zope.i18n', 'zope.i18nmessageid', 'zope.interface', 'zope.lifecycleevent', + 'zope.location', 'zope.pagetemplate', 'zope.processlifetime', 'zope.proxy', + 'zope.ptresource', 'zope.publisher', 'zope.schema', 'zope.security', + 'zope.sequencesort', 'zope.site', 'zope.size', 'zope.structuredtext', + 'zope.tal', 'zope.tales', 'zope.testbrowser', 'zope.testing', + 'zope.traversing', 'zope.viewlet' +] +'Products.CMFCore' = [ + 'docutils', 'five.localsitemanager', 'Missing', 'Products.BTreeFolder2', + 'Products.GenericSetup', 'Products.MailHost', 'Products.PythonScripts', + 'Products.StandardCacheManagers', 'Products.ZCatalog', 'Record', + 'zope.sendmail', 'Zope' +] +'plone.base' = [ + 'plone.batching', 'plone.registry', 'plone.schema','plone.z3cform', + 'Products.CMFCore', 'Products.CMFDynamicViewFTI', +] +python-dateutil = ['dateutil'] +pytest-plone = ['pytest', 'plone.testing', 'plone.app.testing'] +ignore-packages = ['plone.app.iterate', 'plone.app.upgrade', 'plone.volto', 'zestreleaser.towncrier', 'zest.releaser', 'pytest-cov'] + +## +# Add extra configuration options in .meta.toml: +# [pyproject] +# dependencies_ignores = "['zestreleaser.towncrier']" +# dependencies_mappings = [ +# "gitpython = ['git']", +# "pygithub = ['github']", +# ] +## + +[tool.check-manifest] +ignore = [ + ".editorconfig", + ".flake8", + ".meta.toml", + ".pre-commit-config.yaml", + "dependabot.yml", + "mx.ini", + "tox.ini", + +] + +## +# Add extra configuration options in .meta.toml: +# [pyproject] +# check_manifest_ignores = """ +# "*.map.js", +# "*.pyc", +# """ +# check_manifest_extra_lines = """ +# ignore-bad-ideas = [ +# "some/test/file/PKG-INFO", +# ] +# """ +## + + +## +# Add extra configuration options in .meta.toml: +# [pyproject] +# extra_lines = """ +# _your own configuration lines_ +# """ +## diff --git a/backend-volto/requirements-docker.txt b/backend-volto/requirements-docker.txt index 01a6b6c..da44320 100644 --- a/backend-volto/requirements-docker.txt +++ b/backend-volto/requirements-docker.txt @@ -1,2 +1 @@ -c constraints.txt -src/plone6demo diff --git a/backend-volto/requirements.txt b/backend-volto/requirements.txt index bd17242..da44320 100644 --- a/backend-volto/requirements.txt +++ b/backend-volto/requirements.txt @@ -1,8 +1 @@ -c constraints.txt --e src/plone6demo[test] - -zope.testrunner - -# Add required add-ons -# (Ideally add them in setup.py for plone6demo) -# collective.easyform diff --git a/backend-volto/scripts/create_site.py b/backend-volto/scripts/create_site.py index b3a3c53..2c05f7f 100644 --- a/backend-volto/scripts/create_site.py +++ b/backend-volto/scripts/create_site.py @@ -1,7 +1,8 @@ from AccessControl.SecurityManagement import newSecurityManager -from plone6demo.interfaces import IPLONE6DEMOLayer +from plone6.demo.interfaces import IBrowserLayer from Products.CMFPlone.factory import _DEFAULT_PROFILE from Products.CMFPlone.factory import addPloneSite +from Products.GenericSetup.tool import SetupTool from Testing.makerequest import makerequest from zope.interface import directlyProvidedBy from zope.interface import directlyProvides @@ -27,13 +28,11 @@ def asbool(s): DELETE_EXISTING = asbool(os.getenv("DELETE_EXISTING")) -app = makerequest(app) # noQA +app = makerequest(globals()["app"]) request = app.REQUEST -ifaces = [ - IPLONE6DEMOLayer, -] + list(directlyProvidedBy(request)) +ifaces = [IBrowserLayer] + list(directlyProvidedBy(request)) directlyProvides(request, *ifaces) @@ -45,10 +44,10 @@ def asbool(s): payload = { "title": "Plone 6 Demo Site", "profile_id": _DEFAULT_PROFILE, - "extension_ids": ["plone6demo:default", "plone6demo:initial", "plone.volto:demo"], + "distribution_name": "default", "setup_content": False, "default_language": "en", - "portal_timezone": "America/Sao_Paulo", + "portal_timezone": "UTC", } if site_id in app.objectIds() and DELETE_EXISTING: @@ -59,4 +58,9 @@ def asbool(s): if site_id not in app.objectIds(): site = addPloneSite(app, site_id, **payload) transaction.commit() + + portal_setup: SetupTool = site.portal_setup + portal_setup.runAllImportStepsFromProfile("profile-plone6.demo:initial") + transaction.commit() + app._p_jar.sync() diff --git a/backend-volto/scripts/default.json b/backend-volto/scripts/default.json deleted file mode 100644 index baf6d0a..0000000 --- a/backend-volto/scripts/default.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "site_id": "Plone", - "title": "Welcome to Plone 6", - "description": "Site created with a new Plone Distribution", - "default_language": "en", - "portal_timezone": "Europe/Berlin", - "setup_content": true -} \ No newline at end of file diff --git a/backend-volto/src/plone6demo/setup.py b/backend-volto/setup.py similarity index 58% rename from backend-volto/src/plone6demo/setup.py rename to backend-volto/setup.py index 4896283..1742804 100644 --- a/backend-volto/src/plone6demo/setup.py +++ b/backend-volto/setup.py @@ -1,28 +1,28 @@ -"""Installer for the plone6demo package.""" +"""Installer for the plone6.demo package.""" + +from pathlib import Path from setuptools import find_packages from setuptools import setup -long_description = "\n\n".join( - [ - open("README.md").read(), - open("CONTRIBUTORS.md").read(), - open("CHANGES.md").read(), - ] -) +long_description = f""" +{Path("README.md").read_text()}\n +{Path("CONTRIBUTORS.md").read_text()}\n +{Path("CHANGES.md").read_text()}\n +""" setup( - name="plone6demo", - version="1.0.0a1", - description="Plone 6 Demo Site configuration package.", + name="plone6.demo", + version="1.0.0a0", + description="Plone 6 Volto demo site configuration package.", long_description=long_description, + long_description_content_type="text/markdown", classifiers=[ "Environment :: Web Environment", "Framework :: Plone", "Framework :: Plone :: Addon", "Framework :: Plone :: 6.0", - "Framework :: Plone :: Distribution", "Programming Language :: Python", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", @@ -35,14 +35,15 @@ keywords="Python Plone CMS", author="Plone Foundation", author_email="collective@plone.org", - url="https://github.com/collective/plone-6-demo-site", + url="https://github.com/plone/demo.plone.org", project_urls={ - "PyPI": "https://pypi.python.org/pypi/plone6demo", - "Source": "https://github.com/collective/plone-6-demo-site", - "Tracker": "https://github.com/collective/plone-6-demo-site/issues", + "PyPI": "https://pypi.org/project/plone6.demo", + "Source": "https://github.com/collective/plone6.demo", + "Tracker": "https://github.com/collective/plone6.demo/issues", }, license="GPL version 2", packages=find_packages("src", exclude=["ez_setup"]), + namespace_packages=["plone6"], package_dir={"": "src"}, include_package_data=True, zip_safe=False, @@ -50,22 +51,26 @@ install_requires=[ "setuptools", "Plone", - "prettyconf", "plone.api", + "plone.restapi", + "plone.volto", + "plone.exportimport", ], extras_require={ "test": [ - "parameterized", "zest.releaser[recommended]", - "plone.app.testing[robot]>=7.0.0a3", + "zestreleaser.towncrier", + "plone.app.testing", "plone.restapi[test]", - "collective.MockMailHost", + "pytest", + "pytest-cov", + "pytest-plone>=0.5.0", ], }, entry_points=""" [z3c.autoinclude.plugin] target = plone [console_scripts] - update_locale = plone6demo.locales.update:update_locale + update_locale = plone6.demo.locales.update:update_locale """, ) diff --git a/backend-volto/src/plone6/__init__.py b/backend-volto/src/plone6/__init__.py new file mode 100644 index 0000000..5284146 --- /dev/null +++ b/backend-volto/src/plone6/__init__.py @@ -0,0 +1 @@ +__import__("pkg_resources").declare_namespace(__name__) diff --git a/backend-volto/src/plone6/demo/__init__.py b/backend-volto/src/plone6/demo/__init__.py new file mode 100644 index 0000000..c1ca445 --- /dev/null +++ b/backend-volto/src/plone6/demo/__init__.py @@ -0,0 +1,12 @@ +"""Init and utils.""" + +from zope.i18nmessageid import MessageFactory + +import logging + + +PACKAGE_NAME = "plone6.demo" + +_ = MessageFactory(PACKAGE_NAME) + +logger = logging.getLogger(PACKAGE_NAME) diff --git a/backend-volto/src/plone6demo/src/plone6demo/configure.zcml b/backend-volto/src/plone6/demo/configure.zcml similarity index 61% rename from backend-volto/src/plone6demo/src/plone6demo/configure.zcml rename to backend-volto/src/plone6/demo/configure.zcml index 8f5b5c6..d1e7ce1 100644 --- a/backend-volto/src/plone6demo/src/plone6demo/configure.zcml +++ b/backend-volto/src/plone6/demo/configure.zcml @@ -1,7 +1,7 @@ @@ -10,22 +10,13 @@ package="Products.CMFCore" file="permissions.zcml" /> - - - + - - - - - + diff --git a/backend-volto/src/plone6demo/src/plone6demo/behaviors/__init__.py b/backend-volto/src/plone6/demo/content/__init__.py similarity index 100% rename from backend-volto/src/plone6demo/src/plone6demo/behaviors/__init__.py rename to backend-volto/src/plone6/demo/content/__init__.py diff --git a/backend-volto/src/plone6demo/src/plone6demo/browser/__init__.py b/backend-volto/src/plone6/demo/controlpanel/__init__.py similarity index 100% rename from backend-volto/src/plone6demo/src/plone6demo/browser/__init__.py rename to backend-volto/src/plone6/demo/controlpanel/__init__.py diff --git a/backend/src/plone6demo/src/plone6demo/behaviors/configure.zcml b/backend-volto/src/plone6/demo/controlpanel/configure.zcml similarity index 59% rename from backend/src/plone6demo/src/plone6demo/behaviors/configure.zcml rename to backend-volto/src/plone6/demo/controlpanel/configure.zcml index e6626aa..3bb3e87 100644 --- a/backend/src/plone6demo/src/plone6demo/behaviors/configure.zcml +++ b/backend-volto/src/plone6/demo/controlpanel/configure.zcml @@ -1,6 +1,8 @@ diff --git a/backend/src/plone6demo/src/plone6demo/dependencies.zcml b/backend-volto/src/plone6/demo/dependencies.zcml similarity index 63% rename from backend/src/plone6demo/src/plone6demo/dependencies.zcml rename to backend-volto/src/plone6/demo/dependencies.zcml index 3c111d6..9d7b261 100644 --- a/backend/src/plone6demo/src/plone6demo/dependencies.zcml +++ b/backend-volto/src/plone6/demo/dependencies.zcml @@ -1,7 +1,6 @@ + - - - - + + diff --git a/backend-volto/src/plone6demo/src/plone6demo/content/__init__.py b/backend-volto/src/plone6/demo/indexers/__init__.py similarity index 100% rename from backend-volto/src/plone6demo/src/plone6demo/content/__init__.py rename to backend-volto/src/plone6/demo/indexers/__init__.py diff --git a/backend/src/plone6demo/src/plone6demo/serializers/configure.zcml b/backend-volto/src/plone6/demo/indexers/configure.zcml similarity index 68% rename from backend/src/plone6demo/src/plone6demo/serializers/configure.zcml rename to backend-volto/src/plone6/demo/indexers/configure.zcml index fb8b793..bad8247 100644 --- a/backend/src/plone6demo/src/plone6demo/serializers/configure.zcml +++ b/backend-volto/src/plone6/demo/indexers/configure.zcml @@ -1,3 +1,5 @@ + + diff --git a/backend-volto/src/plone6demo/src/plone6demo/interfaces.py b/backend-volto/src/plone6/demo/interfaces.py similarity index 80% rename from backend-volto/src/plone6demo/src/plone6demo/interfaces.py rename to backend-volto/src/plone6/demo/interfaces.py index e7fc726..7e2f288 100644 --- a/backend-volto/src/plone6demo/src/plone6demo/interfaces.py +++ b/backend-volto/src/plone6/demo/interfaces.py @@ -3,5 +3,5 @@ from zope.publisher.interfaces.browser import IDefaultBrowserLayer -class IPLONE6DEMOLayer(IDefaultBrowserLayer): +class IBrowserLayer(IDefaultBrowserLayer): """Marker interface that defines a browser layer.""" diff --git a/backend-volto/src/plone6demo/src/plone6demo/indexers/__init__.py b/backend-volto/src/plone6/demo/locales/__init__.py similarity index 100% rename from backend-volto/src/plone6demo/src/plone6demo/indexers/__init__.py rename to backend-volto/src/plone6/demo/locales/__init__.py diff --git a/backend-volto/src/plone6/demo/locales/en/LC_MESSAGES/plone6.demo.mo b/backend-volto/src/plone6/demo/locales/en/LC_MESSAGES/plone6.demo.mo new file mode 100644 index 0000000..869aca2 Binary files /dev/null and b/backend-volto/src/plone6/demo/locales/en/LC_MESSAGES/plone6.demo.mo differ diff --git a/backend-volto/src/plone6demo/src/plone6demo/locales/en/LC_MESSAGES/plone_6_demo_site.po b/backend-volto/src/plone6/demo/locales/en/LC_MESSAGES/plone6.demo.po similarity index 100% rename from backend-volto/src/plone6demo/src/plone6demo/locales/en/LC_MESSAGES/plone_6_demo_site.po rename to backend-volto/src/plone6/demo/locales/en/LC_MESSAGES/plone6.demo.po diff --git a/backend-volto/src/plone6demo/src/plone6demo/locales/plone_6_demo_site.pot b/backend-volto/src/plone6/demo/locales/plone6.demo.pot similarity index 95% rename from backend-volto/src/plone6demo/src/plone6demo/locales/plone_6_demo_site.pot rename to backend-volto/src/plone6/demo/locales/plone6.demo.pot index e8d9c0b..2d3d7e9 100644 --- a/backend-volto/src/plone6demo/src/plone6demo/locales/plone_6_demo_site.pot +++ b/backend-volto/src/plone6/demo/locales/plone6.demo.pot @@ -15,4 +15,4 @@ msgstr "" "Language-Code: en\n" "Language-Name: English\n" "Preferred-Encodings: utf-8 latin1\n" -"Domain: plone6demo\n" +"Domain: plone6.demo\n" diff --git a/backend/src/plone6demo/src/plone6demo/locales/update.py b/backend-volto/src/plone6/demo/locales/update.py similarity index 98% rename from backend/src/plone6demo/src/plone6demo/locales/update.py rename to backend-volto/src/plone6/demo/locales/update.py index a9c2e54..155a568 100644 --- a/backend/src/plone6demo/src/plone6demo/locales/update.py +++ b/backend-volto/src/plone6/demo/locales/update.py @@ -1,4 +1,5 @@ """Update locales.""" + from pathlib import Path import logging @@ -11,7 +12,7 @@ PATTERN = r"^[a-z]{2}.*" -domains = ("plone6demo",) +domains = ("plone6.demo",) cwd = Path.cwd() target_path = Path(__file__).parent.parent.resolve() locale_path = target_path / "locales" diff --git a/backend-volto/src/plone6demo/src/plone6demo/profiles.zcml b/backend-volto/src/plone6/demo/profiles.zcml similarity index 80% rename from backend-volto/src/plone6demo/src/plone6demo/profiles.zcml rename to backend-volto/src/plone6/demo/profiles.zcml index 11e8188..8f5aa01 100644 --- a/backend-volto/src/plone6demo/src/plone6demo/profiles.zcml +++ b/backend-volto/src/plone6/demo/profiles.zcml @@ -1,13 +1,13 @@ @@ -29,6 +29,13 @@ directory="profiles/uninstall" /> + + + + diff --git a/backend-volto/src/plone6/demo/profiles/default/browserlayer.xml b/backend-volto/src/plone6/demo/profiles/default/browserlayer.xml new file mode 100644 index 0000000..fb102ff --- /dev/null +++ b/backend-volto/src/plone6/demo/profiles/default/browserlayer.xml @@ -0,0 +1,6 @@ + + + + diff --git a/backend-volto/src/plone6demo/src/plone6demo/profiles/default/catalog.xml b/backend-volto/src/plone6/demo/profiles/default/catalog.xml similarity index 100% rename from backend-volto/src/plone6demo/src/plone6demo/profiles/default/catalog.xml rename to backend-volto/src/plone6/demo/profiles/default/catalog.xml diff --git a/backend-volto/src/plone6/demo/profiles/default/controlpanel.xml b/backend-volto/src/plone6/demo/profiles/default/controlpanel.xml new file mode 100644 index 0000000..a75d00c --- /dev/null +++ b/backend-volto/src/plone6/demo/profiles/default/controlpanel.xml @@ -0,0 +1,4 @@ + + + + diff --git a/backend-volto/src/plone6/demo/profiles/default/diff_tool.xml b/backend-volto/src/plone6/demo/profiles/default/diff_tool.xml new file mode 100644 index 0000000..6a1c5f4 --- /dev/null +++ b/backend-volto/src/plone6/demo/profiles/default/diff_tool.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/backend-volto/src/plone6/demo/profiles/default/metadata.xml b/backend-volto/src/plone6/demo/profiles/default/metadata.xml new file mode 100644 index 0000000..dbcec10 --- /dev/null +++ b/backend-volto/src/plone6/demo/profiles/default/metadata.xml @@ -0,0 +1,9 @@ + + + 1000 + + profile-plone.volto:default + profile-plone.app.caching:default + profile-plone.app.caching:with-caching-proxy + + diff --git a/backend-volto/src/plone6demo/src/plone6demo/browser/static/.gitkeep b/backend-volto/src/plone6/demo/profiles/default/registry/.gitkeep similarity index 100% rename from backend-volto/src/plone6demo/src/plone6demo/browser/static/.gitkeep rename to backend-volto/src/plone6/demo/profiles/default/registry/.gitkeep diff --git a/backend-volto/src/plone6demo/src/plone6demo/profiles/default/registry/plone.base.interfaces.controlpanel.IMailSchema.xml b/backend-volto/src/plone6/demo/profiles/default/registry/plone.base.interfaces.controlpanel.IMailSchema.xml similarity index 100% rename from backend-volto/src/plone6demo/src/plone6demo/profiles/default/registry/plone.base.interfaces.controlpanel.IMailSchema.xml rename to backend-volto/src/plone6/demo/profiles/default/registry/plone.base.interfaces.controlpanel.IMailSchema.xml diff --git a/backend-volto/src/plone6demo/src/plone6demo/profiles/default/registry/plone.base.interfaces.controlpanel.ISiteSchema.xml b/backend-volto/src/plone6/demo/profiles/default/registry/plone.base.interfaces.controlpanel.ISiteSchema.xml similarity index 100% rename from backend-volto/src/plone6demo/src/plone6demo/profiles/default/registry/plone.base.interfaces.controlpanel.ISiteSchema.xml rename to backend-volto/src/plone6/demo/profiles/default/registry/plone.base.interfaces.controlpanel.ISiteSchema.xml diff --git a/backend-volto/src/plone6/demo/profiles/default/registry/plone.cachepurging.interfaces.ICachePurgingSettings.xml b/backend-volto/src/plone6/demo/profiles/default/registry/plone.cachepurging.interfaces.ICachePurgingSettings.xml new file mode 100644 index 0000000..42efc61 --- /dev/null +++ b/backend-volto/src/plone6/demo/profiles/default/registry/plone.cachepurging.interfaces.ICachePurgingSettings.xml @@ -0,0 +1,14 @@ + + + + True + + + + http://purger + + + + False + + diff --git a/backend-volto/src/plone6/demo/profiles/default/registry/plone.caching.interfaces.ICacheSettings.xml b/backend-volto/src/plone6/demo/profiles/default/registry/plone.caching.interfaces.ICacheSettings.xml new file mode 100644 index 0000000..a2d984a --- /dev/null +++ b/backend-volto/src/plone6/demo/profiles/default/registry/plone.caching.interfaces.ICacheSettings.xml @@ -0,0 +1,6 @@ + + + + True + + diff --git a/backend-volto/src/plone6demo/src/plone6demo/profiles/default/registry/plone.i18n.interfaces.ILanguageSchema.xml b/backend-volto/src/plone6/demo/profiles/default/registry/plone.i18n.interfaces.ILanguageSchema.xml similarity index 100% rename from backend-volto/src/plone6demo/src/plone6demo/profiles/default/registry/plone.i18n.interfaces.ILanguageSchema.xml rename to backend-volto/src/plone6/demo/profiles/default/registry/plone.i18n.interfaces.ILanguageSchema.xml diff --git a/backend-volto/src/plone6/demo/profiles/default/repositorytool.xml b/backend-volto/src/plone6/demo/profiles/default/repositorytool.xml new file mode 100644 index 0000000..4f674d6 --- /dev/null +++ b/backend-volto/src/plone6/demo/profiles/default/repositorytool.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/backend-volto/src/plone6/demo/profiles/default/rolemap.xml b/backend-volto/src/plone6/demo/profiles/default/rolemap.xml new file mode 100644 index 0000000..71ca583 --- /dev/null +++ b/backend-volto/src/plone6/demo/profiles/default/rolemap.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/backend-volto/src/plone6demo/src/plone6demo/profiles/default/theme.xml b/backend-volto/src/plone6/demo/profiles/default/theme.xml similarity index 100% rename from backend-volto/src/plone6demo/src/plone6demo/profiles/default/theme.xml rename to backend-volto/src/plone6/demo/profiles/default/theme.xml diff --git a/backend-volto/src/plone6demo/src/plone6demo/profiles/default/types.xml b/backend-volto/src/plone6/demo/profiles/default/types.xml similarity index 100% rename from backend-volto/src/plone6demo/src/plone6demo/profiles/default/types.xml rename to backend-volto/src/plone6/demo/profiles/default/types.xml diff --git a/backend-volto/src/plone6demo/src/plone6demo/profiles/default/types/.gitkeep b/backend-volto/src/plone6/demo/profiles/default/types/.gitkeep similarity index 100% rename from backend-volto/src/plone6demo/src/plone6demo/profiles/default/types/.gitkeep rename to backend-volto/src/plone6/demo/profiles/default/types/.gitkeep diff --git a/backend-volto/src/plone6/demo/profiles/initial/metadata.xml b/backend-volto/src/plone6/demo/profiles/initial/metadata.xml new file mode 100644 index 0000000..964c1a4 --- /dev/null +++ b/backend-volto/src/plone6/demo/profiles/initial/metadata.xml @@ -0,0 +1,8 @@ + + + 1000 + + profile-plone6.demo:default + profile-plone.volto:demo + + diff --git a/backend/src/plone6demo/src/plone6demo/profiles/uninstall/browserlayer.xml b/backend-volto/src/plone6/demo/profiles/uninstall/browserlayer.xml similarity index 75% rename from backend/src/plone6demo/src/plone6demo/profiles/uninstall/browserlayer.xml rename to backend-volto/src/plone6/demo/profiles/uninstall/browserlayer.xml index da03ab1..1bf3fe7 100644 --- a/backend/src/plone6demo/src/plone6demo/profiles/uninstall/browserlayer.xml +++ b/backend-volto/src/plone6/demo/profiles/uninstall/browserlayer.xml @@ -1,6 +1,6 @@ - diff --git a/backend-volto/src/plone6demo/src/plone6demo/locales/__init__.py b/backend-volto/src/plone6/demo/serializers/__init__.py similarity index 100% rename from backend-volto/src/plone6demo/src/plone6demo/locales/__init__.py rename to backend-volto/src/plone6/demo/serializers/__init__.py diff --git a/backend-volto/src/plone6/demo/serializers/configure.zcml b/backend-volto/src/plone6/demo/serializers/configure.zcml new file mode 100644 index 0000000..3f0ed8f --- /dev/null +++ b/backend-volto/src/plone6/demo/serializers/configure.zcml @@ -0,0 +1,10 @@ + + + + + + + diff --git a/backend-volto/src/plone6/demo/serializers/summary.py b/backend-volto/src/plone6/demo/serializers/summary.py new file mode 100644 index 0000000..4e0605f --- /dev/null +++ b/backend-volto/src/plone6/demo/serializers/summary.py @@ -0,0 +1,10 @@ +from plone.restapi.interfaces import IJSONSummarySerializerMetadata +from zope.interface import implementer + + +@implementer(IJSONSummarySerializerMetadata) +class JSONSummarySerializerMetadata: + """Additional metadata to be exposed on listings.""" + + def default_metadata_fields(self): + return {"image_field", "image_scales", "effective", "Subject"} diff --git a/backend-volto/src/plone6demo/src/plone6demo/setuphandlers/__init__.py b/backend-volto/src/plone6/demo/setuphandlers/__init__.py similarity index 85% rename from backend-volto/src/plone6demo/src/plone6demo/setuphandlers/__init__.py rename to backend-volto/src/plone6/demo/setuphandlers/__init__.py index 09a6d19..2023567 100644 --- a/backend-volto/src/plone6demo/src/plone6demo/setuphandlers/__init__.py +++ b/backend-volto/src/plone6/demo/setuphandlers/__init__.py @@ -1,7 +1,7 @@ from plone import api -from plone6demo import logger -from plone6demo.setuphandlers import content -from plone6demo.setuphandlers import users +from plone6.demo import logger +from plone6.demo.setuphandlers import content +from plone6.demo.setuphandlers import users from Products.CMFPlone.interfaces import INonInstallable from zope.interface import implementer @@ -11,7 +11,7 @@ class HiddenProfiles(object): def getNonInstallableProfiles(self): """Hide uninstall profile from site-creation and quickinstaller.""" return [ - "plone6demo:uninstall", + "plone6.demo:uninstall", ] diff --git a/backend-volto/src/plone6demo/src/plone6demo/setuphandlers/content.py b/backend-volto/src/plone6/demo/setuphandlers/content.py similarity index 100% rename from backend-volto/src/plone6demo/src/plone6demo/setuphandlers/content.py rename to backend-volto/src/plone6/demo/setuphandlers/content.py diff --git a/backend-volto/src/plone6demo/src/plone6demo/setuphandlers/contents.json b/backend-volto/src/plone6/demo/setuphandlers/contents.json similarity index 100% rename from backend-volto/src/plone6demo/src/plone6demo/setuphandlers/contents.json rename to backend-volto/src/plone6/demo/setuphandlers/contents.json diff --git a/backend-volto/src/plone6demo/src/plone6demo/setuphandlers/home.json b/backend-volto/src/plone6/demo/setuphandlers/home.json similarity index 100% rename from backend-volto/src/plone6demo/src/plone6demo/setuphandlers/home.json rename to backend-volto/src/plone6/demo/setuphandlers/home.json diff --git a/backend-volto/src/plone6demo/src/plone6demo/setuphandlers/images/plone-foundation.png b/backend-volto/src/plone6/demo/setuphandlers/images/plone-foundation.png similarity index 100% rename from backend-volto/src/plone6demo/src/plone6demo/setuphandlers/images/plone-foundation.png rename to backend-volto/src/plone6/demo/setuphandlers/images/plone-foundation.png diff --git a/backend-volto/src/plone6demo/src/plone6demo/setuphandlers/users.json b/backend-volto/src/plone6/demo/setuphandlers/users.json similarity index 100% rename from backend-volto/src/plone6demo/src/plone6demo/setuphandlers/users.json rename to backend-volto/src/plone6/demo/setuphandlers/users.json diff --git a/backend-volto/src/plone6demo/src/plone6demo/setuphandlers/users.py b/backend-volto/src/plone6/demo/setuphandlers/users.py similarity index 100% rename from backend-volto/src/plone6demo/src/plone6demo/setuphandlers/users.py rename to backend-volto/src/plone6/demo/setuphandlers/users.py diff --git a/backend-volto/src/plone6demo/src/plone6demo/testing.py b/backend-volto/src/plone6/demo/testing.py similarity index 57% rename from backend-volto/src/plone6demo/src/plone6demo/testing.py rename to backend-volto/src/plone6/demo/testing.py index ffe04a3..8607205 100644 --- a/backend-volto/src/plone6demo/src/plone6demo/testing.py +++ b/backend-volto/src/plone6/demo/testing.py @@ -6,11 +6,10 @@ from plone.app.testing import PloneSandboxLayer from plone.testing.zope import WSGI_SERVER_FIXTURE -import plone6demo +import plone6.demo # noQA -class PLONE6DEMOLayer(PloneSandboxLayer): - +class Layer(PloneSandboxLayer): defaultBases = (PLONE_APP_CONTENTTYPES_FIXTURE,) def setUpZope(self, app, configurationContext): @@ -20,33 +19,31 @@ def setUpZope(self, app, configurationContext): import plone.restapi self.loadZCML(package=plone.restapi) - self.loadZCML(package=plone6demo) + self.loadZCML(package=plone6.demo) def setUpPloneSite(self, portal): - applyProfile(portal, "plone6demo:default") - applyProfile(portal, "plone6demo:initial") - + applyProfile(portal, "plone6.demo:default") -PLONE6DEMO_FIXTURE = PLONE6DEMOLayer() +FIXTURE = Layer() -PLONE6DEMO_INTEGRATION_TESTING = IntegrationTesting( - bases=(PLONE6DEMO_FIXTURE,), - name="PLONE6DEMOLayer:IntegrationTesting", +INTEGRATION_TESTING = IntegrationTesting( + bases=(FIXTURE,), + name="Plone6.DemoLayer:IntegrationTesting", ) -PLONE6DEMO_FUNCTIONAL_TESTING = FunctionalTesting( - bases=(PLONE6DEMO_FIXTURE, WSGI_SERVER_FIXTURE), - name="PLONE6DEMOLayer:FunctionalTesting", +FUNCTIONAL_TESTING = FunctionalTesting( + bases=(FIXTURE, WSGI_SERVER_FIXTURE), + name="Plone6.DemoLayer:FunctionalTesting", ) -PLONE6DEMOACCEPTANCE_TESTING = FunctionalTesting( +ACCEPTANCE_TESTING = FunctionalTesting( bases=( - PLONE6DEMO_FIXTURE, + FIXTURE, REMOTE_LIBRARY_BUNDLE_FIXTURE, WSGI_SERVER_FIXTURE, ), - name="PLONE6DEMOLayer:AcceptanceTesting", + name="Plone6.DemoLayer:AcceptanceTesting", ) diff --git a/backend-volto/src/plone6demo/src/plone6demo/serializers/__init__.py b/backend-volto/src/plone6/demo/upgrades/__init__.py similarity index 100% rename from backend-volto/src/plone6demo/src/plone6demo/serializers/__init__.py rename to backend-volto/src/plone6/demo/upgrades/__init__.py diff --git a/backend-volto/src/plone6demo/src/plone6demo/upgrades/configure.zcml b/backend-volto/src/plone6/demo/upgrades/configure.zcml similarity index 79% rename from backend-volto/src/plone6demo/src/plone6demo/upgrades/configure.zcml rename to backend-volto/src/plone6/demo/upgrades/configure.zcml index 14cf32d..a999ef6 100644 --- a/backend-volto/src/plone6demo/src/plone6demo/upgrades/configure.zcml +++ b/backend-volto/src/plone6/demo/upgrades/configure.zcml @@ -5,9 +5,9 @@ - - - diff --git a/backend-volto/src/plone6demo/src/plone6demo/indexers/configure.zcml b/backend-volto/src/plone6demo/src/plone6demo/indexers/configure.zcml deleted file mode 100644 index 94ea6a1..0000000 --- a/backend-volto/src/plone6demo/src/plone6demo/indexers/configure.zcml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - diff --git a/backend-volto/src/plone6demo/src/plone6demo/locales/plone6demo.pot b/backend-volto/src/plone6demo/src/plone6demo/locales/plone6demo.pot deleted file mode 100644 index 21e5b06..0000000 --- a/backend-volto/src/plone6demo/src/plone6demo/locales/plone6demo.pot +++ /dev/null @@ -1,54 +0,0 @@ -#--- PLEASE EDIT THE LINES BELOW CORRECTLY --- -#SOME DESCRIPTIVE TITLE. -#FIRST AUTHOR , YEAR. -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2022-12-12 21:31+0000\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI +ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=1; plural=0\n" -"Language-Code: en\n" -"Language-Name: English\n" -"Preferred-Encodings: utf-8 latin1\n" -"Domain: plone6demo\n" - -#: plone6demo/src/plone6demo/vocabularies/__init__.py:11 -msgid "Education" -msgstr "" - -#: plone6demo/src/plone6demo/vocabularies/__init__.py:9 -msgid "Government" -msgstr "" - -#: plone6demo/src/plone6demo/profiles.zcml:22 -msgid "Initial content for our website." -msgstr "" - -#: plone6demo/src/plone6demo/vocabularies/__init__.py:10 -msgid "NGO" -msgstr "" - -#: plone6demo/src/plone6demo/profiles.zcml:22 -msgid "Plone 6 Demo Site: Initial content" -msgstr "" - -#: plone6demo/src/plone6demo/profiles.zcml:13 -msgid "Plone 6 Demo Site: Install" -msgstr "" - -#: plone6demo/src/plone6demo/profiles.zcml:30 -msgid "Plone 6 Demo Site: Uninstall" -msgstr "" - -#: plone6demo/src/plone6demo/profiles.zcml:13 -msgid "Policy package to install our site" -msgstr "" - -#: plone6demo/src/plone6demo/profiles.zcml:30 -msgid "Uninstall Plone 6 Demo Site setup." -msgstr "" diff --git a/backend-volto/src/plone6demo/src/plone6demo/locales/pt_BR/LC_MESSAGES/plone_6_demo_site.po b/backend-volto/src/plone6demo/src/plone6demo/locales/pt_BR/LC_MESSAGES/plone_6_demo_site.po deleted file mode 100644 index 5ae34e2..0000000 --- a/backend-volto/src/plone6demo/src/plone6demo/locales/pt_BR/LC_MESSAGES/plone_6_demo_site.po +++ /dev/null @@ -1,15 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2022-05-25 17:12+0000\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI +ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=1; plural=0\n" -"Language-Code: pt_BR\n" -"Language-Name: Portugu&es do Brasil\n" -"Preferred-Encodings: utf-8 latin1\n" -"Domain: DOMAIN\n" diff --git a/backend-volto/src/plone6demo/src/plone6demo/permissions.zcml b/backend-volto/src/plone6demo/src/plone6demo/permissions.zcml deleted file mode 100644 index 2cfba2a..0000000 --- a/backend-volto/src/plone6demo/src/plone6demo/permissions.zcml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - diff --git a/backend-volto/src/plone6demo/src/plone6demo/profiles/default/browserlayer.xml b/backend-volto/src/plone6demo/src/plone6demo/profiles/default/browserlayer.xml deleted file mode 100644 index 589cd70..0000000 --- a/backend-volto/src/plone6demo/src/plone6demo/profiles/default/browserlayer.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - diff --git a/backend-volto/src/plone6demo/src/plone6demo/profiles/default/metadata.xml b/backend-volto/src/plone6demo/src/plone6demo/profiles/default/metadata.xml deleted file mode 100644 index 94821b2..0000000 --- a/backend-volto/src/plone6demo/src/plone6demo/profiles/default/metadata.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - 20221212001 - - profile-plone.volto:default - - diff --git a/backend-volto/src/plone6demo/src/plone6demo/profiles/initial/metadata.xml b/backend-volto/src/plone6demo/src/plone6demo/profiles/initial/metadata.xml deleted file mode 100644 index 3f35f2c..0000000 --- a/backend-volto/src/plone6demo/src/plone6demo/profiles/initial/metadata.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - 20221212001 - diff --git a/backend-volto/src/plone6demo/src/plone6demo/services/configure.zcml b/backend-volto/src/plone6demo/src/plone6demo/services/configure.zcml deleted file mode 100644 index fb8b793..0000000 --- a/backend-volto/src/plone6demo/src/plone6demo/services/configure.zcml +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/backend-volto/src/plone6demo/src/plone6demo/tests/test_setup.py b/backend-volto/src/plone6demo/src/plone6demo/tests/test_setup.py deleted file mode 100644 index bf27e55..0000000 --- a/backend-volto/src/plone6demo/src/plone6demo/tests/test_setup.py +++ /dev/null @@ -1,62 +0,0 @@ -"""Setup tests for this package.""" -from plone import api -from plone6demo.testing import PLONE6DEMO_INTEGRATION_TESTING # noqa: E501 -from plone.app.testing import setRoles -from plone.app.testing import TEST_USER_ID -from Products.CMFPlone.utils import get_installer - -import unittest - - -class TestSetup(unittest.TestCase): - """Test that plone6demo is properly installed.""" - - layer = PLONE6DEMO_INTEGRATION_TESTING - - def setUp(self): - """Custom shared utility setup for tests.""" - self.portal = self.layer["portal"] - self.setup = self.portal.portal_setup - self.installer = get_installer(self.portal, self.layer["request"]) - - def test_product_installed(self): - """Test if plone6demo is installed.""" - self.assertTrue(self.installer.is_product_installed("plone6demo")) - - def test_browserlayer(self): - """Test that IPLONE6DEMOLayer is registered.""" - from plone6demo.interfaces import IPLONE6DEMOLayer - from plone.browserlayer import utils - - self.assertIn(IPLONE6DEMOLayer, utils.registered_layers()) - - def test_latest_version(self): - """Test latest version of default profile.""" - self.assertEqual( - self.setup.getLastVersionForProfile("plone6demo:default")[0], - "20221212001", - ) - - -class TestUninstall(unittest.TestCase): - - layer = PLONE6DEMO_INTEGRATION_TESTING - - def setUp(self): - self.portal = self.layer["portal"] - self.installer = get_installer(self.portal, self.layer["request"]) - roles_before = api.user.get_roles(TEST_USER_ID) - setRoles(self.portal, TEST_USER_ID, ["Manager"]) - self.installer.uninstall_product("plone6demo") - setRoles(self.portal, TEST_USER_ID, roles_before) - - def test_product_uninstalled(self): - """Test if plone6demo is cleanly uninstalled.""" - self.assertFalse(self.installer.is_product_installed("plone6demo")) - - def test_browserlayer_removed(self): - """Test that IPLONE6DEMOLayer is removed.""" - from plone6demo.interfaces import IPLONE6DEMOLayer - from plone.browserlayer import utils - - self.assertNotIn(IPLONE6DEMOLayer, utils.registered_layers()) diff --git a/backend-volto/src/plone6demo/src/plone6demo/tests/test_upgrades.py_tmpl b/backend-volto/src/plone6demo/src/plone6demo/tests/test_upgrades.py_tmpl deleted file mode 100644 index 67509b6..0000000 --- a/backend-volto/src/plone6demo/src/plone6demo/tests/test_upgrades.py_tmpl +++ /dev/null @@ -1,40 +0,0 @@ -"""Upgrades tests for this package.""" -from parameterized import parameterized -from plone.app.testing import setRoles -from plone.app.testing import TEST_USER_ID -from plone6demo.testing import PLONE6DEMO_INTEGRATION_TESTING # noqa: E501 -from Products.GenericSetup.upgrade import listUpgradeSteps - -import unittest - - -class UpgradeStepIntegrationTest(unittest.TestCase): - - layer = PLONE6DEMO_INTEGRATION_TESTING - profile = "plone6demo:default" - - def setUp(self): - self.portal = self.layer["portal"] - self.setup = self.portal["portal_setup"] - setRoles(self.portal, TEST_USER_ID, ["Manager"]) - - def _match(self, item, source, dest): - source, dest = tuple([source]), tuple([dest]) - return item["source"] == source and item["dest"] == dest - - def available_steps(self) -> list: - """Test available steps.""" - steps = listUpgradeSteps(self.setup, self.profile, self.src) - steps = [s for s in steps if self._match(s[0], self.src, self.dst)] - return steps - - # Example of upgrade step test - @parameterized.expand( - [ - ("20221212001", "20230229001", 1), - ] - ) - def test_available(self, src, dst, expected): - """Test upgrade step is available.""" - steps = self.available_steps(src, dst) - self.assertEqual(len(steps), expected) diff --git a/backend-volto/tests/conftest.py b/backend-volto/tests/conftest.py new file mode 100644 index 0000000..72298d6 --- /dev/null +++ b/backend-volto/tests/conftest.py @@ -0,0 +1,18 @@ +from plone6.demo.testing import ACCEPTANCE_TESTING +from plone6.demo.testing import FUNCTIONAL_TESTING +from plone6.demo.testing import INTEGRATION_TESTING +from pytest_plone import fixtures_factory + + +pytest_plugins = ["pytest_plone"] + + +globals().update( + fixtures_factory( + ( + (ACCEPTANCE_TESTING, "acceptance"), + (FUNCTIONAL_TESTING, "functional"), + (INTEGRATION_TESTING, "integration"), + ) + ) +) diff --git a/backend-volto/tests/setup/test_setup_install.py b/backend-volto/tests/setup/test_setup_install.py new file mode 100644 index 0000000..e8c4d54 --- /dev/null +++ b/backend-volto/tests/setup/test_setup_install.py @@ -0,0 +1,17 @@ +from plone6.demo import PACKAGE_NAME + + +class TestSetupInstall: + def test_addon_installed(self, installer): + """Test if plone6.demo is installed.""" + assert installer.is_product_installed(PACKAGE_NAME) is True + + def test_browserlayer(self, browser_layers): + """Test that IBrowserLayer is registered.""" + from plone6.demo.interfaces import IBrowserLayer + + assert IBrowserLayer in browser_layers + + def test_latest_version(self, profile_last_version): + """Test latest version of default profile.""" + assert profile_last_version(f"{PACKAGE_NAME}:default") == "1000" diff --git a/backend-volto/tests/setup/test_setup_uninstall.py b/backend-volto/tests/setup/test_setup_uninstall.py new file mode 100644 index 0000000..a7e959b --- /dev/null +++ b/backend-volto/tests/setup/test_setup_uninstall.py @@ -0,0 +1,19 @@ +from plone6.demo import PACKAGE_NAME + +import pytest + + +class TestSetupUninstall: + @pytest.fixture(autouse=True) + def uninstalled(self, installer): + installer.uninstall_product(PACKAGE_NAME) + + def test_addon_uninstalled(self, installer): + """Test if plone6.demo is uninstalled.""" + assert installer.is_product_installed(PACKAGE_NAME) is False + + def test_browserlayer_not_registered(self, browser_layers): + """Test that IBrowserLayer is not registered.""" + from plone6.demo.interfaces import IBrowserLayer + + assert IBrowserLayer not in browser_layers diff --git a/backend-volto/tox.ini b/backend-volto/tox.ini new file mode 100644 index 0000000..67d9c50 --- /dev/null +++ b/backend-volto/tox.ini @@ -0,0 +1,212 @@ +# Generated from: +# https://github.com/plone/meta/tree/master/config/default +# See the inline comments on how to expand/tweak this configuration file +[tox] +# We need 4.4.0 for constrain_package_deps. +min_version = 4.4.0 +envlist = + lint + test + dependencies + + +## +# Add extra configuration options in .meta.toml: +# [tox] +# envlist_lines = """ +# my_other_environment +# """ +# config_lines = """ +# my_extra_top_level_tox_configuration_lines +# """ +## + +[testenv] +skip_install = true +allowlist_externals = + echo + false +# Make sure typos like `tox -e formaat` are caught instead of silently doing nothing. +# See https://github.com/tox-dev/tox/issues/2858. +commands = + echo "Unrecognized environment name {envname}" + false + +[testenv:init] +description = Prepare environment +skip_install = true +deps = + mxdev +commands = + mxdev -c mx.ini + echo "Initial setup for mxdev" + + +[testenv:format] +description = automatically reformat code +skip_install = true +deps = + pre-commit +commands = + pre-commit run -a pyupgrade + pre-commit run -a isort + pre-commit run -a black + pre-commit run -a zpretty + +[testenv:lint] +description = run linters that will help improve the code style +skip_install = true +deps = + pre-commit +commands = + # Run pre-commit without chdir to the root of the git repository + python -c "from pre_commit import main; main._adjust_args_and_chdir = lambda args: None; raise SystemExit(main.main())" run -a + +[testenv:dependencies] +description = check if the package defines all its dependencies +skip_install = true +deps = + build + z3c.dependencychecker==2.11 +commands = + python -m build --sdist --no-isolation + dependencychecker + +[testenv:dependencies-graph] +description = generate a graph out of the dependencies of the package +skip_install = false +allowlist_externals = + sh +deps = + pipdeptree==2.5.1 + graphviz # optional dependency of pipdeptree +commands = + sh -c 'pipdeptree --exclude setuptools,wheel,pipdeptree,zope.interface,zope.component --graph-output svg > dependencies.svg' + +[testenv:test] +description = run the distribution tests +use_develop = true +skip_install = false +constrain_package_deps = true +set_env = + ROBOT_BROWSER=headlesschrome + +## +# Specify extra test environment variables in .meta.toml: +# [tox] +# test_environment_variables = """ +# PIP_EXTRA_INDEX_URL=https://my-pypi.my-server.com/ +# """ +# +# Set constrain_package_deps .meta.toml: +# [tox] +# constrain_package_deps = false +## +deps = + pytest-plone + pytest + -c https://dist.plone.org/release/6.0-dev/constraints.txt + +## +# Specify additional deps in .meta.toml: +# [tox] +# test_deps_additional = """ +# -esources/plonegovbr.portal_base[test] +# """ +# +# Specify a custom constraints file in .meta.toml: +# [tox] +# constraints_file = "https://my-server.com/constraints.txt" +## +commands = + pytest --disable-warnings {posargs} {toxinidir}/tests +extras = + test + + +[testenv:coverage] +description = get a test coverage report +use_develop = true +skip_install = false +constrain_package_deps = true +set_env = + ROBOT_BROWSER=headlesschrome + +## +# Specify extra test environment variables in .meta.toml: +# [tox] +# test_environment_variables = """ +# PIP_EXTRA_INDEX_URL=https://my-pypi.my-server.com/ +# """ +# +# Set constrain_package_deps .meta.toml: +# [tox] +# constrain_package_deps = "false" +## +deps = + pytest-plone + pytest + coverage + -c https://dist.plone.org/release/6.0-dev/constraints.txt + +commands = + coverage run --source plone6.demo -m pytest {posargs} --disable-warnings {toxinidir}/tests + coverage report -m --format markdown + coverage xml +extras = + test + + +[testenv:release-check] +description = ensure that the distribution is ready to release +skip_install = true +deps = + twine + build + towncrier + -c https://dist.plone.org/release/6.0-dev/constraints.txt + +commands = + # fake version to not have to install the package + # we build the change log as news entries might break + # the README that is displayed on PyPI + towncrier build --version=100.0.0 --yes + python -m build --sdist --no-isolation + twine check dist/* + +[testenv:circular] +description = ensure there are no cyclic dependencies +use_develop = true +skip_install = false +set_env = + +## +# Specify extra test environment variables in .meta.toml: +# [tox] +# test_environment_variables = """ +# PIP_EXTRA_INDEX_URL=https://my-pypi.my-server.com/ +# """ +## +allowlist_externals = + sh +deps = + pipdeptree + pipforester + -c https://dist.plone.org/release/6.0-dev/constraints.txt + +commands = + # Generate the full dependency tree + sh -c 'pipdeptree -j > forest.json' + # Generate a DOT graph with the circular dependencies, if any + pipforester -i forest.json -o forest.dot --cycles + # Report if there are any circular dependencies, i.e. error if there are any + pipforester -i forest.json --check-cycles -o /dev/null + + +## +# Add extra configuration options in .meta.toml: +# [tox] +# extra_lines = """ +# _your own configuration lines_ +# """ +## diff --git a/backend-volto/version.txt b/backend-volto/version.txt new file mode 100644 index 0000000..c52c7d3 --- /dev/null +++ b/backend-volto/version.txt @@ -0,0 +1 @@ +6.1.0b1 diff --git a/backend/.dockerignore b/backend/.dockerignore index 91cbf57..e9e94ff 100644 --- a/backend/.dockerignore +++ b/backend/.dockerignore @@ -2,6 +2,7 @@ .gitattributes bin Dockerfile +Dockerfile.acceptance include instance instance.yaml @@ -9,4 +10,5 @@ lib lib64 Makefile pyvenv.cfg -var \ No newline at end of file +var +.venv diff --git a/backend/.editorconfig b/backend/.editorconfig new file mode 100644 index 0000000..8ae05aa --- /dev/null +++ b/backend/.editorconfig @@ -0,0 +1,54 @@ +# Generated from: +# https://github.com/plone/meta/tree/master/config/default +# See the inline comments on how to expand/tweak this configuration file +# +# EditorConfig Configuration file, for more details see: +# http://EditorConfig.org +# EditorConfig is a convention description, that could be interpreted +# by multiple editors to enforce common coding conventions for specific +# file types + +# top-most EditorConfig file: +# Will ignore other EditorConfig files in Home directory or upper tree level. +root = true + + +[*] # For All Files +# Unix-style newlines with a newline ending every file +end_of_line = lf +insert_final_newline = true +trim_trailing_whitespace = true +# Set default charset +charset = utf-8 +# Indent style default +indent_style = space +# Max Line Length - a hard line wrap, should be disabled +max_line_length = off + +[*.{py,cfg,ini}] +# 4 space indentation +indent_size = 4 + +[*.{yml,zpt,pt,dtml,zcml}] +# 2 space indentation +indent_size = 2 + +[*.{json,jsonl,js,jsx,ts,tsx,css,less,scss,html}] # Frontend development +# 2 space indentation +indent_size = 2 +max_line_length = 80 + +[{Makefile,.gitmodules}] +# Tab indentation (no size specified, but view as 4 spaces) +indent_style = tab +indent_size = unset +tab_width = unset + + +## +# Add extra configuration options in .meta.toml: +# [editorconfig] +# extra_lines = """ +# _your own configuration lines_ +# """ +## diff --git a/backend/.flake8 b/backend/.flake8 new file mode 100644 index 0000000..7ef4f64 --- /dev/null +++ b/backend/.flake8 @@ -0,0 +1,22 @@ +# Generated from: +# https://github.com/plone/meta/tree/master/config/default +# See the inline comments on how to expand/tweak this configuration file +[flake8] +doctests = 1 +ignore = + # black takes care of line length + E501, + # black takes care of where to break lines + W503, + # black takes care of spaces within slicing (list[:]) + E203, + # black takes care of spaces after commas + E231, + +## +# Add extra configuration options in .meta.toml: +# [flake8] +# extra_lines = """ +# _your own configuration lines_ +# """ +## diff --git a/backend/.gitattributes b/backend/.gitattributes deleted file mode 100644 index b07d5f4..0000000 --- a/backend/.gitattributes +++ /dev/null @@ -1 +0,0 @@ -CHANGES.md merge=union \ No newline at end of file diff --git a/backend/.gitignore b/backend/.gitignore index dec570b..6a1e51f 100644 --- a/backend/.gitignore +++ b/backend/.gitignore @@ -1,44 +1,51 @@ -.coverage +# Generated from: +# https://github.com/plone/meta/tree/master/config/default +# See the inline comments on how to expand/tweak this configuration file +# python related *.egg-info -*.log -*.mo -*.py? -*.swp -# dirs +*.pyc +*.pyo + +# tools related +build/ +.coverage +coverage.xml +dist/ +docs/_build +__pycache__/ +.tox +.vscode/ +node_modules/ + +# venv / buildout related bin/ -buildout-cache/ -data/*.json develop-eggs/ eggs/ +.eggs/ etc/ -htmlcov/ +.installed.cfg include/ -instance/ lib/ -lib64/ -local/ -node_modules/ -parts/ -src/plone6demo/setuphandlers/data/*.json -dist/* -test.plone_addon/ -var/ -# files -.installed.cfg -.mr.developer.cfg lib64 -log.html -output.xml -pip-selfcheck.json -report.html -.vscode/ -.tox/ -reports/ -venv/ -*-mxdev.txt -# excludes -live.cfg -inituser -pip-wheel-metadata +.mr.developer.cfg +parts/ pyvenv.cfg -instance-local.yaml \ No newline at end of file +var/ + +# mxdev +/instance/ +/.make-sentinels/ +/*-mxdev.txt +/reports/ +/sources/ +/venv/ +.installed.txt +.lock + +## +# Add extra configuration options in .meta.toml: +# [gitignore] +# extra_lines = """ +# _your own configuration lines_ +# """ +## diff --git a/backend/.pre-commit-config.yaml b/backend/.pre-commit-config.yaml new file mode 100644 index 0000000..b6eb043 --- /dev/null +++ b/backend/.pre-commit-config.yaml @@ -0,0 +1,94 @@ +# Generated from: +# https://github.com/plone/meta/tree/master/config/default +# See the inline comments on how to expand/tweak this configuration file +ci: + autofix_prs: false + autoupdate_schedule: monthly + +repos: +- repo: https://github.com/asottile/pyupgrade + rev: v3.14.0 + hooks: + - id: pyupgrade + args: [--py38-plus] +- repo: https://github.com/pycqa/isort + rev: 5.12.0 + hooks: + - id: isort +- repo: https://github.com/psf/black + rev: 23.9.1 + hooks: + - id: black +- repo: https://github.com/collective/zpretty + rev: 3.1.0 + hooks: + - id: zpretty + +## +# Add extra configuration options in .meta.toml: +# [pre_commit] +# zpretty_extra_lines = """ +# _your own configuration lines_ +# """ +## +- repo: https://github.com/PyCQA/flake8 + rev: 6.1.0 + hooks: + - id: flake8 + +## +# Add extra configuration options in .meta.toml: +# [pre_commit] +# flake8_extra_lines = """ +# _your own configuration lines_ +# """ +## +- repo: https://github.com/codespell-project/codespell + rev: v2.2.6 + hooks: + - id: codespell + additional_dependencies: + - tomli + +## +# Add extra configuration options in .meta.toml: +# [pre_commit] +# codespell_extra_lines = """ +# _your own configuration lines_ +# """ +## +- repo: https://github.com/mgedmin/check-manifest + rev: "0.49" + hooks: + - id: check-manifest +- repo: https://github.com/regebro/pyroma + rev: "4.2" + hooks: + - id: pyroma +- repo: https://github.com/mgedmin/check-python-versions + rev: "0.21.3" + hooks: + - id: check-python-versions + args: ['--only', 'setup.py,pyproject.toml'] +- repo: https://github.com/collective/i18ndude + rev: "6.1.0" + hooks: + - id: i18ndude + + +## +# Add extra configuration options in .meta.toml: +# [pre_commit] +# i18ndude_extra_lines = """ +# _your own configuration lines_ +# """ +## + + +## +# Add extra configuration options in .meta.toml: +# [pre_commit] +# extra_lines = """ +# _your own configuration lines_ +# """ +## diff --git a/backend/CHANGES.md b/backend/CHANGES.md new file mode 100644 index 0000000..3020bae --- /dev/null +++ b/backend/CHANGES.md @@ -0,0 +1,10 @@ +# Changelog + + + + diff --git a/backend/CONTRIBUTORS.md b/backend/CONTRIBUTORS.md new file mode 100644 index 0000000..5a1aabd --- /dev/null +++ b/backend/CONTRIBUTORS.md @@ -0,0 +1,3 @@ +# Contributors + +- Plone Foundation [collective@plone.org] diff --git a/backend/Dockerfile b/backend/Dockerfile index ee177c1..702a802 100644 --- a/backend/Dockerfile +++ b/backend/Dockerfile @@ -1,32 +1,45 @@ # syntax=docker/dockerfile:1 ARG SEED=1000 -ARG PLONE_VERSION=6.0.13 -FROM plone/plone-backend:${PLONE_VERSION} AS plonebackend +ARG PLONE_VERSION=6.1.0b1 +FROM plone/server-builder:${PLONE_VERSION} AS builder +WORKDIR /app -LABEL maintainer="Plone Foundation " \ - org.label-schema.name="demo-backend" \ - org.label-schema.description="Plone 6 Demo Site backend image." \ - org.label-schema.vendor="Plone Foundation" # Add local code -COPY . . +COPY scripts/ scripts/ +COPY . src -# Install local requirements and fix permissions +# Install local requirements and pre-compile mo files RUN < /app/__created__.txt + SEED=${SEED} ./docker-entrypoint.sh create-site EOT - -ENTRYPOINT [ "/app/docker-entrypoint.sh" ] -CMD ["start"] diff --git a/backend/Dockerfile.acceptance b/backend/Dockerfile.acceptance new file mode 100644 index 0000000..8def51e --- /dev/null +++ b/backend/Dockerfile.acceptance @@ -0,0 +1,43 @@ +# syntax=docker/dockerfile:1 +ARG PLONE_VERSION=6.1.0b1 +FROM plone/server-builder:${PLONE_VERSION} AS builder + +WORKDIR /app + + +# Add local code +COPY scripts/ scripts/ +COPY . src + +# Install local requirements and pre-compile mo files +RUN <= tuple(map(int, '$(PYTHON_VERSION_MIN)'.split('.'))))") -ifeq ($(PYTHON_VERSION_OK),False) +ifeq ($(PYTHON_VERSION_OK),0) $(error "Need python $(PYTHON_VERSION) >= $(PYTHON_VERSION_MIN)") endif +PLONE_SITE_ID=Plone +BACKEND_FOLDER=$(shell dirname $(realpath $(firstword $(MAKEFILE_LIST)))) +PLONE_VERSION=$(shell cat $(BACKEND_FOLDER)/version.txt) +EXAMPLE_CONTENT_FOLDER=${BACKEND_FOLDER}/src/plone6/demo/setuphandlers/examplecontent + +GIT_FOLDER=$(BACKEND_FOLDER)/.git +VENV_FOLDER=$(BACKEND_FOLDER)/.venv +BIN_FOLDER=$(VENV_FOLDER)/bin + + +all: build # Add the following 'help' target to your Makefile # And add help text after each target name starting with '\#\#' @@ -57,127 +51,89 @@ endif help: ## This help message @grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}' -.PHONY: clean -clean: clean-build clean-pyc clean-test clean-venv clean-instance ## remove all build, test, coverage and Python artifacts - -.PHONY: clean-instance -clean-instance: ## remove existing instance - rm -fr instance etc inituser var - -.PHONY: clean-venv -clean-venv: ## remove virtual environment - rm -fr bin include lib lib64 - -.PHONY: clean-build -clean-build: ## remove build artifacts - rm -fr build/ - rm -fr dist/ - rm -fr .eggs/ - find . -name '*.egg-info' -exec rm -fr {} + - find . -name '*.egg' -exec rm -rf {} + - -.PHONY: clean-pyc -clean-pyc: ## remove Python file artifacts - find . -name '*.pyc' -exec rm -f {} + - find . -name '*.pyo' -exec rm -f {} + - find . -name '*~' -exec rm -f {} + - find . -name '__pycache__' -exec rm -fr {} + - -.PHONY: clean-test -clean-test: ## remove test and coverage artifacts - rm -f .coverage - rm -fr htmlcov/ - -bin/pip: +$(BIN_FOLDER)/pip $(BIN_FOLDER)/tox $(BIN_FOLDER)/pipx $(BIN_FOLDER)/uv $(BIN_FOLDER)/mxdev: @echo "$(GREEN)==> Setup Virtual Env$(RESET)" - $(PYTHON) -m venv . - bin/pip install -U "setuptools" "pip" "wheel" "cookiecutter" "mxdev" + $(PYTHON) -m venv $(VENV_FOLDER) + $(BIN_FOLDER)/pip install -U "pip" "uv" "wheel" "pipx" "mxdev" "tox" "pre-commit" + if [ -d $(GIT_FOLDER) ]; then $(BIN_FOLDER)/pre-commit install; else echo "$(RED) Not installing pre-commit$(RESET)";fi -.PHONY: config -config: bin/pip ## Create instance configuration +instance/etc/zope.ini: $(BIN_FOLDER)/pip ## Create instance configuration @echo "$(GREEN)==> Create instance configuration$(RESET)" - if [[ -s instance-override.yaml ]]; then \ - echo " Using instance-local.yaml"; \ - bin/cookiecutter -f --no-input --config-file instance-local.yaml gh:plone/cookiecutter-zope-instance ;\ - else \ - bin/cookiecutter -f --no-input --config-file instance.yaml gh:plone/cookiecutter-zope-instance ;\ - fi - -# i18n -bin/i18ndude: bin/pip - @echo "$(GREEN)==> Install translation tools$(RESET)" - bin/pip install i18ndude + $(BIN_FOLDER)/pipx run cookiecutter -f --no-input --config-file instance.yaml gh:plone/cookiecutter-zope-instance -.PHONY: i18n -i18n: bin/i18ndude ## Update locales - @echo "$(GREEN)==> Updating locales$(RESET)" - bin/update_locale - -# TODO `make build` -# build: +.PHONY: config +config: instance/etc/zope.ini .PHONY: build-dev -build-dev: config ## pip install Plone packages +build-dev: config ## Install Plone packages @echo "$(GREEN)==> Setup Build$(RESET)" - bin/mxdev -c mx.ini - bin/pip install -r requirements-mxdev.txt + $(BIN_FOLDER)/mxdev -c mx.ini + $(BIN_FOLDER)/uv pip install -r requirements-mxdev.txt -.PHONY: format -format: ## Format the codebase according to our standards - @echo "$(GREEN)==> Format codebase$(RESET)" - $(FORMAT) - -.PHONY: lint -lint: lint-isort lint-black lint-flake8 lint-zpretty ## check code style - -.PHONY: lint-black -lint-black: ## validate black formating - $(LINT) black +.PHONY: install +install: build-dev ## Install Plone -.PHONY: lint-flake8 -lint-flake8: ## validate black formating - $(LINT) flake8 +.PHONY: build +build: build-dev ## Install Plone -.PHONY: lint-isort -lint-isort: ## validate using isort - $(LINT) isort - -.PHONY: lint-pyroma -lint-pyroma: ## validate using pyroma - $(LINT) pyroma +.PHONY: clean +clean: ## Clean environment + @echo "$(RED)==> Cleaning environment and build$(RESET)" + rm -rf $(VENV_FOLDER) pyvenv.cfg .installed.cfg instance .tox .venv .pytest_cache -.PHONY: lint-zpretty -lint-zpretty: ## validate ZCML/XML using zpretty - $(LINT) zpretty +.PHONY: start +start: ## Start a Plone instance on localhost:8080 + PYTHONWARNINGS=ignore $(BIN_FOLDER)/runwsgi instance/etc/zope.ini -.PHONY: test -test: ## run tests - ./bin/zope-testrunner --auto-color --auto-progress --test-path src/plone6demo/src/ +.PHONY: console +console: instance/etc/zope.ini ## Start a console into a Plone instance + PYTHONWARNINGS=ignore $(BIN_FOLDER)/zconsole debug instance/etc/zope.conf -.PHONY: test_quiet -test_quiet: ## run tests removing deprecation warnings - PYTHONWARNINGS=ignore ./bin/zope-testrunner --auto-color --auto-progress --test-path src/plone6demo/src/ +.PHONY: create-site +create-site: instance/etc/zope.ini ## Create a new site from scratch + PYTHONWARNINGS=ignore $(BIN_FOLDER)/zconsole run instance/etc/zope.conf ./scripts/create_site.py + +# Example Content +.PHONY: update-example-content +update-example-content: $(BIN_FOLDER)/tox ## Export example content inside package + @echo "$(GREEN)==> Export example content into $(EXAMPLE_CONTENT_FOLDER) $(RESET)" + if [ -d $(EXAMPLE_CONTENT_FOLDER)/content ]; then rm -r $(EXAMPLE_CONTENT_FOLDER)/* ;fi + $(BIN_FOLDER)/plone-exporter instance/etc/zope.conf $(PLONE_SITE_ID) $(EXAMPLE_CONTENT_FOLDER) + +.PHONY: check +check: $(BIN_FOLDER)/tox ## Check and fix code base according to Plone standards + @echo "$(GREEN)==> Format codebase$(RESET)" + $(BIN_FOLDER)/tox -e lint -.PHONY: export-distribution -export-distribution: ## Export content - bin/export-distribution instance/etc/zope.conf Plone +# i18n +$(BIN_FOLDER)/i18ndude: $(BIN_FOLDER)/pip + @echo "$(GREEN)==> Install translation tools$(RESET)" + $(BIN_FOLDER)/uv pip install i18ndude -.PHONY: create-site -create-site: ## Create a new site using default distribution and default answers - DEVELOP_DISTRIBUTIONS=$(DISTRIBUTIONS) ALLOWED_DISTRIBUTIONS=$(DISTRIBUTIONS) PYTHONWARNINGS=ignore ./bin/zconsole run instance/etc/zope.conf scripts/create_site.py +.PHONY: i18n +i18n: $(BIN_FOLDER)/i18ndude ## Update locales + @echo "$(GREEN)==> Updating locales$(RESET)" + $(BIN_FOLDER)/update_locale -.PHONY: start -start: ## Start a Plone instance on localhost:8080 - PYTHONWARNINGS=ignore ./bin/runwsgi instance/etc/zope.ini +# Tests +.PHONY: test +test: $(BIN_FOLDER)/tox ## run tests + $(BIN_FOLDER)/tox -e test -.PHONY: debug -debug: instance/etc/zope.ini ## Run debug console - PYTHONWARNINGS=ignore ./bin/zconsole debug instance/etc/zope.conf +.PHONY: test-coverage +test-coverage: $(BIN_FOLDER)/tox ## run tests with coverage + $(BIN_FOLDER)/tox -e coverage +# Build Docker images .PHONY: build-image -build-image: ## Build Docker Image - @docker build . -t $(IMAGE_NAME):$(IMAGE_TAG) -f Dockerfile --build-arg PLONE_VERSION=$(PLONE_VERSION) +build-image: ## Build Docker Images + @DOCKER_BUILDKIT=1 docker build . -t $(IMAGE_NAME_PREFIX)-backend:$(IMAGE_TAG) -f Dockerfile --build-arg PLONE_VERSION=$(PLONE_VERSION) + +# Acceptance tests +.PHONY: acceptance-backend-start +acceptance-backend-start: ## Start backend acceptance server + ZSERVER_HOST=0.0.0.0 ZSERVER_PORT=55001 LISTEN_PORT=55001 APPLY_PROFILES="plone6.demo:default" CONFIGURE_PACKAGES="plone.restapi,plone.volto,plone.volto.cors,plone6.demo" $(BIN_FOLDER)/robot-server plone.app.robotframework.testing.VOLTO_ROBOT_TESTING -.PHONY: build-image-nocache -build-image-nocache: ## Build Docker Image - @docker buildx build . -t $(IMAGE_NAME):$(IMAGE_TAG) --no-cache-filter plonebackend -f Dockerfile --build-arg PLONE_VERSION=$(PLONE_VERSION) +.PHONY: acceptance-image-build +acceptance-image-build: ## Build Docker Images + @DOCKER_BUILDKIT=1 docker build . -t $(IMAGE_NAME_PREFIX)-backend-acceptance:$(IMAGE_TAG) -f Dockerfile.acceptance --build-arg PLONE_VERSION=$(PLONE_VERSION) diff --git a/backend/README.md b/backend/README.md new file mode 100644 index 0000000..26a3313 --- /dev/null +++ b/backend/README.md @@ -0,0 +1,33 @@ +# plone6.demo + +A new project using Plone 6. + +## Features + +TODO: List our awesome features + +## Installation + +Install plone6.demo with `pip`: + +```shell +pip install plone6.demo +``` +And to create the Plone site: + +```shell +make create_site +``` + +## Contribute + +- [Issue Tracker](https://github.com/collective/plone6.demo/issues) +- [Source Code](https://github.com/collective/plone6.demo/) + +## License + +The project is licensed under GPLv2. + +## Credits and Acknowledgements 🙏 + +Crafted with care by **This was generated by [cookiecutter-plone](https://github.com/plone/cookieplone-templates/backend_addon) on 2024-11-08 21:34:59**. A special thanks to all contributors and supporters! diff --git a/backend/constraints.txt b/backend/constraints.txt index b7c02e1..1b61267 100644 --- a/backend/constraints.txt +++ b/backend/constraints.txt @@ -1,2 +1 @@ --c https://dist.plone.org/release/6.0.13/constraints.txt -plone.distribution==2.0.0b1 +-c https://dist.plone.org/release/6.1.0b1/constraints.txt diff --git a/backend/instance.yaml b/backend/instance.yaml index f72b8e1..14c69e0 100644 --- a/backend/instance.yaml +++ b/backend/instance.yaml @@ -1,7 +1,3 @@ default_context: - initial_user_name: 'admin' initial_user_password: 'admin' - - zcml_package_includes: 'plone6demo' - - db_storage: direct + zcml_package_includes: 'plone6.demo' \ No newline at end of file diff --git a/backend/mx.ini b/backend/mx.ini index b8d723d..9fccb99 100644 --- a/backend/mx.ini +++ b/backend/mx.ini @@ -4,9 +4,10 @@ ; to learn more about mxdev visit https://pypi.org/project/mxdev/ [settings] +main-package = -e .[test] ; example how to override a package version ; version-overrides = -; plone.volto==4.0.2 +; example.package==2.1.0a2 ; example section to use packages from git ; [example.contenttype] diff --git a/backend/news/.changelog_template.jinja b/backend/news/.changelog_template.jinja new file mode 100644 index 0000000..678bfa1 --- /dev/null +++ b/backend/news/.changelog_template.jinja @@ -0,0 +1,15 @@ +{% if sections[] %} +{% for category, val in definitions.items() if category in sections[] %} + +### {{ definitions[category]['name'] }} + +{% for text, values in sections[][category].items() %} +- {{ text }} {{ values|join(', ') }} +{% endfor %} + +{% endfor %} +{% else %} +No significant changes. + + +{% endif %} diff --git a/backend/news/.gitkeep b/backend/news/.gitkeep new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/backend/news/.gitkeep @@ -0,0 +1 @@ + diff --git a/backend/pyproject.toml b/backend/pyproject.toml index b2af481..c982aa9 100644 --- a/backend/pyproject.toml +++ b/backend/pyproject.toml @@ -1,42 +1,170 @@ -[tool.black] -line-length = 88 -target-version = ['py38'] -include = '\.pyi?$' -exclude = ''' -( - /( - \.eggs # exclude a few common directories in the - | \.git # root of the project - | \.hg - | \.mypy_cache - | \.tox - | \.venv - | _build - | buck-out - | build - | dist - )/ -) -''' +# Generated from: +# https://github.com/plone/meta/tree/main/config/default +# See the inline comments on how to expand/tweak this configuration file +[build-system] +requires = ["setuptools>=68.2"] + +[tool.towncrier] +directory = "news/" +filename = "CHANGES.md" +start_string = "\n" +title_format = "## {version} ({project_date})" +template = "news/.changelog_template.jinja" +underlines = ["", "", ""] + +[[tool.towncrier.type]] +directory = "breaking" +name = "Breaking changes:" +showcontent = true + +[[tool.towncrier.type]] +directory = "feature" +name = "New features:" +showcontent = true + +[[tool.towncrier.type]] +directory = "bugfix" +name = "Bug fixes:" +showcontent = true + +[[tool.towncrier.type]] +directory = "internal" +name = "Internal:" +showcontent = true + +[[tool.towncrier.type]] +directory = "documentation" +name = "Documentation:" +showcontent = true + +[[tool.towncrier.type]] +directory = "tests" +name = "Tests" +showcontent = true + +## +# Add extra configuration options in .meta.toml: +# [pyproject] +# towncrier_extra_lines = """ +# extra_configuration +# """ +## [tool.isort] -profile = "black" -force_alphabetical_sort = true -force_single_line = true -lines_after_imports = 2 -line_length = 120 - -[tool.flakeheaven] -format="grouped" -max_line_length=88 -show_source=true -max-complexity=25 - -[tool.flakeheaven.plugins] -pycodestyle = ["+*"] -pyflakes = ["+*"] -"flake8-*" = ["+*"] - -[tool.plone-code-analysis] -paths = "src/plone6demo/setup.py src/plone6demo/src/ scripts/" -paths_pyroma = "src/plone6demo" +profile = "plone" + +## +# Add extra configuration options in .meta.toml: +# [pyproject] +# isort_extra_lines = """ +# extra_configuration +# """ +## + +[tool.black] +target-version = ["py38"] + +## +# Add extra configuration options in .meta.toml: +# [pyproject] +# black_extra_lines = """ +# extra_configuration +# """ +## + +[tool.codespell] +ignore-words-list = "discreet,vew" +skip = "*.po,*.min.js" +## +# Add extra configuration options in .meta.toml: +# [pyproject] +# codespell_ignores = "foo,bar" +# codespell_skip = "*.po,*.map,package-lock.json" +## + +[tool.dependencychecker] +Zope = [ + # Zope own provided namespaces + 'App', 'OFS', 'Products.Five', 'Products.OFSP', 'Products.PageTemplates', + 'Products.SiteAccess', 'Shared', 'Testing', 'ZPublisher', 'ZTUtils', + 'Zope2', 'webdav', 'zmi', + # ExtensionClass own provided namespaces + 'ExtensionClass', 'ComputedAttribute', 'MethodObject', + # Zope dependencies + 'AccessControl', 'Acquisition', 'AuthEncoding', 'beautifulsoup4', 'BTrees', + 'cffi', 'Chameleon', 'DateTime', 'DocumentTemplate', + 'MultiMapping', 'multipart', 'PasteDeploy', 'Persistence', 'persistent', + 'pycparser', 'python-gettext', 'pytz', 'RestrictedPython', 'roman', + 'soupsieve', 'transaction', 'waitress', 'WebOb', 'WebTest', 'WSGIProxy2', + 'z3c.pt', 'zc.lockfile', 'ZConfig', 'zExceptions', 'ZODB', 'zodbpickle', + 'zope.annotation', 'zope.browser', 'zope.browsermenu', 'zope.browserpage', + 'zope.browserresource', 'zope.cachedescriptors', 'zope.component', + 'zope.configuration', 'zope.container', 'zope.contentprovider', + 'zope.contenttype', 'zope.datetime', 'zope.deferredimport', + 'zope.deprecation', 'zope.dottedname', 'zope.event', 'zope.exceptions', + 'zope.filerepresentation', 'zope.globalrequest', 'zope.hookable', + 'zope.i18n', 'zope.i18nmessageid', 'zope.interface', 'zope.lifecycleevent', + 'zope.location', 'zope.pagetemplate', 'zope.processlifetime', 'zope.proxy', + 'zope.ptresource', 'zope.publisher', 'zope.schema', 'zope.security', + 'zope.sequencesort', 'zope.site', 'zope.size', 'zope.structuredtext', + 'zope.tal', 'zope.tales', 'zope.testbrowser', 'zope.testing', + 'zope.traversing', 'zope.viewlet' +] +'Products.CMFCore' = [ + 'docutils', 'five.localsitemanager', 'Missing', 'Products.BTreeFolder2', + 'Products.GenericSetup', 'Products.MailHost', 'Products.PythonScripts', + 'Products.StandardCacheManagers', 'Products.ZCatalog', 'Record', + 'zope.sendmail', 'Zope' +] +'plone.base' = [ + 'plone.batching', 'plone.registry', 'plone.schema','plone.z3cform', + 'Products.CMFCore', 'Products.CMFDynamicViewFTI', +] +python-dateutil = ['dateutil'] +pytest-plone = ['pytest', 'plone.testing', 'plone.app.testing'] +ignore-packages = ['plone.app.iterate', 'plone.app.upgrade', 'plone.volto', 'zestreleaser.towncrier', 'zest.releaser', 'pytest-cov'] + +## +# Add extra configuration options in .meta.toml: +# [pyproject] +# dependencies_ignores = "['zestreleaser.towncrier']" +# dependencies_mappings = [ +# "gitpython = ['git']", +# "pygithub = ['github']", +# ] +## + +[tool.check-manifest] +ignore = [ + ".editorconfig", + ".flake8", + ".meta.toml", + ".pre-commit-config.yaml", + "dependabot.yml", + "mx.ini", + "tox.ini", + +] + +## +# Add extra configuration options in .meta.toml: +# [pyproject] +# check_manifest_ignores = """ +# "*.map.js", +# "*.pyc", +# """ +# check_manifest_extra_lines = """ +# ignore-bad-ideas = [ +# "some/test/file/PKG-INFO", +# ] +# """ +## + + +## +# Add extra configuration options in .meta.toml: +# [pyproject] +# extra_lines = """ +# _your own configuration lines_ +# """ +## diff --git a/backend/requirements-docker.txt b/backend/requirements-docker.txt index 01a6b6c..da44320 100644 --- a/backend/requirements-docker.txt +++ b/backend/requirements-docker.txt @@ -1,2 +1 @@ -c constraints.txt -src/plone6demo diff --git a/backend/requirements.txt b/backend/requirements.txt index bd17242..da44320 100644 --- a/backend/requirements.txt +++ b/backend/requirements.txt @@ -1,8 +1 @@ -c constraints.txt --e src/plone6demo[test] - -zope.testrunner - -# Add required add-ons -# (Ideally add them in setup.py for plone6demo) -# collective.easyform diff --git a/backend/scripts/create_site.py b/backend/scripts/create_site.py index eebfbdb..e87a27b 100644 --- a/backend/scripts/create_site.py +++ b/backend/scripts/create_site.py @@ -1,28 +1,15 @@ from AccessControl.SecurityManagement import newSecurityManager -from pathlib import Path -from plone.distribution.api import site as site_api +from plone6.demo.interfaces import IBrowserLayer +from Products.CMFPlone.factory import _DEFAULT_PROFILE +from Products.CMFPlone.factory import addPloneSite from Testing.makerequest import makerequest +from zope.interface import directlyProvidedBy +from zope.interface import directlyProvides -import json -import logging import os import transaction -logging.basicConfig(format="%(message)s") - -# Silence some loggers -for logger_name in [ - "GenericSetup.componentregistry", - "Products.MimetypesRegistry.MimeTypesRegistry", -]: - logging.getLogger(logger_name).setLevel(logging.ERROR) - -logger = logging.getLogger("Plone Site Creation") -logger.setLevel(logging.DEBUG) - -SCRIPT_DIR = Path().cwd() / "scripts" - truthy = frozenset(("t", "true", "y", "yes", "on", "1")) @@ -38,61 +25,37 @@ def asbool(s): return s.lower() in truthy +DELETE_EXISTING = asbool(os.getenv("DELETE_EXISTING")) + app = makerequest(globals()["app"]) request = app.REQUEST +ifaces = [IBrowserLayer] + list(directlyProvidedBy(request)) + +directlyProvides(request, *ifaces) + admin = app.acl_users.getUserById("admin") admin = admin.__of__(app.acl_users) newSecurityManager(None, admin) - -def get_answers_file() -> Path: - filename = f"{ANSWERS}.json" - return SCRIPT_DIR / filename - - -def parse_answers(answers_file: Path, site_id: str = "") -> dict: - answers = json.loads(answers_file.read_text()) - if "distribution" not in answers: - # This is a bug in plone.distribution and should be fixed there - answers["distribution"] = DISTRIBUTION - if site_id: - answers["site_id"] = site_id - return answers - - -# VARS -DISTRIBUTION = os.getenv("DISTRIBUTION", "voltodemo") -SITE_ID = os.getenv("SITE_ID") # if set, this overrides the value in ANSWERS -ANSWERS = os.getenv("ANSWERS", "default") -DELETE_EXISTING = asbool(os.getenv("DELETE_EXISTING")) - -# Load site creation parameters -answers_file = get_answers_file() -answers = parse_answers(answers_file, SITE_ID) -site_id = answers["site_id"] - - -logger.info(f"Creating a new Plone site @ {site_id}") -logger.info(f" - Using the {DISTRIBUTION} distribution and answers from {answers_file}") - +site_id = "Plone" +payload = { + "title": "Welcome to Plone 6", + "profile_id": _DEFAULT_PROFILE, + "distribution_name": "voltodemo", + "setup_content": True, + "default_language": "en", + "portal_timezone": "UTC", +} if site_id in app.objectIds() and DELETE_EXISTING: app.manage_delObjects([site_id]) transaction.commit() app._p_jar.sync() - logger.info(f" - Deleted existing site with id {site_id}") -else: - logger.info( - f" - Stopping site creation, as there is already a site with id {site_id}. " - "Set DELETE_EXISTING=1 to delete the existing site before creating a new one." - ) if site_id not in app.objectIds(): - site = site_api._create_site( - context=app, distribution_name=DISTRIBUTION, answers=answers - ) + site = addPloneSite(app, site_id, **payload) transaction.commit() + app._p_jar.sync() - logger.info(" - Site created!") diff --git a/backend/scripts/default.json b/backend/scripts/default.json deleted file mode 100644 index baf6d0a..0000000 --- a/backend/scripts/default.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "site_id": "Plone", - "title": "Welcome to Plone 6", - "description": "Site created with a new Plone Distribution", - "default_language": "en", - "portal_timezone": "Europe/Berlin", - "setup_content": true -} \ No newline at end of file diff --git a/backend/src/plone6demo/setup.py b/backend/setup.py similarity index 63% rename from backend/src/plone6demo/setup.py rename to backend/setup.py index 6cddfdf..b5f063c 100644 --- a/backend/src/plone6demo/setup.py +++ b/backend/setup.py @@ -1,29 +1,29 @@ -"""Installer for the plone6demo package.""" +"""Installer for the plone6.demo package.""" +from pathlib import Path from setuptools import find_packages from setuptools import setup -long_description = "\n\n".join( - [ - open("README.md").read(), - open("CONTRIBUTORS.md").read(), - open("CHANGES.md").read(), - ] -) +long_description = f""" +{Path("README.md").read_text()}\n +{Path("CONTRIBUTORS.md").read_text()}\n +{Path("CHANGES.md").read_text()}\n +""" setup( - name="plone6demo", + name="plone6.demo", version="1.0.0a1", description="Plone 6 Demo Site configuration package.", long_description=long_description, + long_description_content_type="text/markdown", classifiers=[ + "Development Status :: 3 - Alpha", "Environment :: Web Environment", "Framework :: Plone", "Framework :: Plone :: Addon", "Framework :: Plone :: 6.0", - "Framework :: Plone :: Distribution", "Programming Language :: Python", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", @@ -36,14 +36,15 @@ keywords="Python Plone CMS", author="Plone Foundation", author_email="collective@plone.org", - url="https://github.com/collective/plone-6-demo-site", + url="https://github.com/plone/demo.plone.org", project_urls={ - "PyPI": "https://pypi.python.org/pypi/plone6demo", - "Source": "https://github.com/collective/plone-6-demo-site", - "Tracker": "https://github.com/collective/plone-6-demo-site/issues", + "PyPI": "https://pypi.org/project/plone6.demo", + "Source": "https://github.com/plone/demo.plone.org", + "Tracker": "https://github.com/plone/demo.plone.org/issues", }, license="GPL version 2", packages=find_packages("src", exclude=["ez_setup"]), + namespace_packages=["plone6"], package_dir={"": "src"}, include_package_data=True, zip_safe=False, @@ -52,22 +53,25 @@ "setuptools", "Plone", "plone.api", - "plone.distribution>=1.0.0b4", + "plone.restapi", + "plone.volto", "collective.volto.formsupport", ], extras_require={ "test": [ - "parameterized", "zest.releaser[recommended]", - "plone.app.testing[robot]>=7.0.0a3", + "zestreleaser.towncrier", + "plone.app.testing", "plone.restapi[test]", - "collective.MockMailHost", + "pytest", + "pytest-cov", + "pytest-plone>=0.5.0", ], }, entry_points=""" [z3c.autoinclude.plugin] target = plone [console_scripts] - update_locale = plone6demo.locales.update:update_locale + update_locale = plone6.demo.locales.update:update_locale """, ) diff --git a/backend/src/plone6/__init__.py b/backend/src/plone6/__init__.py new file mode 100644 index 0000000..5284146 --- /dev/null +++ b/backend/src/plone6/__init__.py @@ -0,0 +1 @@ +__import__("pkg_resources").declare_namespace(__name__) diff --git a/backend/src/plone6/demo/__init__.py b/backend/src/plone6/demo/__init__.py new file mode 100644 index 0000000..c1ca445 --- /dev/null +++ b/backend/src/plone6/demo/__init__.py @@ -0,0 +1,12 @@ +"""Init and utils.""" + +from zope.i18nmessageid import MessageFactory + +import logging + + +PACKAGE_NAME = "plone6.demo" + +_ = MessageFactory(PACKAGE_NAME) + +logger = logging.getLogger(PACKAGE_NAME) diff --git a/backend/src/plone6demo/src/plone6demo/configure.zcml b/backend/src/plone6/demo/configure.zcml similarity index 65% rename from backend/src/plone6demo/src/plone6demo/configure.zcml rename to backend/src/plone6/demo/configure.zcml index 0c45c35..aa82f76 100644 --- a/backend/src/plone6demo/src/plone6demo/configure.zcml +++ b/backend/src/plone6/demo/configure.zcml @@ -2,7 +2,7 @@ xmlns="http://namespaces.zope.org/zope" xmlns:i18n="http://namespaces.zope.org/i18n" xmlns:plone="http://namespaces.plone.org/plone" - i18n_domain="plone6demo" + i18n_domain="plone6.demo" > @@ -11,27 +11,14 @@ package="Products.CMFCore" file="permissions.zcml" /> - - - - + - - - - - + diff --git a/backend-volto/src/plone6demo/src/plone6demo/dependencies.zcml b/backend/src/plone6/demo/dependencies.zcml similarity index 63% rename from backend-volto/src/plone6demo/src/plone6demo/dependencies.zcml rename to backend/src/plone6/demo/dependencies.zcml index 3c111d6..9d7b261 100644 --- a/backend-volto/src/plone6demo/src/plone6demo/dependencies.zcml +++ b/backend/src/plone6/demo/dependencies.zcml @@ -1,7 +1,6 @@ + - - - - + + diff --git a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/00cef5f245a342958288ace545e3c097/data.json b/backend/src/plone6/demo/distributions/voltodemo/content/content/00cef5f245a342958288ace545e3c097/data.json similarity index 98% rename from backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/00cef5f245a342958288ace545e3c097/data.json rename to backend/src/plone6/demo/distributions/voltodemo/content/content/00cef5f245a342958288ace545e3c097/data.json index 8b9a32d..63714b4 100644 --- a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/00cef5f245a342958288ace545e3c097/data.json +++ b/backend/src/plone6/demo/distributions/voltodemo/content/content/00cef5f245a342958288ace545e3c097/data.json @@ -105,8 +105,12 @@ "parent": { "@id": "/block", "@type": "Document", + "Subject": [ + "main folder" + ], "UID": "425695d2b7cb47e69374d6f211f17e38", "description": "", + "effective": "2023-09-22T14:09:00+00:00", "image_field": null, "image_scales": {}, "review_state": "published", @@ -148,4 +152,4 @@ }, "working_copy": null, "working_copy_of": null -} \ No newline at end of file +} diff --git a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/00cef5f245a342958288ace545e3c097/preview_image/black-starry-night.jpg b/backend/src/plone6/demo/distributions/voltodemo/content/content/00cef5f245a342958288ace545e3c097/preview_image/black-starry-night.jpg similarity index 100% rename from backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/00cef5f245a342958288ace545e3c097/preview_image/black-starry-night.jpg rename to backend/src/plone6/demo/distributions/voltodemo/content/content/00cef5f245a342958288ace545e3c097/preview_image/black-starry-night.jpg diff --git a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/05bace45294c45d5ab93de883e7ce702/data.json b/backend/src/plone6/demo/distributions/voltodemo/content/content/05bace45294c45d5ab93de883e7ce702/data.json similarity index 94% rename from backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/05bace45294c45d5ab93de883e7ce702/data.json rename to backend/src/plone6/demo/distributions/voltodemo/content/content/05bace45294c45d5ab93de883e7ce702/data.json index 23a3a90..428677b 100644 --- a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/05bace45294c45d5ab93de883e7ce702/data.json +++ b/backend/src/plone6/demo/distributions/voltodemo/content/content/05bace45294c45d5ab93de883e7ce702/data.json @@ -32,8 +32,10 @@ "parent": { "@id": "/images", "@type": "Document", + "Subject": [], "UID": "342acac105fe4a43ae0a19d49d752e0b", "description": "", + "effective": "2024-03-08T14:35:00+00:00", "image_field": null, "image_scales": {}, "review_state": "published", @@ -49,4 +51,4 @@ "workflow_history": {}, "working_copy": null, "working_copy_of": null -} \ No newline at end of file +} diff --git a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/05bace45294c45d5ab93de883e7ce702/image/penguin2.jpg b/backend/src/plone6/demo/distributions/voltodemo/content/content/05bace45294c45d5ab93de883e7ce702/image/penguin2.jpg similarity index 100% rename from backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/05bace45294c45d5ab93de883e7ce702/image/penguin2.jpg rename to backend/src/plone6/demo/distributions/voltodemo/content/content/05bace45294c45d5ab93de883e7ce702/image/penguin2.jpg diff --git a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/0c351dd841c34c6da9c313b1bc551e34/data.json b/backend/src/plone6/demo/distributions/voltodemo/content/content/0c351dd841c34c6da9c313b1bc551e34/data.json similarity index 94% rename from backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/0c351dd841c34c6da9c313b1bc551e34/data.json rename to backend/src/plone6/demo/distributions/voltodemo/content/content/0c351dd841c34c6da9c313b1bc551e34/data.json index e4117a0..e933e77 100644 --- a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/0c351dd841c34c6da9c313b1bc551e34/data.json +++ b/backend/src/plone6/demo/distributions/voltodemo/content/content/0c351dd841c34c6da9c313b1bc551e34/data.json @@ -32,8 +32,10 @@ "parent": { "@id": "/images", "@type": "Document", + "Subject": [], "UID": "342acac105fe4a43ae0a19d49d752e0b", "description": "", + "effective": "2024-03-08T14:35:00+00:00", "image_field": null, "image_scales": {}, "review_state": "published", @@ -49,4 +51,4 @@ "workflow_history": {}, "working_copy": null, "working_copy_of": null -} \ No newline at end of file +} diff --git a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/0c351dd841c34c6da9c313b1bc551e34/image/penguin4.jpg b/backend/src/plone6/demo/distributions/voltodemo/content/content/0c351dd841c34c6da9c313b1bc551e34/image/penguin4.jpg similarity index 100% rename from backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/0c351dd841c34c6da9c313b1bc551e34/image/penguin4.jpg rename to backend/src/plone6/demo/distributions/voltodemo/content/content/0c351dd841c34c6da9c313b1bc551e34/image/penguin4.jpg diff --git a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/102f648399914851951ffa3fefc8665c/data.json b/backend/src/plone6/demo/distributions/voltodemo/content/content/102f648399914851951ffa3fefc8665c/data.json similarity index 99% rename from backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/102f648399914851951ffa3fefc8665c/data.json rename to backend/src/plone6/demo/distributions/voltodemo/content/content/102f648399914851951ffa3fefc8665c/data.json index 06ad98a..b0fba5b 100644 --- a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/102f648399914851951ffa3fefc8665c/data.json +++ b/backend/src/plone6/demo/distributions/voltodemo/content/content/102f648399914851951ffa3fefc8665c/data.json @@ -5201,8 +5201,12 @@ "parent": { "@id": "/block", "@type": "Document", + "Subject": [ + "main folder" + ], "UID": "425695d2b7cb47e69374d6f211f17e38", "description": "", + "effective": "2023-09-22T14:09:00+00:00", "image_field": null, "image_scales": {}, "review_state": "published", @@ -5244,4 +5248,4 @@ }, "working_copy": null, "working_copy_of": null -} \ No newline at end of file +} diff --git a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/102f648399914851951ffa3fefc8665c/preview_image/black-starry-night.jpg b/backend/src/plone6/demo/distributions/voltodemo/content/content/102f648399914851951ffa3fefc8665c/preview_image/black-starry-night.jpg similarity index 100% rename from backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/102f648399914851951ffa3fefc8665c/preview_image/black-starry-night.jpg rename to backend/src/plone6/demo/distributions/voltodemo/content/content/102f648399914851951ffa3fefc8665c/preview_image/black-starry-night.jpg diff --git a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/13de82575e16493fbc54514e548a9f3c/data.json b/backend/src/plone6/demo/distributions/voltodemo/content/content/13de82575e16493fbc54514e548a9f3c/data.json similarity index 97% rename from backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/13de82575e16493fbc54514e548a9f3c/data.json rename to backend/src/plone6/demo/distributions/voltodemo/content/content/13de82575e16493fbc54514e548a9f3c/data.json index bb79464..62a1c4b 100644 --- a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/13de82575e16493fbc54514e548a9f3c/data.json +++ b/backend/src/plone6/demo/distributions/voltodemo/content/content/13de82575e16493fbc54514e548a9f3c/data.json @@ -101,8 +101,12 @@ "parent": { "@id": "/block", "@type": "Document", + "Subject": [ + "main folder" + ], "UID": "425695d2b7cb47e69374d6f211f17e38", "description": "", + "effective": "2023-09-22T14:09:00+00:00", "image_field": null, "image_scales": {}, "review_state": "published", @@ -137,4 +141,4 @@ }, "working_copy": null, "working_copy_of": null -} \ No newline at end of file +} diff --git a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/195d96ca9952493cbffa69cda040b8b3/data.json b/backend/src/plone6/demo/distributions/voltodemo/content/content/195d96ca9952493cbffa69cda040b8b3/data.json similarity index 89% rename from backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/195d96ca9952493cbffa69cda040b8b3/data.json rename to backend/src/plone6/demo/distributions/voltodemo/content/content/195d96ca9952493cbffa69cda040b8b3/data.json index bc74248..e458d40 100644 --- a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/195d96ca9952493cbffa69cda040b8b3/data.json +++ b/backend/src/plone6/demo/distributions/voltodemo/content/content/195d96ca9952493cbffa69cda040b8b3/data.json @@ -20,11 +20,11 @@ "0": { "@id": "/content-types/internal-link", "@type": "Link", - "UID": "49164012ad7f4b9f837efd28947ef4fd", + "UID": "bf88fb24e9734291b50cd8f20f13de3c", "allow_discussion": false, "changeNote": "", "contributors": [], - "created": "2024-05-16T20:51:14+00:00", + "created": "2024-11-09T08:10:11+00:00", "creators": [ "admin" ], @@ -37,11 +37,15 @@ "language": "", "layout": "link_redirect_view", "lock": {}, - "modified": "2024-05-16T20:51:14+00:00", + "modified": "2024-11-09T08:10:11+00:00", "parent": { "@id": "/content-types", "@type": "Document", + "Subject": [ + "main folder" + ], "description": "This section has a sample of content types available in this site.", + "effective": "2023-09-22T14:09:00+00:00", "image_field": null, "image_scales": {}, "review_state": "published", @@ -69,8 +73,12 @@ "parent": { "@id": "/content-types", "@type": "Document", + "Subject": [ + "main folder" + ], "UID": "e8178744e30a418b9a5768997bb29a19", "description": "This section has a sample of content types available in this site.", + "effective": "2023-09-22T14:09:00+00:00", "image_field": null, "image_scales": {}, "review_state": "published", @@ -105,4 +113,4 @@ }, "working_copy": null, "working_copy_of": null -} \ No newline at end of file +} diff --git a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/1efc7b73b28e4edeaf40040709299d69/data.json b/backend/src/plone6/demo/distributions/voltodemo/content/content/1efc7b73b28e4edeaf40040709299d69/data.json similarity index 98% rename from backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/1efc7b73b28e4edeaf40040709299d69/data.json rename to backend/src/plone6/demo/distributions/voltodemo/content/content/1efc7b73b28e4edeaf40040709299d69/data.json index daf8e5c..8e1a2f3 100644 --- a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/1efc7b73b28e4edeaf40040709299d69/data.json +++ b/backend/src/plone6/demo/distributions/voltodemo/content/content/1efc7b73b28e4edeaf40040709299d69/data.json @@ -214,12 +214,14 @@ "locked": false, "stealable": true }, - "modified": "2024-03-09T09:51:28+00:00", + "modified": "2024-11-09T08:10:12+00:00", "parent": { "@id": "/vertical-spacing", "@type": "Document", + "Subject": [], "UID": "c40a2be214b645338a7ef2e711e2f5c6", "description": "", + "effective": "2023-07-06T16:35:00+00:00", "image_field": null, "image_scales": {}, "review_state": "published", @@ -254,4 +256,4 @@ }, "working_copy": null, "working_copy_of": null -} \ No newline at end of file +} diff --git a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/2508797173824f0e9f82bb2e7cfe922d/data.json b/backend/src/plone6/demo/distributions/voltodemo/content/content/2508797173824f0e9f82bb2e7cfe922d/data.json similarity index 99% rename from backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/2508797173824f0e9f82bb2e7cfe922d/data.json rename to backend/src/plone6/demo/distributions/voltodemo/content/content/2508797173824f0e9f82bb2e7cfe922d/data.json index 2abcdd9..4cc152e 100644 --- a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/2508797173824f0e9f82bb2e7cfe922d/data.json +++ b/backend/src/plone6/demo/distributions/voltodemo/content/content/2508797173824f0e9f82bb2e7cfe922d/data.json @@ -325,8 +325,12 @@ "parent": { "@id": "/block", "@type": "Document", + "Subject": [ + "main folder" + ], "UID": "425695d2b7cb47e69374d6f211f17e38", "description": "", + "effective": "2023-09-22T14:09:00+00:00", "image_field": null, "image_scales": {}, "review_state": "published", @@ -368,4 +372,4 @@ }, "working_copy": null, "working_copy_of": null -} \ No newline at end of file +} diff --git a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/2508797173824f0e9f82bb2e7cfe922d/preview_image/black-starry-night.jpg b/backend/src/plone6/demo/distributions/voltodemo/content/content/2508797173824f0e9f82bb2e7cfe922d/preview_image/black-starry-night.jpg similarity index 100% rename from backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/2508797173824f0e9f82bb2e7cfe922d/preview_image/black-starry-night.jpg rename to backend/src/plone6/demo/distributions/voltodemo/content/content/2508797173824f0e9f82bb2e7cfe922d/preview_image/black-starry-night.jpg diff --git a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/28cc586c504d436aa26fd2aa12f16f84/data.json b/backend/src/plone6/demo/distributions/voltodemo/content/content/28cc586c504d436aa26fd2aa12f16f84/data.json similarity index 94% rename from backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/28cc586c504d436aa26fd2aa12f16f84/data.json rename to backend/src/plone6/demo/distributions/voltodemo/content/content/28cc586c504d436aa26fd2aa12f16f84/data.json index a79ea7f..788956b 100644 --- a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/28cc586c504d436aa26fd2aa12f16f84/data.json +++ b/backend/src/plone6/demo/distributions/voltodemo/content/content/28cc586c504d436aa26fd2aa12f16f84/data.json @@ -355,64 +355,66 @@ "parent": { "@id": "/block/grid-block", "@type": "Document", + "Subject": [], "UID": "99c70917b6894af08dd306fdbc0eff6a", "description": " The Grid block allows adding multi-column blocks. A grid block can contain between one and four columns of different blocks. Teasers and images can be added in a grid block.", + "effective": "2023-07-06T16:35:00+00:00", "image_field": null, "image_scales": { "preview_image": [ { "content-type": "image/jpeg", - "download": "@@images/preview_image-2400-522982bed6211f41c5cf552bb9683bea.jpeg", + "download": "@@images/preview_image-2400-e02604f44782ea59c28b4ce2af913705.jpeg", "filename": "black-starry-night.jpg", "height": 1708, "scales": { "great": { - "download": "@@images/preview_image-1200-7097252fc733b86987eae23422f8631d.jpeg", + "download": "@@images/preview_image-1200-bba2517cfc9e4dfee2c63658ae9e7959.jpeg", "height": 854, "width": 1200 }, "huge": { - "download": "@@images/preview_image-1600-60565502bbc38c817611b2f6b8d77ebc.jpeg", + "download": "@@images/preview_image-1600-b5fcf8c236b37509469229aa9c47fcad.jpeg", "height": 1138, "width": 1600 }, "icon": { - "download": "@@images/preview_image-32-010efe4f10d3d610dd8d96c5c7282454.jpeg", + "download": "@@images/preview_image-32-3d1b5452573276dafa0fc85bd4e9e817.jpeg", "height": 22, "width": 32 }, "large": { - "download": "@@images/preview_image-800-47e6e891885824b069ec83c5f6f150c1.jpeg", + "download": "@@images/preview_image-800-59044c65fac8ab2a742982c814a913f8.jpeg", "height": 569, "width": 800 }, "larger": { - "download": "@@images/preview_image-1000-58a59da2fa2462d55ffde1c8a22b9484.jpeg", + "download": "@@images/preview_image-1000-6bd7c3acae26db5406a51a65b18d9238.jpeg", "height": 711, "width": 1000 }, "mini": { - "download": "@@images/preview_image-200-d5d1af2fd7a1564f2e42202ffd7580ff.jpeg", + "download": "@@images/preview_image-200-552c19b08b6e9107a79e9eb8bfe6b1c8.jpeg", "height": 142, "width": 200 }, "preview": { - "download": "@@images/preview_image-400-df5900dc6306decab406e886c5450b9c.jpeg", + "download": "@@images/preview_image-400-4ac2a1359143958fc1988f9baf01c02a.jpeg", "height": 284, "width": 400 }, "teaser": { - "download": "@@images/preview_image-600-b7063aba47db2d1341ec49e0b4a5f4d4.jpeg", + "download": "@@images/preview_image-600-317776dde8651d2303833c8400c7271a.jpeg", "height": 427, "width": 600 }, "thumb": { - "download": "@@images/preview_image-128-f10cae4e649f76ce72422b2857fbe35c.jpeg", + "download": "@@images/preview_image-128-da18a689a95079ad8beb760c7efcf2b0.jpeg", "height": 91, "width": 128 }, "tile": { - "download": "@@images/preview_image-64-60ec5acfd40ba82e370a805a6a00f77f.jpeg", + "download": "@@images/preview_image-64-0643112f5cccc885a32e5b522944d0c6.jpeg", "height": 45, "width": 64 } @@ -454,4 +456,4 @@ }, "working_copy": null, "working_copy_of": null -} \ No newline at end of file +} diff --git a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/2e8ed811e2954e9882d561be8b25cb8c/data.json b/backend/src/plone6/demo/distributions/voltodemo/content/content/2e8ed811e2954e9882d561be8b25cb8c/data.json similarity index 98% rename from backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/2e8ed811e2954e9882d561be8b25cb8c/data.json rename to backend/src/plone6/demo/distributions/voltodemo/content/content/2e8ed811e2954e9882d561be8b25cb8c/data.json index 46a7d18..67f11be 100644 --- a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/2e8ed811e2954e9882d561be8b25cb8c/data.json +++ b/backend/src/plone6/demo/distributions/voltodemo/content/content/2e8ed811e2954e9882d561be8b25cb8c/data.json @@ -99,8 +99,12 @@ "parent": { "@id": "/content-types", "@type": "Document", + "Subject": [ + "main folder" + ], "UID": "e8178744e30a418b9a5768997bb29a19", "description": "This section has a sample of content types available in this site.", + "effective": "2023-09-22T14:09:00+00:00", "image_field": null, "image_scales": {}, "review_state": "published", @@ -135,4 +139,4 @@ }, "working_copy": null, "working_copy_of": null -} \ No newline at end of file +} diff --git a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/2f69aa417e894fd3bf23d393287b369e/data.json b/backend/src/plone6/demo/distributions/voltodemo/content/content/2f69aa417e894fd3bf23d393287b369e/data.json similarity index 98% rename from backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/2f69aa417e894fd3bf23d393287b369e/data.json rename to backend/src/plone6/demo/distributions/voltodemo/content/content/2f69aa417e894fd3bf23d393287b369e/data.json index d3f9c88..a91dfb5 100644 --- a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/2f69aa417e894fd3bf23d393287b369e/data.json +++ b/backend/src/plone6/demo/distributions/voltodemo/content/content/2f69aa417e894fd3bf23d393287b369e/data.json @@ -196,12 +196,16 @@ "locked": false, "stealable": true }, - "modified": "2023-09-30T07:05:29+00:00", + "modified": "2024-11-09T08:10:12+00:00", "parent": { "@id": "/block", "@type": "Document", + "Subject": [ + "main folder" + ], "UID": "425695d2b7cb47e69374d6f211f17e38", "description": "", + "effective": "2023-09-22T14:09:00+00:00", "image_field": null, "image_scales": {}, "review_state": "published", @@ -236,4 +240,4 @@ }, "working_copy": null, "working_copy_of": null -} \ No newline at end of file +} diff --git a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/342acac105fe4a43ae0a19d49d752e0b/data.json b/backend/src/plone6/demo/distributions/voltodemo/content/content/342acac105fe4a43ae0a19d49d752e0b/data.json similarity index 97% rename from backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/342acac105fe4a43ae0a19d49d752e0b/data.json rename to backend/src/plone6/demo/distributions/voltodemo/content/content/342acac105fe4a43ae0a19d49d752e0b/data.json index 658f1e2..d69d12c 100644 --- a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/342acac105fe4a43ae0a19d49d752e0b/data.json +++ b/backend/src/plone6/demo/distributions/voltodemo/content/content/342acac105fe4a43ae0a19d49d752e0b/data.json @@ -56,7 +56,7 @@ "locked": false, "stealable": true }, - "modified": "2024-05-16T20:51:14+00:00", + "modified": "2024-11-09T08:10:11+00:00", "parent": { "@id": "/", "@type": "Plone Site", @@ -93,4 +93,4 @@ }, "working_copy": null, "working_copy_of": null -} \ No newline at end of file +} diff --git a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/362783c333434d2f89a00bd48ea37e34/data.json b/backend/src/plone6/demo/distributions/voltodemo/content/content/362783c333434d2f89a00bd48ea37e34/data.json similarity index 89% rename from backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/362783c333434d2f89a00bd48ea37e34/data.json rename to backend/src/plone6/demo/distributions/voltodemo/content/content/362783c333434d2f89a00bd48ea37e34/data.json index f7c614a..6845183 100644 --- a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/362783c333434d2f89a00bd48ea37e34/data.json +++ b/backend/src/plone6/demo/distributions/voltodemo/content/content/362783c333434d2f89a00bd48ea37e34/data.json @@ -20,11 +20,11 @@ "0": { "@id": "/content-types/external-link", "@type": "Link", - "UID": "382b782da9074e4ab8a9befd06e850f6", + "UID": "3a906c164ee34030a110b5066a114a32", "allow_discussion": false, "changeNote": "", "contributors": [], - "created": "2024-05-16T20:51:14+00:00", + "created": "2024-11-09T08:10:11+00:00", "creators": [ "admin" ], @@ -37,11 +37,15 @@ "language": "", "layout": "link_redirect_view", "lock": {}, - "modified": "2024-05-16T20:51:14+00:00", + "modified": "2024-11-09T08:10:11+00:00", "parent": { "@id": "/content-types", "@type": "Document", + "Subject": [ + "main folder" + ], "description": "This section has a sample of content types available in this site.", + "effective": "2023-09-22T14:09:00+00:00", "image_field": null, "image_scales": {}, "review_state": "published", @@ -69,8 +73,12 @@ "parent": { "@id": "/content-types", "@type": "Document", + "Subject": [ + "main folder" + ], "UID": "e8178744e30a418b9a5768997bb29a19", "description": "This section has a sample of content types available in this site.", + "effective": "2023-09-22T14:09:00+00:00", "image_field": null, "image_scales": {}, "review_state": "published", @@ -105,4 +113,4 @@ }, "working_copy": null, "working_copy_of": null -} \ No newline at end of file +} diff --git a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/3906609d0456404ca7146f6aa1f12f32/data.json b/backend/src/plone6/demo/distributions/voltodemo/content/content/3906609d0456404ca7146f6aa1f12f32/data.json similarity index 98% rename from backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/3906609d0456404ca7146f6aa1f12f32/data.json rename to backend/src/plone6/demo/distributions/voltodemo/content/content/3906609d0456404ca7146f6aa1f12f32/data.json index f37953d..221a702 100644 --- a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/3906609d0456404ca7146f6aa1f12f32/data.json +++ b/backend/src/plone6/demo/distributions/voltodemo/content/content/3906609d0456404ca7146f6aa1f12f32/data.json @@ -372,12 +372,16 @@ "locked": false, "stealable": true }, - "modified": "2023-09-22T15:12:56+00:00", + "modified": "2024-11-09T08:10:12+00:00", "parent": { "@id": "/block", "@type": "Document", + "Subject": [ + "main folder" + ], "UID": "425695d2b7cb47e69374d6f211f17e38", "description": "", + "effective": "2023-09-22T14:09:00+00:00", "image_field": null, "image_scales": {}, "review_state": "published", @@ -419,4 +423,4 @@ }, "working_copy": null, "working_copy_of": null -} \ No newline at end of file +} diff --git a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/3906609d0456404ca7146f6aa1f12f32/preview_image/black-starry-night.jpg b/backend/src/plone6/demo/distributions/voltodemo/content/content/3906609d0456404ca7146f6aa1f12f32/preview_image/black-starry-night.jpg similarity index 100% rename from backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/3906609d0456404ca7146f6aa1f12f32/preview_image/black-starry-night.jpg rename to backend/src/plone6/demo/distributions/voltodemo/content/content/3906609d0456404ca7146f6aa1f12f32/preview_image/black-starry-night.jpg diff --git a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/3ac4a2c6c4034a1686bc0ee2d2072fd6/data.json b/backend/src/plone6/demo/distributions/voltodemo/content/content/3ac4a2c6c4034a1686bc0ee2d2072fd6/data.json similarity index 81% rename from backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/3ac4a2c6c4034a1686bc0ee2d2072fd6/data.json rename to backend/src/plone6/demo/distributions/voltodemo/content/content/3ac4a2c6c4034a1686bc0ee2d2072fd6/data.json index be10c79..b12cb93 100644 --- a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/3ac4a2c6c4034a1686bc0ee2d2072fd6/data.json +++ b/backend/src/plone6/demo/distributions/voltodemo/content/content/3ac4a2c6c4034a1686bc0ee2d2072fd6/data.json @@ -86,64 +86,66 @@ "parent": { "@id": "/block/grid-block", "@type": "Document", + "Subject": [], "UID": "99c70917b6894af08dd306fdbc0eff6a", "description": " The Grid block allows adding multi-column blocks. A grid block can contain between one and four columns of different blocks. Teasers and images can be added in a grid block.", + "effective": "2023-07-06T16:35:00+00:00", "image_field": null, "image_scales": { "preview_image": [ { "content-type": "image/jpeg", - "download": "@@images/preview_image-2400-522982bed6211f41c5cf552bb9683bea.jpeg", + "download": "@@images/preview_image-2400-e02604f44782ea59c28b4ce2af913705.jpeg", "filename": "black-starry-night.jpg", "height": 1708, "scales": { "great": { - "download": "@@images/preview_image-1200-7097252fc733b86987eae23422f8631d.jpeg", + "download": "@@images/preview_image-1200-bba2517cfc9e4dfee2c63658ae9e7959.jpeg", "height": 854, "width": 1200 }, "huge": { - "download": "@@images/preview_image-1600-60565502bbc38c817611b2f6b8d77ebc.jpeg", + "download": "@@images/preview_image-1600-b5fcf8c236b37509469229aa9c47fcad.jpeg", "height": 1138, "width": 1600 }, "icon": { - "download": "@@images/preview_image-32-010efe4f10d3d610dd8d96c5c7282454.jpeg", + "download": "@@images/preview_image-32-3d1b5452573276dafa0fc85bd4e9e817.jpeg", "height": 22, "width": 32 }, "large": { - "download": "@@images/preview_image-800-47e6e891885824b069ec83c5f6f150c1.jpeg", + "download": "@@images/preview_image-800-59044c65fac8ab2a742982c814a913f8.jpeg", "height": 569, "width": 800 }, "larger": { - "download": "@@images/preview_image-1000-58a59da2fa2462d55ffde1c8a22b9484.jpeg", + "download": "@@images/preview_image-1000-6bd7c3acae26db5406a51a65b18d9238.jpeg", "height": 711, "width": 1000 }, "mini": { - "download": "@@images/preview_image-200-d5d1af2fd7a1564f2e42202ffd7580ff.jpeg", + "download": "@@images/preview_image-200-552c19b08b6e9107a79e9eb8bfe6b1c8.jpeg", "height": 142, "width": 200 }, "preview": { - "download": "@@images/preview_image-400-df5900dc6306decab406e886c5450b9c.jpeg", + "download": "@@images/preview_image-400-4ac2a1359143958fc1988f9baf01c02a.jpeg", "height": 284, "width": 400 }, "teaser": { - "download": "@@images/preview_image-600-b7063aba47db2d1341ec49e0b4a5f4d4.jpeg", + "download": "@@images/preview_image-600-317776dde8651d2303833c8400c7271a.jpeg", "height": 427, "width": 600 }, "thumb": { - "download": "@@images/preview_image-128-f10cae4e649f76ce72422b2857fbe35c.jpeg", + "download": "@@images/preview_image-128-da18a689a95079ad8beb760c7efcf2b0.jpeg", "height": 91, "width": 128 }, "tile": { - "download": "@@images/preview_image-64-60ec5acfd40ba82e370a805a6a00f77f.jpeg", + "download": "@@images/preview_image-64-0643112f5cccc885a32e5b522944d0c6.jpeg", "height": 45, "width": 64 } @@ -192,4 +194,4 @@ }, "working_copy": null, "working_copy_of": null -} \ No newline at end of file +} diff --git a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/3ac4a2c6c4034a1686bc0ee2d2072fd6/preview_image/black-starry-night.jpg b/backend/src/plone6/demo/distributions/voltodemo/content/content/3ac4a2c6c4034a1686bc0ee2d2072fd6/preview_image/black-starry-night.jpg similarity index 100% rename from backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/3ac4a2c6c4034a1686bc0ee2d2072fd6/preview_image/black-starry-night.jpg rename to backend/src/plone6/demo/distributions/voltodemo/content/content/3ac4a2c6c4034a1686bc0ee2d2072fd6/preview_image/black-starry-night.jpg diff --git a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/405582582e70493c96a6c549444a1eaa/data.json b/backend/src/plone6/demo/distributions/voltodemo/content/content/405582582e70493c96a6c549444a1eaa/data.json similarity index 99% rename from backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/405582582e70493c96a6c549444a1eaa/data.json rename to backend/src/plone6/demo/distributions/voltodemo/content/content/405582582e70493c96a6c549444a1eaa/data.json index bfea19f..cf7e6c6 100644 --- a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/405582582e70493c96a6c549444a1eaa/data.json +++ b/backend/src/plone6/demo/distributions/voltodemo/content/content/405582582e70493c96a6c549444a1eaa/data.json @@ -452,12 +452,16 @@ "locked": false, "stealable": true }, - "modified": "2023-09-22T14:30:34+00:00", + "modified": "2024-11-09T08:10:12+00:00", "parent": { "@id": "/block", "@type": "Document", + "Subject": [ + "main folder" + ], "UID": "425695d2b7cb47e69374d6f211f17e38", "description": "", + "effective": "2023-09-22T14:09:00+00:00", "image_field": null, "image_scales": {}, "review_state": "published", @@ -492,4 +496,4 @@ }, "working_copy": null, "working_copy_of": null -} \ No newline at end of file +} diff --git a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/40a436ad604f4f80aeafe0977806760a/data.json b/backend/src/plone6/demo/distributions/voltodemo/content/content/40a436ad604f4f80aeafe0977806760a/data.json similarity index 99% rename from backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/40a436ad604f4f80aeafe0977806760a/data.json rename to backend/src/plone6/demo/distributions/voltodemo/content/content/40a436ad604f4f80aeafe0977806760a/data.json index a2334c3..90ab7fe 100644 --- a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/40a436ad604f4f80aeafe0977806760a/data.json +++ b/backend/src/plone6/demo/distributions/voltodemo/content/content/40a436ad604f4f80aeafe0977806760a/data.json @@ -252,8 +252,12 @@ "parent": { "@id": "/block", "@type": "Document", + "Subject": [ + "main folder" + ], "UID": "425695d2b7cb47e69374d6f211f17e38", "description": "", + "effective": "2023-09-22T14:09:00+00:00", "image_field": null, "image_scales": {}, "review_state": "published", @@ -295,4 +299,4 @@ }, "working_copy": null, "working_copy_of": null -} \ No newline at end of file +} diff --git a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/40a436ad604f4f80aeafe0977806760a/preview_image/black-starry-night.jpg b/backend/src/plone6/demo/distributions/voltodemo/content/content/40a436ad604f4f80aeafe0977806760a/preview_image/black-starry-night.jpg similarity index 100% rename from backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/40a436ad604f4f80aeafe0977806760a/preview_image/black-starry-night.jpg rename to backend/src/plone6/demo/distributions/voltodemo/content/content/40a436ad604f4f80aeafe0977806760a/preview_image/black-starry-night.jpg diff --git a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/425695d2b7cb47e69374d6f211f17e38/data.json b/backend/src/plone6/demo/distributions/voltodemo/content/content/425695d2b7cb47e69374d6f211f17e38/data.json similarity index 97% rename from backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/425695d2b7cb47e69374d6f211f17e38/data.json rename to backend/src/plone6/demo/distributions/voltodemo/content/content/425695d2b7cb47e69374d6f211f17e38/data.json index 844e81e..d355e80 100644 --- a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/425695d2b7cb47e69374d6f211f17e38/data.json +++ b/backend/src/plone6/demo/distributions/voltodemo/content/content/425695d2b7cb47e69374d6f211f17e38/data.json @@ -56,7 +56,7 @@ "locked": false, "stealable": true }, - "modified": "2024-05-16T20:51:15+00:00", + "modified": "2024-11-09T08:10:11+00:00", "parent": { "@id": "/", "@type": "Plone Site", @@ -95,4 +95,4 @@ }, "working_copy": null, "working_copy_of": null -} \ No newline at end of file +} diff --git a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/49d22a94521c4883a1bb448ac7863cdd/data.json b/backend/src/plone6/demo/distributions/voltodemo/content/content/49d22a94521c4883a1bb448ac7863cdd/data.json similarity index 99% rename from backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/49d22a94521c4883a1bb448ac7863cdd/data.json rename to backend/src/plone6/demo/distributions/voltodemo/content/content/49d22a94521c4883a1bb448ac7863cdd/data.json index f54abb3..e932032 100644 --- a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/49d22a94521c4883a1bb448ac7863cdd/data.json +++ b/backend/src/plone6/demo/distributions/voltodemo/content/content/49d22a94521c4883a1bb448ac7863cdd/data.json @@ -583,12 +583,16 @@ "locked": false, "stealable": true }, - "modified": "2024-03-09T09:53:01+00:00", + "modified": "2024-11-09T08:10:12+00:00", "parent": { "@id": "/content-types", "@type": "Document", + "Subject": [ + "main folder" + ], "UID": "e8178744e30a418b9a5768997bb29a19", "description": "This section has a sample of content types available in this site.", + "effective": "2023-09-22T14:09:00+00:00", "image_field": null, "image_scales": {}, "review_state": "published", @@ -623,4 +627,4 @@ }, "working_copy": null, "working_copy_of": null -} \ No newline at end of file +} diff --git a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/51aa57a0fb694d528ee5a76af0107131/data.json b/backend/src/plone6/demo/distributions/voltodemo/content/content/51aa57a0fb694d528ee5a76af0107131/data.json similarity index 89% rename from backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/51aa57a0fb694d528ee5a76af0107131/data.json rename to backend/src/plone6/demo/distributions/voltodemo/content/content/51aa57a0fb694d528ee5a76af0107131/data.json index b398c02..bd62ef0 100644 --- a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/51aa57a0fb694d528ee5a76af0107131/data.json +++ b/backend/src/plone6/demo/distributions/voltodemo/content/content/51aa57a0fb694d528ee5a76af0107131/data.json @@ -20,11 +20,11 @@ "0": { "@id": "/content-types/link", "@type": "Link", - "UID": "b27645b400a14932947a89ac5f6dae97", + "UID": "7a96b94dac6f42b6bdf7c13f6a2e50ea", "allow_discussion": false, "changeNote": "", "contributors": [], - "created": "2024-05-16T20:51:14+00:00", + "created": "2024-11-09T08:10:11+00:00", "creators": [ "admin" ], @@ -37,11 +37,15 @@ "language": "", "layout": "link_redirect_view", "lock": {}, - "modified": "2024-05-16T20:51:14+00:00", + "modified": "2024-11-09T08:10:11+00:00", "parent": { "@id": "/content-types", "@type": "Document", + "Subject": [ + "main folder" + ], "description": "This section has a sample of content types available in this site.", + "effective": "2023-09-22T14:09:00+00:00", "image_field": null, "image_scales": {}, "review_state": "published", @@ -69,8 +73,12 @@ "parent": { "@id": "/content-types", "@type": "Document", + "Subject": [ + "main folder" + ], "UID": "e8178744e30a418b9a5768997bb29a19", "description": "This section has a sample of content types available in this site.", + "effective": "2023-09-22T14:09:00+00:00", "image_field": null, "image_scales": {}, "review_state": "published", @@ -105,4 +113,4 @@ }, "working_copy": null, "working_copy_of": null -} \ No newline at end of file +} diff --git a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/546e82cce6c842d0a4046a0131539bd2/data.json b/backend/src/plone6/demo/distributions/voltodemo/content/content/546e82cce6c842d0a4046a0131539bd2/data.json similarity index 99% rename from backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/546e82cce6c842d0a4046a0131539bd2/data.json rename to backend/src/plone6/demo/distributions/voltodemo/content/content/546e82cce6c842d0a4046a0131539bd2/data.json index 29596e6..14e76ba 100644 --- a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/546e82cce6c842d0a4046a0131539bd2/data.json +++ b/backend/src/plone6/demo/distributions/voltodemo/content/content/546e82cce6c842d0a4046a0131539bd2/data.json @@ -271,8 +271,12 @@ "parent": { "@id": "/block", "@type": "Document", + "Subject": [ + "main folder" + ], "UID": "425695d2b7cb47e69374d6f211f17e38", "description": "", + "effective": "2023-09-22T14:09:00+00:00", "image_field": null, "image_scales": {}, "review_state": "published", @@ -307,4 +311,4 @@ }, "working_copy": null, "working_copy_of": null -} \ No newline at end of file +} diff --git a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/6a82ae8d8a434e019b404f4387fe1a42/data.json b/backend/src/plone6/demo/distributions/voltodemo/content/content/6a82ae8d8a434e019b404f4387fe1a42/data.json similarity index 99% rename from backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/6a82ae8d8a434e019b404f4387fe1a42/data.json rename to backend/src/plone6/demo/distributions/voltodemo/content/content/6a82ae8d8a434e019b404f4387fe1a42/data.json index e775ffa..229305f 100644 --- a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/6a82ae8d8a434e019b404f4387fe1a42/data.json +++ b/backend/src/plone6/demo/distributions/voltodemo/content/content/6a82ae8d8a434e019b404f4387fe1a42/data.json @@ -319,12 +319,14 @@ "locked": false, "stealable": true }, - "modified": "2024-03-09T09:17:17+00:00", + "modified": "2024-11-09T08:10:12+00:00", "parent": { "@id": "/vertical-spacing", "@type": "Document", + "Subject": [], "UID": "c40a2be214b645338a7ef2e711e2f5c6", "description": "", + "effective": "2023-07-06T16:35:00+00:00", "image_field": null, "image_scales": {}, "review_state": "published", @@ -359,4 +361,4 @@ }, "working_copy": null, "working_copy_of": null -} \ No newline at end of file +} diff --git a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/6bd32a3367ea4254b295db642655b9d3/data.json b/backend/src/plone6/demo/distributions/voltodemo/content/content/6bd32a3367ea4254b295db642655b9d3/data.json similarity index 98% rename from backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/6bd32a3367ea4254b295db642655b9d3/data.json rename to backend/src/plone6/demo/distributions/voltodemo/content/content/6bd32a3367ea4254b295db642655b9d3/data.json index d83287e..c1f3e31 100644 --- a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/6bd32a3367ea4254b295db642655b9d3/data.json +++ b/backend/src/plone6/demo/distributions/voltodemo/content/content/6bd32a3367ea4254b295db642655b9d3/data.json @@ -159,8 +159,12 @@ "parent": { "@id": "/block", "@type": "Document", + "Subject": [ + "main folder" + ], "UID": "425695d2b7cb47e69374d6f211f17e38", "description": "", + "effective": "2023-09-22T14:09:00+00:00", "image_field": null, "image_scales": {}, "review_state": "published", @@ -195,4 +199,4 @@ }, "working_copy": null, "working_copy_of": null -} \ No newline at end of file +} diff --git a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/6cca02c5580d4f7c865af74835ceab9d/data.json b/backend/src/plone6/demo/distributions/voltodemo/content/content/6cca02c5580d4f7c865af74835ceab9d/data.json similarity index 91% rename from backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/6cca02c5580d4f7c865af74835ceab9d/data.json rename to backend/src/plone6/demo/distributions/voltodemo/content/content/6cca02c5580d4f7c865af74835ceab9d/data.json index 90d52e5..4044c14 100644 --- a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/6cca02c5580d4f7c865af74835ceab9d/data.json +++ b/backend/src/plone6/demo/distributions/voltodemo/content/content/6cca02c5580d4f7c865af74835ceab9d/data.json @@ -28,12 +28,16 @@ "language": "##DEFAULT##", "layout": "image_view", "lock": {}, - "modified": "2024-03-08T15:08:21+00:00", + "modified": "2024-11-09T08:10:12+00:00", "parent": { "@id": "/content-types", "@type": "Document", + "Subject": [ + "main folder" + ], "UID": "e8178744e30a418b9a5768997bb29a19", "description": "This section has a sample of content types available in this site.", + "effective": "2023-09-22T14:09:00+00:00", "image_field": null, "image_scales": {}, "review_state": "published", @@ -49,4 +53,4 @@ "workflow_history": {}, "working_copy": null, "working_copy_of": null -} \ No newline at end of file +} diff --git a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/6cca02c5580d4f7c865af74835ceab9d/image/danielle-barnes-kGNaS3lYCso-unsplash.jpg b/backend/src/plone6/demo/distributions/voltodemo/content/content/6cca02c5580d4f7c865af74835ceab9d/image/danielle-barnes-kGNaS3lYCso-unsplash.jpg similarity index 100% rename from backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/6cca02c5580d4f7c865af74835ceab9d/image/danielle-barnes-kGNaS3lYCso-unsplash.jpg rename to backend/src/plone6/demo/distributions/voltodemo/content/content/6cca02c5580d4f7c865af74835ceab9d/image/danielle-barnes-kGNaS3lYCso-unsplash.jpg diff --git a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/6d37dd19ef754344aaa254fa288e44b4/data.json b/backend/src/plone6/demo/distributions/voltodemo/content/content/6d37dd19ef754344aaa254fa288e44b4/data.json similarity index 99% rename from backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/6d37dd19ef754344aaa254fa288e44b4/data.json rename to backend/src/plone6/demo/distributions/voltodemo/content/content/6d37dd19ef754344aaa254fa288e44b4/data.json index 9af7788..7a87d35 100644 --- a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/6d37dd19ef754344aaa254fa288e44b4/data.json +++ b/backend/src/plone6/demo/distributions/voltodemo/content/content/6d37dd19ef754344aaa254fa288e44b4/data.json @@ -245,8 +245,12 @@ "parent": { "@id": "/block", "@type": "Document", + "Subject": [ + "main folder" + ], "UID": "425695d2b7cb47e69374d6f211f17e38", "description": "", + "effective": "2023-09-22T14:09:00+00:00", "image_field": null, "image_scales": {}, "review_state": "published", @@ -281,4 +285,4 @@ }, "working_copy": null, "working_copy_of": null -} \ No newline at end of file +} diff --git a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/7950cae06c994276930f6d13151308c5/data.json b/backend/src/plone6/demo/distributions/voltodemo/content/content/7950cae06c994276930f6d13151308c5/data.json similarity index 99% rename from backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/7950cae06c994276930f6d13151308c5/data.json rename to backend/src/plone6/demo/distributions/voltodemo/content/content/7950cae06c994276930f6d13151308c5/data.json index 07b236f..b0d145b 100644 --- a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/7950cae06c994276930f6d13151308c5/data.json +++ b/backend/src/plone6/demo/distributions/voltodemo/content/content/7950cae06c994276930f6d13151308c5/data.json @@ -136,8 +136,10 @@ "parent": { "@id": "/vertical-spacing", "@type": "Document", + "Subject": [], "UID": "c40a2be214b645338a7ef2e711e2f5c6", "description": "", + "effective": "2023-07-06T16:35:00+00:00", "image_field": null, "image_scales": {}, "review_state": "published", @@ -172,4 +174,4 @@ }, "working_copy": null, "working_copy_of": null -} \ No newline at end of file +} diff --git a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/7ab9c48ede33415fa2a66a99549c8f70/data.json b/backend/src/plone6/demo/distributions/voltodemo/content/content/7ab9c48ede33415fa2a66a99549c8f70/data.json similarity index 99% rename from backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/7ab9c48ede33415fa2a66a99549c8f70/data.json rename to backend/src/plone6/demo/distributions/voltodemo/content/content/7ab9c48ede33415fa2a66a99549c8f70/data.json index 986cbb7..f27a634 100644 --- a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/7ab9c48ede33415fa2a66a99549c8f70/data.json +++ b/backend/src/plone6/demo/distributions/voltodemo/content/content/7ab9c48ede33415fa2a66a99549c8f70/data.json @@ -691,12 +691,16 @@ "locked": false, "stealable": true }, - "modified": "2023-09-22T14:25:49+00:00", + "modified": "2024-11-09T08:10:12+00:00", "parent": { "@id": "/content-types", "@type": "Document", + "Subject": [ + "main folder" + ], "UID": "e8178744e30a418b9a5768997bb29a19", "description": "This section has a sample of content types available in this site.", + "effective": "2023-09-22T14:09:00+00:00", "image_field": null, "image_scales": {}, "review_state": "published", @@ -738,4 +742,4 @@ }, "working_copy": null, "working_copy_of": null -} \ No newline at end of file +} diff --git a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/7ab9c48ede33415fa2a66a99549c8f70/preview_image/black-starry-night.jpg b/backend/src/plone6/demo/distributions/voltodemo/content/content/7ab9c48ede33415fa2a66a99549c8f70/preview_image/black-starry-night.jpg similarity index 100% rename from backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/7ab9c48ede33415fa2a66a99549c8f70/preview_image/black-starry-night.jpg rename to backend/src/plone6/demo/distributions/voltodemo/content/content/7ab9c48ede33415fa2a66a99549c8f70/preview_image/black-starry-night.jpg diff --git a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/7adc12f0e7604982a6cdcb9437bccf66/data.json b/backend/src/plone6/demo/distributions/voltodemo/content/content/7adc12f0e7604982a6cdcb9437bccf66/data.json similarity index 91% rename from backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/7adc12f0e7604982a6cdcb9437bccf66/data.json rename to backend/src/plone6/demo/distributions/voltodemo/content/content/7adc12f0e7604982a6cdcb9437bccf66/data.json index 585bfe3..cfe053d 100644 --- a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/7adc12f0e7604982a6cdcb9437bccf66/data.json +++ b/backend/src/plone6/demo/distributions/voltodemo/content/content/7adc12f0e7604982a6cdcb9437bccf66/data.json @@ -56,7 +56,7 @@ "0": { "@id": "/content-types/event", "@type": "Event", - "UID": "d285b4ea38db4967aa74b99ff0644baf", + "UID": "f56e6c81f05146d0a90a0d2cce13d750", "allow_discussion": false, "attendees": [], "blocks": {}, @@ -68,13 +68,13 @@ "contact_name": null, "contact_phone": null, "contributors": [], - "created": "2024-05-16T20:51:14+00:00", + "created": "2024-11-09T08:10:11+00:00", "creators": [ "admin" ], "description": "", "effective": null, - "end": "2024-05-16T21:00:00+00:00", + "end": "2024-11-09T09:00:00+00:00", "event_url": null, "exclude_from_nav": false, "expires": null, @@ -87,12 +87,16 @@ "locked": false, "stealable": true }, - "modified": "2024-05-16T20:51:14+00:00", + "modified": "2024-11-09T08:10:11+00:00", "open_end": false, "parent": { "@id": "/content-types", "@type": "Document", + "Subject": [ + "main folder" + ], "description": "This section has a sample of content types available in this site.", + "effective": "2023-09-22T14:09:00+00:00", "image_field": null, "image_scales": {}, "review_state": "published", @@ -105,7 +109,7 @@ "relatedItems": [], "review_state": "published", "rights": "", - "start": "2024-05-16T20:00:00+00:00", + "start": "2024-11-09T08:00:00+00:00", "subjects": [], "sync_uid": null, "title": "", @@ -131,8 +135,12 @@ "parent": { "@id": "/content-types", "@type": "Document", + "Subject": [ + "main folder" + ], "UID": "e8178744e30a418b9a5768997bb29a19", "description": "This section has a sample of content types available in this site.", + "effective": "2023-09-22T14:09:00+00:00", "image_field": null, "image_scales": {}, "review_state": "published", @@ -179,4 +187,4 @@ }, "working_copy": null, "working_copy_of": null -} \ No newline at end of file +} diff --git a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/7adc12f0e7604982a6cdcb9437bccf66/preview_image/event.svg b/backend/src/plone6/demo/distributions/voltodemo/content/content/7adc12f0e7604982a6cdcb9437bccf66/preview_image/event.svg similarity index 100% rename from backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/7adc12f0e7604982a6cdcb9437bccf66/preview_image/event.svg rename to backend/src/plone6/demo/distributions/voltodemo/content/content/7adc12f0e7604982a6cdcb9437bccf66/preview_image/event.svg diff --git a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/7de78fea55354a29ad78b909efb07436/data.json b/backend/src/plone6/demo/distributions/voltodemo/content/content/7de78fea55354a29ad78b909efb07436/data.json similarity index 94% rename from backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/7de78fea55354a29ad78b909efb07436/data.json rename to backend/src/plone6/demo/distributions/voltodemo/content/content/7de78fea55354a29ad78b909efb07436/data.json index 3baab7b..3e1854a 100644 --- a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/7de78fea55354a29ad78b909efb07436/data.json +++ b/backend/src/plone6/demo/distributions/voltodemo/content/content/7de78fea55354a29ad78b909efb07436/data.json @@ -32,8 +32,10 @@ "parent": { "@id": "/images", "@type": "Document", + "Subject": [], "UID": "342acac105fe4a43ae0a19d49d752e0b", "description": "", + "effective": "2024-03-08T14:35:00+00:00", "image_field": null, "image_scales": {}, "review_state": "published", @@ -49,4 +51,4 @@ "workflow_history": {}, "working_copy": null, "working_copy_of": null -} \ No newline at end of file +} diff --git a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/7de78fea55354a29ad78b909efb07436/image/penguin3.jpg b/backend/src/plone6/demo/distributions/voltodemo/content/content/7de78fea55354a29ad78b909efb07436/image/penguin3.jpg similarity index 100% rename from backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/7de78fea55354a29ad78b909efb07436/image/penguin3.jpg rename to backend/src/plone6/demo/distributions/voltodemo/content/content/7de78fea55354a29ad78b909efb07436/image/penguin3.jpg diff --git a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/8416628543f146ff9a18d281c03e2399/data.json b/backend/src/plone6/demo/distributions/voltodemo/content/content/8416628543f146ff9a18d281c03e2399/data.json similarity index 99% rename from backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/8416628543f146ff9a18d281c03e2399/data.json rename to backend/src/plone6/demo/distributions/voltodemo/content/content/8416628543f146ff9a18d281c03e2399/data.json index 90999b8..de5ebb3 100644 --- a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/8416628543f146ff9a18d281c03e2399/data.json +++ b/backend/src/plone6/demo/distributions/voltodemo/content/content/8416628543f146ff9a18d281c03e2399/data.json @@ -487,8 +487,12 @@ "parent": { "@id": "/block", "@type": "Document", + "Subject": [ + "main folder" + ], "UID": "425695d2b7cb47e69374d6f211f17e38", "description": "", + "effective": "2023-09-22T14:09:00+00:00", "image_field": null, "image_scales": {}, "review_state": "published", @@ -530,4 +534,4 @@ }, "working_copy": null, "working_copy_of": null -} \ No newline at end of file +} diff --git a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/8416628543f146ff9a18d281c03e2399/preview_image/black-starry-night.jpg b/backend/src/plone6/demo/distributions/voltodemo/content/content/8416628543f146ff9a18d281c03e2399/preview_image/black-starry-night.jpg similarity index 100% rename from backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/8416628543f146ff9a18d281c03e2399/preview_image/black-starry-night.jpg rename to backend/src/plone6/demo/distributions/voltodemo/content/content/8416628543f146ff9a18d281c03e2399/preview_image/black-starry-night.jpg diff --git a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/8cc3e9af77c0452aa2278b0bfdcf9c85/data.json b/backend/src/plone6/demo/distributions/voltodemo/content/content/8cc3e9af77c0452aa2278b0bfdcf9c85/data.json similarity index 98% rename from backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/8cc3e9af77c0452aa2278b0bfdcf9c85/data.json rename to backend/src/plone6/demo/distributions/voltodemo/content/content/8cc3e9af77c0452aa2278b0bfdcf9c85/data.json index bad1a3d..b344578 100644 --- a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/8cc3e9af77c0452aa2278b0bfdcf9c85/data.json +++ b/backend/src/plone6/demo/distributions/voltodemo/content/content/8cc3e9af77c0452aa2278b0bfdcf9c85/data.json @@ -721,7 +721,7 @@ "0": { "@id": "/content-types/news-item", "@type": "News Item", - "UID": "0710afb0ad914a2a8841152986a7be2c", + "UID": "66b22e73f5444fafa961fd5a7c245d1a", "allow_discussion": false, "blocks": {}, "blocks_layout": { @@ -729,7 +729,7 @@ }, "changeNote": "", "contributors": [], - "created": "2024-05-16T20:51:14+00:00", + "created": "2024-11-09T08:10:11+00:00", "creators": [ "admin" ], @@ -747,11 +747,15 @@ "locked": false, "stealable": true }, - "modified": "2024-05-16T20:51:14+00:00", + "modified": "2024-11-09T08:10:11+00:00", "parent": { "@id": "/content-types", "@type": "Document", + "Subject": [ + "main folder" + ], "description": "This section has a sample of content types available in this site.", + "effective": "2023-09-22T14:09:00+00:00", "image_field": null, "image_scales": {}, "review_state": "published", @@ -780,12 +784,16 @@ "locked": false, "stealable": true }, - "modified": "2023-09-22T14:26:55+00:00", + "modified": "2024-11-09T08:10:12+00:00", "parent": { "@id": "/content-types", "@type": "Document", + "Subject": [ + "main folder" + ], "UID": "e8178744e30a418b9a5768997bb29a19", "description": "This section has a sample of content types available in this site.", + "effective": "2023-09-22T14:09:00+00:00", "image_field": null, "image_scales": {}, "review_state": "published", @@ -819,4 +827,4 @@ }, "working_copy": null, "working_copy_of": null -} \ No newline at end of file +} diff --git a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/928010d84e5d4df2b2282f3e179d6b1a/data.json b/backend/src/plone6/demo/distributions/voltodemo/content/content/928010d84e5d4df2b2282f3e179d6b1a/data.json similarity index 97% rename from backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/928010d84e5d4df2b2282f3e179d6b1a/data.json rename to backend/src/plone6/demo/distributions/voltodemo/content/content/928010d84e5d4df2b2282f3e179d6b1a/data.json index d8c80a5..53261e9 100644 --- a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/928010d84e5d4df2b2282f3e179d6b1a/data.json +++ b/backend/src/plone6/demo/distributions/voltodemo/content/content/928010d84e5d4df2b2282f3e179d6b1a/data.json @@ -76,8 +76,12 @@ "parent": { "@id": "/block", "@type": "Document", + "Subject": [ + "main folder" + ], "UID": "425695d2b7cb47e69374d6f211f17e38", "description": "", + "effective": "2023-09-22T14:09:00+00:00", "image_field": null, "image_scales": {}, "review_state": "published", @@ -119,4 +123,4 @@ }, "working_copy": null, "working_copy_of": null -} \ No newline at end of file +} diff --git a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/928010d84e5d4df2b2282f3e179d6b1a/preview_image/black-starry-night.jpg b/backend/src/plone6/demo/distributions/voltodemo/content/content/928010d84e5d4df2b2282f3e179d6b1a/preview_image/black-starry-night.jpg similarity index 100% rename from backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/928010d84e5d4df2b2282f3e179d6b1a/preview_image/black-starry-night.jpg rename to backend/src/plone6/demo/distributions/voltodemo/content/content/928010d84e5d4df2b2282f3e179d6b1a/preview_image/black-starry-night.jpg diff --git a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/970ec24c76784c66a06d8c8d8b6522b2/data.json b/backend/src/plone6/demo/distributions/voltodemo/content/content/970ec24c76784c66a06d8c8d8b6522b2/data.json similarity index 93% rename from backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/970ec24c76784c66a06d8c8d8b6522b2/data.json rename to backend/src/plone6/demo/distributions/voltodemo/content/content/970ec24c76784c66a06d8c8d8b6522b2/data.json index 626d753..657d6a1 100644 --- a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/970ec24c76784c66a06d8c8d8b6522b2/data.json +++ b/backend/src/plone6/demo/distributions/voltodemo/content/content/970ec24c76784c66a06d8c8d8b6522b2/data.json @@ -28,12 +28,16 @@ "language": "##DEFAULT##", "layout": "image_view", "lock": {}, - "modified": "2024-03-08T14:26:45+00:00", + "modified": "2024-11-09T08:10:12+00:00", "parent": { "@id": "/content-types", "@type": "Document", + "Subject": [ + "main folder" + ], "UID": "e8178744e30a418b9a5768997bb29a19", "description": "This section has a sample of content types available in this site.", + "effective": "2023-09-22T14:09:00+00:00", "image_field": null, "image_scales": {}, "review_state": "published", @@ -59,4 +63,4 @@ }, "working_copy": null, "working_copy_of": null -} \ No newline at end of file +} diff --git a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/970ec24c76784c66a06d8c8d8b6522b2/image/black-starry-night.jpg b/backend/src/plone6/demo/distributions/voltodemo/content/content/970ec24c76784c66a06d8c8d8b6522b2/image/black-starry-night.jpg similarity index 100% rename from backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/970ec24c76784c66a06d8c8d8b6522b2/image/black-starry-night.jpg rename to backend/src/plone6/demo/distributions/voltodemo/content/content/970ec24c76784c66a06d8c8d8b6522b2/image/black-starry-night.jpg diff --git a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/99c70917b6894af08dd306fdbc0eff6a/data.json b/backend/src/plone6/demo/distributions/voltodemo/content/content/99c70917b6894af08dd306fdbc0eff6a/data.json similarity index 95% rename from backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/99c70917b6894af08dd306fdbc0eff6a/data.json rename to backend/src/plone6/demo/distributions/voltodemo/content/content/99c70917b6894af08dd306fdbc0eff6a/data.json index d30e235..a272723 100644 --- a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/99c70917b6894af08dd306fdbc0eff6a/data.json +++ b/backend/src/plone6/demo/distributions/voltodemo/content/content/99c70917b6894af08dd306fdbc0eff6a/data.json @@ -56,12 +56,16 @@ "locked": false, "stealable": true }, - "modified": "2024-05-16T20:51:14+00:00", + "modified": "2024-11-09T08:10:10+00:00", "parent": { "@id": "/block", "@type": "Document", + "Subject": [ + "main folder" + ], "UID": "425695d2b7cb47e69374d6f211f17e38", "description": "", + "effective": "2023-09-22T14:09:00+00:00", "image_field": null, "image_scales": {}, "review_state": "published", @@ -103,4 +107,4 @@ }, "working_copy": null, "working_copy_of": null -} \ No newline at end of file +} diff --git a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/99c70917b6894af08dd306fdbc0eff6a/preview_image/black-starry-night.jpg b/backend/src/plone6/demo/distributions/voltodemo/content/content/99c70917b6894af08dd306fdbc0eff6a/preview_image/black-starry-night.jpg similarity index 100% rename from backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/99c70917b6894af08dd306fdbc0eff6a/preview_image/black-starry-night.jpg rename to backend/src/plone6/demo/distributions/voltodemo/content/content/99c70917b6894af08dd306fdbc0eff6a/preview_image/black-starry-night.jpg diff --git a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/9abc1a813bcf46388e565b277bd8c6bf/data.json b/backend/src/plone6/demo/distributions/voltodemo/content/content/9abc1a813bcf46388e565b277bd8c6bf/data.json similarity index 94% rename from backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/9abc1a813bcf46388e565b277bd8c6bf/data.json rename to backend/src/plone6/demo/distributions/voltodemo/content/content/9abc1a813bcf46388e565b277bd8c6bf/data.json index 81a2b14..f8adb3d 100644 --- a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/9abc1a813bcf46388e565b277bd8c6bf/data.json +++ b/backend/src/plone6/demo/distributions/voltodemo/content/content/9abc1a813bcf46388e565b277bd8c6bf/data.json @@ -32,8 +32,10 @@ "parent": { "@id": "/images", "@type": "Document", + "Subject": [], "UID": "342acac105fe4a43ae0a19d49d752e0b", "description": "", + "effective": "2024-03-08T14:35:00+00:00", "image_field": null, "image_scales": {}, "review_state": "published", @@ -49,4 +51,4 @@ "workflow_history": {}, "working_copy": null, "working_copy_of": null -} \ No newline at end of file +} diff --git a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/9abc1a813bcf46388e565b277bd8c6bf/image/penguin1.jpg b/backend/src/plone6/demo/distributions/voltodemo/content/content/9abc1a813bcf46388e565b277bd8c6bf/image/penguin1.jpg similarity index 100% rename from backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/9abc1a813bcf46388e565b277bd8c6bf/image/penguin1.jpg rename to backend/src/plone6/demo/distributions/voltodemo/content/content/9abc1a813bcf46388e565b277bd8c6bf/image/penguin1.jpg diff --git a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/__metadata__.json b/backend/src/plone6/demo/distributions/voltodemo/content/content/__metadata__.json similarity index 76% rename from backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/__metadata__.json rename to backend/src/plone6/demo/distributions/voltodemo/content/content/__metadata__.json index d2d96f2..1e0ab99 100644 --- a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/__metadata__.json +++ b/backend/src/plone6/demo/distributions/voltodemo/content/content/__metadata__.json @@ -80,6 +80,128 @@ "7950cae06c994276930f6d13151308c5/data.json" ], "default_page": {}, + "local_permissions": { + "00cef5f245a342958288ace545e3c097": {}, + "05bace45294c45d5ab93de883e7ce702": {}, + "0c351dd841c34c6da9c313b1bc551e34": {}, + "102f648399914851951ffa3fefc8665c": {}, + "13de82575e16493fbc54514e548a9f3c": {}, + "195d96ca9952493cbffa69cda040b8b3": {}, + "1efc7b73b28e4edeaf40040709299d69": {}, + "2508797173824f0e9f82bb2e7cfe922d": {}, + "28cc586c504d436aa26fd2aa12f16f84": {}, + "2e8ed811e2954e9882d561be8b25cb8c": {}, + "2f69aa417e894fd3bf23d393287b369e": {}, + "342acac105fe4a43ae0a19d49d752e0b": {}, + "362783c333434d2f89a00bd48ea37e34": {}, + "3906609d0456404ca7146f6aa1f12f32": {}, + "3ac4a2c6c4034a1686bc0ee2d2072fd6": {}, + "405582582e70493c96a6c549444a1eaa": {}, + "40a436ad604f4f80aeafe0977806760a": {}, + "425695d2b7cb47e69374d6f211f17e38": {}, + "49d22a94521c4883a1bb448ac7863cdd": {}, + "51aa57a0fb694d528ee5a76af0107131": {}, + "546e82cce6c842d0a4046a0131539bd2": {}, + "6a82ae8d8a434e019b404f4387fe1a42": {}, + "6bd32a3367ea4254b295db642655b9d3": {}, + "6cca02c5580d4f7c865af74835ceab9d": {}, + "6d37dd19ef754344aaa254fa288e44b4": {}, + "7950cae06c994276930f6d13151308c5": {}, + "7ab9c48ede33415fa2a66a99549c8f70": {}, + "7adc12f0e7604982a6cdcb9437bccf66": {}, + "7de78fea55354a29ad78b909efb07436": {}, + "8416628543f146ff9a18d281c03e2399": {}, + "8cc3e9af77c0452aa2278b0bfdcf9c85": {}, + "928010d84e5d4df2b2282f3e179d6b1a": {}, + "970ec24c76784c66a06d8c8d8b6522b2": {}, + "99c70917b6894af08dd306fdbc0eff6a": {}, + "9abc1a813bcf46388e565b277bd8c6bf": {}, + "a2f2c6a524094c9482cc5384883fd8e7": {}, + "a5bf990b119747c4b2855fedc1ea0185": {}, + "af85ff98cd6446eebcba56305ed89fed": {}, + "bd2b39d2745847db82ed197a4eb1effc": {}, + "c2adb9f7b0824bd5a3e07048d887f48d": {}, + "c40a2be214b645338a7ef2e711e2f5c6": {}, + "c8531174ccd54e39a284a347e9cece83": {}, + "cffd9eef5c154c04891af9ef9185ed8c": {}, + "d2ce9e4549e54ea8978cf521bb997ad4": {}, + "d7c7e8ed1ffb4b2fa20525f4f434ba27": {}, + "e017bd4a0b3845aab26f6d855cc4ef14": {}, + "e090d954d0a448bca81c1a646e673a12": {}, + "e8178744e30a418b9a5768997bb29a19": {}, + "eec82559bf3242a6be4d43bc2096f399": {}, + "f0018ecb26ac442aa1f03482a09c8b81": {}, + "f51777793dab4a61982e35dfa71d0575": {}, + "f8cd4a2d8d7c4703b4e41d2093b21aed": {}, + "fb086a3d1d3d4a9ebf9bc864d2172e79": {}, + "plone_site_root": { + "Add portal member": { + "acquire": false, + "roles": [ + "Manager", + "Site Administrator", + "Owner" + ] + }, + "Content rules: Manage rules": { + "acquire": false, + "roles": [ + "Manager", + "Site Administrator" + ] + }, + "Delete own comments": { + "acquire": false, + "roles": [ + "Manager", + "Site Administrator", + "Reviewer", + "Owner" + ] + }, + "Reply to item": { + "acquire": false, + "roles": [ + "Authenticated" + ] + }, + "Set own password": { + "acquire": false, + "roles": [ + "Authenticated", + "Manager", + "Site Administrator" + ] + }, + "Set own properties": { + "acquire": false, + "roles": [ + "Authenticated", + "Manager", + "Site Administrator" + ] + }, + "Show Toolbar": { + "acquire": false, + "roles": [ + "Authenticated" + ] + }, + "plone.resource: Export ZIP file": { + "acquire": false, + "roles": [ + "Manager" + ] + }, + "plone.resourceeditor: Manage Sources": { + "acquire": false, + "roles": [ + "Manager", + "Site Administrator" + ] + } + } + }, "local_roles": { "00cef5f245a342958288ace545e3c097": { "local_roles": { @@ -472,13 +594,13 @@ "28cc586c504d436aa26fd2aa12f16f84": 0, "2e8ed811e2954e9882d561be8b25cb8c": 0, "2f69aa417e894fd3bf23d393287b369e": 3, - "342acac105fe4a43ae0a19d49d752e0b": 43, + "342acac105fe4a43ae0a19d49d752e0b": 42, "362783c333434d2f89a00bd48ea37e34": 8, "3906609d0456404ca7146f6aa1f12f32": 14, "3ac4a2c6c4034a1686bc0ee2d2072fd6": 1, "405582582e70493c96a6c549444a1eaa": 1, "40a436ad604f4f80aeafe0977806760a": 5, - "425695d2b7cb47e69374d6f211f17e38": 44, + "425695d2b7cb47e69374d6f211f17e38": 43, "49d22a94521c4883a1bb448ac7863cdd": 12, "51aa57a0fb694d528ee5a76af0107131": 5, "546e82cce6c842d0a4046a0131539bd2": 10, @@ -497,18 +619,18 @@ "99c70917b6894af08dd306fdbc0eff6a": 2, "9abc1a813bcf46388e565b277bd8c6bf": 0, "a2f2c6a524094c9482cc5384883fd8e7": 3, - "a5bf990b119747c4b2855fedc1ea0185": 42, + "a5bf990b119747c4b2855fedc1ea0185": 41, "af85ff98cd6446eebcba56305ed89fed": 7, "bd2b39d2745847db82ed197a4eb1effc": 12, "c2adb9f7b0824bd5a3e07048d887f48d": 2, - "c40a2be214b645338a7ef2e711e2f5c6": 46, + "c40a2be214b645338a7ef2e711e2f5c6": 45, "c8531174ccd54e39a284a347e9cece83": 1, "cffd9eef5c154c04891af9ef9185ed8c": 3, "d2ce9e4549e54ea8978cf521bb997ad4": 2, "d7c7e8ed1ffb4b2fa20525f4f434ba27": 4, "e017bd4a0b3845aab26f6d855cc4ef14": 7, "e090d954d0a448bca81c1a646e673a12": 8, - "e8178744e30a418b9a5768997bb29a19": 45, + "e8178744e30a418b9a5768997bb29a19": 44, "eec82559bf3242a6be4d43bc2096f399": 9, "f0018ecb26ac442aa1f03482a09c8b81": 0, "f51777793dab4a61982e35dfa71d0575": 6, @@ -516,4 +638,4 @@ "fb086a3d1d3d4a9ebf9bc864d2172e79": 3 }, "relations": [] -} \ No newline at end of file +} diff --git a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/a2f2c6a524094c9482cc5384883fd8e7/data.json b/backend/src/plone6/demo/distributions/voltodemo/content/content/a2f2c6a524094c9482cc5384883fd8e7/data.json similarity index 93% rename from backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/a2f2c6a524094c9482cc5384883fd8e7/data.json rename to backend/src/plone6/demo/distributions/voltodemo/content/content/a2f2c6a524094c9482cc5384883fd8e7/data.json index f14d388..09a76b1 100644 --- a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/a2f2c6a524094c9482cc5384883fd8e7/data.json +++ b/backend/src/plone6/demo/distributions/voltodemo/content/content/a2f2c6a524094c9482cc5384883fd8e7/data.json @@ -93,7 +93,7 @@ "0": { "@id": "/content-types/copy_of_event", "@type": "Event", - "UID": "c577467684594163a68527ed168c0db0", + "UID": "0925a98839a4432b9e4db66bf057669a", "allow_discussion": false, "attendees": [], "blocks": {}, @@ -105,13 +105,13 @@ "contact_name": null, "contact_phone": null, "contributors": [], - "created": "2024-05-16T20:51:14+00:00", + "created": "2024-11-09T08:10:11+00:00", "creators": [ "admin" ], "description": "", "effective": null, - "end": "2024-05-16T21:00:00+00:00", + "end": "2024-11-09T09:00:00+00:00", "event_url": null, "exclude_from_nav": false, "expires": null, @@ -124,12 +124,16 @@ "locked": false, "stealable": true }, - "modified": "2024-05-16T20:51:14+00:00", + "modified": "2024-11-09T08:10:11+00:00", "open_end": false, "parent": { "@id": "/content-types", "@type": "Document", + "Subject": [ + "main folder" + ], "description": "This section has a sample of content types available in this site.", + "effective": "2023-09-22T14:09:00+00:00", "image_field": null, "image_scales": {}, "review_state": "published", @@ -142,7 +146,7 @@ "relatedItems": [], "review_state": "published", "rights": "", - "start": "2024-05-16T20:00:00+00:00", + "start": "2024-11-09T08:00:00+00:00", "subjects": [], "sync_uid": null, "title": "", @@ -168,8 +172,12 @@ "parent": { "@id": "/content-types", "@type": "Document", + "Subject": [ + "main folder" + ], "UID": "e8178744e30a418b9a5768997bb29a19", "description": "This section has a sample of content types available in this site.", + "effective": "2023-09-22T14:09:00+00:00", "image_field": null, "image_scales": {}, "review_state": "published", @@ -209,4 +217,4 @@ }, "working_copy": null, "working_copy_of": null -} \ No newline at end of file +} diff --git a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/a5bf990b119747c4b2855fedc1ea0185/data.json b/backend/src/plone6/demo/distributions/voltodemo/content/content/a5bf990b119747c4b2855fedc1ea0185/data.json similarity index 99% rename from backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/a5bf990b119747c4b2855fedc1ea0185/data.json rename to backend/src/plone6/demo/distributions/voltodemo/content/content/a5bf990b119747c4b2855fedc1ea0185/data.json index 0b7aeae..cc07276 100644 --- a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/a5bf990b119747c4b2855fedc1ea0185/data.json +++ b/backend/src/plone6/demo/distributions/voltodemo/content/content/a5bf990b119747c4b2855fedc1ea0185/data.json @@ -46,4 +46,4 @@ "workflow_history": {}, "working_copy": null, "working_copy_of": null -} \ No newline at end of file +} diff --git a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/a5bf990b119747c4b2855fedc1ea0185/image/image.png b/backend/src/plone6/demo/distributions/voltodemo/content/content/a5bf990b119747c4b2855fedc1ea0185/image/image.png similarity index 100% rename from backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/a5bf990b119747c4b2855fedc1ea0185/image/image.png rename to backend/src/plone6/demo/distributions/voltodemo/content/content/a5bf990b119747c4b2855fedc1ea0185/image/image.png diff --git a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/af85ff98cd6446eebcba56305ed89fed/data.json b/backend/src/plone6/demo/distributions/voltodemo/content/content/af85ff98cd6446eebcba56305ed89fed/data.json similarity index 93% rename from backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/af85ff98cd6446eebcba56305ed89fed/data.json rename to backend/src/plone6/demo/distributions/voltodemo/content/content/af85ff98cd6446eebcba56305ed89fed/data.json index ff26b8b..da97c2f 100644 --- a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/af85ff98cd6446eebcba56305ed89fed/data.json +++ b/backend/src/plone6/demo/distributions/voltodemo/content/content/af85ff98cd6446eebcba56305ed89fed/data.json @@ -66,7 +66,7 @@ "0": { "@id": "/content-types/copy_of_news-item", "@type": "News Item", - "UID": "c5e52e37746d4ae4aed00cfdc0f6d91e", + "UID": "d9bf5aa7487c4cf584d4892a553599da", "allow_discussion": false, "blocks": {}, "blocks_layout": { @@ -74,7 +74,7 @@ }, "changeNote": "", "contributors": [], - "created": "2024-05-16T20:51:14+00:00", + "created": "2024-11-09T08:10:11+00:00", "creators": [ "admin" ], @@ -92,11 +92,15 @@ "locked": false, "stealable": true }, - "modified": "2024-05-16T20:51:14+00:00", + "modified": "2024-11-09T08:10:11+00:00", "parent": { "@id": "/content-types", "@type": "Document", + "Subject": [ + "main folder" + ], "description": "This section has a sample of content types available in this site.", + "effective": "2023-09-22T14:09:00+00:00", "image_field": null, "image_scales": {}, "review_state": "published", @@ -136,8 +140,12 @@ "parent": { "@id": "/content-types", "@type": "Document", + "Subject": [ + "main folder" + ], "UID": "e8178744e30a418b9a5768997bb29a19", "description": "This section has a sample of content types available in this site.", + "effective": "2023-09-22T14:09:00+00:00", "image_field": null, "image_scales": {}, "review_state": "published", @@ -171,4 +179,4 @@ }, "working_copy": null, "working_copy_of": null -} \ No newline at end of file +} diff --git a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/af85ff98cd6446eebcba56305ed89fed/image/sergio-martinez-rhNJJ4eD2zk-unsplash.jpg b/backend/src/plone6/demo/distributions/voltodemo/content/content/af85ff98cd6446eebcba56305ed89fed/image/sergio-martinez-rhNJJ4eD2zk-unsplash.jpg similarity index 100% rename from backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/af85ff98cd6446eebcba56305ed89fed/image/sergio-martinez-rhNJJ4eD2zk-unsplash.jpg rename to backend/src/plone6/demo/distributions/voltodemo/content/content/af85ff98cd6446eebcba56305ed89fed/image/sergio-martinez-rhNJJ4eD2zk-unsplash.jpg diff --git a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/bd2b39d2745847db82ed197a4eb1effc/data.json b/backend/src/plone6/demo/distributions/voltodemo/content/content/bd2b39d2745847db82ed197a4eb1effc/data.json similarity index 98% rename from backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/bd2b39d2745847db82ed197a4eb1effc/data.json rename to backend/src/plone6/demo/distributions/voltodemo/content/content/bd2b39d2745847db82ed197a4eb1effc/data.json index e337e37..0a74caf 100644 --- a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/bd2b39d2745847db82ed197a4eb1effc/data.json +++ b/backend/src/plone6/demo/distributions/voltodemo/content/content/bd2b39d2745847db82ed197a4eb1effc/data.json @@ -175,8 +175,12 @@ "parent": { "@id": "/block", "@type": "Document", + "Subject": [ + "main folder" + ], "UID": "425695d2b7cb47e69374d6f211f17e38", "description": "", + "effective": "2023-09-22T14:09:00+00:00", "image_field": null, "image_scales": {}, "review_state": "published", @@ -218,4 +222,4 @@ }, "working_copy": null, "working_copy_of": null -} \ No newline at end of file +} diff --git a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/bd2b39d2745847db82ed197a4eb1effc/preview_image/black-starry-night.jpg b/backend/src/plone6/demo/distributions/voltodemo/content/content/bd2b39d2745847db82ed197a4eb1effc/preview_image/black-starry-night.jpg similarity index 100% rename from backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/bd2b39d2745847db82ed197a4eb1effc/preview_image/black-starry-night.jpg rename to backend/src/plone6/demo/distributions/voltodemo/content/content/bd2b39d2745847db82ed197a4eb1effc/preview_image/black-starry-night.jpg diff --git a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/c2adb9f7b0824bd5a3e07048d887f48d/data.json b/backend/src/plone6/demo/distributions/voltodemo/content/content/c2adb9f7b0824bd5a3e07048d887f48d/data.json similarity index 96% rename from backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/c2adb9f7b0824bd5a3e07048d887f48d/data.json rename to backend/src/plone6/demo/distributions/voltodemo/content/content/c2adb9f7b0824bd5a3e07048d887f48d/data.json index d8ac08b..eabe843 100644 --- a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/c2adb9f7b0824bd5a3e07048d887f48d/data.json +++ b/backend/src/plone6/demo/distributions/voltodemo/content/content/c2adb9f7b0824bd5a3e07048d887f48d/data.json @@ -596,64 +596,66 @@ "parent": { "@id": "/block/grid-block", "@type": "Document", + "Subject": [], "UID": "99c70917b6894af08dd306fdbc0eff6a", "description": " The Grid block allows adding multi-column blocks. A grid block can contain between one and four columns of different blocks. Teasers and images can be added in a grid block.", + "effective": "2023-07-06T16:35:00+00:00", "image_field": null, "image_scales": { "preview_image": [ { "content-type": "image/jpeg", - "download": "@@images/preview_image-2400-522982bed6211f41c5cf552bb9683bea.jpeg", + "download": "@@images/preview_image-2400-e02604f44782ea59c28b4ce2af913705.jpeg", "filename": "black-starry-night.jpg", "height": 1708, "scales": { "great": { - "download": "@@images/preview_image-1200-7097252fc733b86987eae23422f8631d.jpeg", + "download": "@@images/preview_image-1200-bba2517cfc9e4dfee2c63658ae9e7959.jpeg", "height": 854, "width": 1200 }, "huge": { - "download": "@@images/preview_image-1600-60565502bbc38c817611b2f6b8d77ebc.jpeg", + "download": "@@images/preview_image-1600-b5fcf8c236b37509469229aa9c47fcad.jpeg", "height": 1138, "width": 1600 }, "icon": { - "download": "@@images/preview_image-32-010efe4f10d3d610dd8d96c5c7282454.jpeg", + "download": "@@images/preview_image-32-3d1b5452573276dafa0fc85bd4e9e817.jpeg", "height": 22, "width": 32 }, "large": { - "download": "@@images/preview_image-800-47e6e891885824b069ec83c5f6f150c1.jpeg", + "download": "@@images/preview_image-800-59044c65fac8ab2a742982c814a913f8.jpeg", "height": 569, "width": 800 }, "larger": { - "download": "@@images/preview_image-1000-58a59da2fa2462d55ffde1c8a22b9484.jpeg", + "download": "@@images/preview_image-1000-6bd7c3acae26db5406a51a65b18d9238.jpeg", "height": 711, "width": 1000 }, "mini": { - "download": "@@images/preview_image-200-d5d1af2fd7a1564f2e42202ffd7580ff.jpeg", + "download": "@@images/preview_image-200-552c19b08b6e9107a79e9eb8bfe6b1c8.jpeg", "height": 142, "width": 200 }, "preview": { - "download": "@@images/preview_image-400-df5900dc6306decab406e886c5450b9c.jpeg", + "download": "@@images/preview_image-400-4ac2a1359143958fc1988f9baf01c02a.jpeg", "height": 284, "width": 400 }, "teaser": { - "download": "@@images/preview_image-600-b7063aba47db2d1341ec49e0b4a5f4d4.jpeg", + "download": "@@images/preview_image-600-317776dde8651d2303833c8400c7271a.jpeg", "height": 427, "width": 600 }, "thumb": { - "download": "@@images/preview_image-128-f10cae4e649f76ce72422b2857fbe35c.jpeg", + "download": "@@images/preview_image-128-da18a689a95079ad8beb760c7efcf2b0.jpeg", "height": 91, "width": 128 }, "tile": { - "download": "@@images/preview_image-64-60ec5acfd40ba82e370a805a6a00f77f.jpeg", + "download": "@@images/preview_image-64-0643112f5cccc885a32e5b522944d0c6.jpeg", "height": 45, "width": 64 } @@ -695,4 +697,4 @@ }, "working_copy": null, "working_copy_of": null -} \ No newline at end of file +} diff --git a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/c40a2be214b645338a7ef2e711e2f5c6/data.json b/backend/src/plone6/demo/distributions/voltodemo/content/content/c40a2be214b645338a7ef2e711e2f5c6/data.json similarity index 98% rename from backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/c40a2be214b645338a7ef2e711e2f5c6/data.json rename to backend/src/plone6/demo/distributions/voltodemo/content/content/c40a2be214b645338a7ef2e711e2f5c6/data.json index 4ac1df9..ce9a4a3 100644 --- a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/c40a2be214b645338a7ef2e711e2f5c6/data.json +++ b/backend/src/plone6/demo/distributions/voltodemo/content/content/c40a2be214b645338a7ef2e711e2f5c6/data.json @@ -55,7 +55,7 @@ "locked": false, "stealable": true }, - "modified": "2024-05-16T20:51:15+00:00", + "modified": "2024-11-09T08:10:11+00:00", "parent": { "@id": "/", "@type": "Plone Site", @@ -92,4 +92,4 @@ }, "working_copy": null, "working_copy_of": null -} \ No newline at end of file +} diff --git a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/c8531174ccd54e39a284a347e9cece83/data.json b/backend/src/plone6/demo/distributions/voltodemo/content/content/c8531174ccd54e39a284a347e9cece83/data.json similarity index 99% rename from backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/c8531174ccd54e39a284a347e9cece83/data.json rename to backend/src/plone6/demo/distributions/voltodemo/content/content/c8531174ccd54e39a284a347e9cece83/data.json index cc4bf0b..7d455c7 100644 --- a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/c8531174ccd54e39a284a347e9cece83/data.json +++ b/backend/src/plone6/demo/distributions/voltodemo/content/content/c8531174ccd54e39a284a347e9cece83/data.json @@ -607,12 +607,14 @@ "locked": false, "stealable": true }, - "modified": "2024-03-09T09:33:49+00:00", + "modified": "2024-11-09T08:10:12+00:00", "parent": { "@id": "/vertical-spacing", "@type": "Document", + "Subject": [], "UID": "c40a2be214b645338a7ef2e711e2f5c6", "description": "", + "effective": "2023-07-06T16:35:00+00:00", "image_field": null, "image_scales": {}, "review_state": "published", @@ -647,4 +649,4 @@ }, "working_copy": null, "working_copy_of": null -} \ No newline at end of file +} diff --git a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/cffd9eef5c154c04891af9ef9185ed8c/data.json b/backend/src/plone6/demo/distributions/voltodemo/content/content/cffd9eef5c154c04891af9ef9185ed8c/data.json similarity index 99% rename from backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/cffd9eef5c154c04891af9ef9185ed8c/data.json rename to backend/src/plone6/demo/distributions/voltodemo/content/content/cffd9eef5c154c04891af9ef9185ed8c/data.json index 6ce1507..cc3f47f 100644 --- a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/cffd9eef5c154c04891af9ef9185ed8c/data.json +++ b/backend/src/plone6/demo/distributions/voltodemo/content/content/cffd9eef5c154c04891af9ef9185ed8c/data.json @@ -225,8 +225,10 @@ "parent": { "@id": "/vertical-spacing", "@type": "Document", + "Subject": [], "UID": "c40a2be214b645338a7ef2e711e2f5c6", "description": "", + "effective": "2023-07-06T16:35:00+00:00", "image_field": null, "image_scales": {}, "review_state": "published", @@ -261,4 +263,4 @@ }, "working_copy": null, "working_copy_of": null -} \ No newline at end of file +} diff --git a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/d2ce9e4549e54ea8978cf521bb997ad4/data.json b/backend/src/plone6/demo/distributions/voltodemo/content/content/d2ce9e4549e54ea8978cf521bb997ad4/data.json similarity index 99% rename from backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/d2ce9e4549e54ea8978cf521bb997ad4/data.json rename to backend/src/plone6/demo/distributions/voltodemo/content/content/d2ce9e4549e54ea8978cf521bb997ad4/data.json index 7c566a8..9e9296f 100644 --- a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/d2ce9e4549e54ea8978cf521bb997ad4/data.json +++ b/backend/src/plone6/demo/distributions/voltodemo/content/content/d2ce9e4549e54ea8978cf521bb997ad4/data.json @@ -648,12 +648,14 @@ "locked": false, "stealable": true }, - "modified": "2024-03-09T09:50:41+00:00", + "modified": "2024-11-09T08:10:12+00:00", "parent": { "@id": "/vertical-spacing", "@type": "Document", + "Subject": [], "UID": "c40a2be214b645338a7ef2e711e2f5c6", "description": "", + "effective": "2023-07-06T16:35:00+00:00", "image_field": null, "image_scales": {}, "review_state": "published", @@ -688,4 +690,4 @@ }, "working_copy": null, "working_copy_of": null -} \ No newline at end of file +} diff --git a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/d7c7e8ed1ffb4b2fa20525f4f434ba27/data.json b/backend/src/plone6/demo/distributions/voltodemo/content/content/d7c7e8ed1ffb4b2fa20525f4f434ba27/data.json similarity index 99% rename from backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/d7c7e8ed1ffb4b2fa20525f4f434ba27/data.json rename to backend/src/plone6/demo/distributions/voltodemo/content/content/d7c7e8ed1ffb4b2fa20525f4f434ba27/data.json index b776ad2..3769907 100644 --- a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/d7c7e8ed1ffb4b2fa20525f4f434ba27/data.json +++ b/backend/src/plone6/demo/distributions/voltodemo/content/content/d7c7e8ed1ffb4b2fa20525f4f434ba27/data.json @@ -343,12 +343,14 @@ "locked": false, "stealable": true }, - "modified": "2024-03-09T09:16:38+00:00", + "modified": "2024-11-09T08:10:12+00:00", "parent": { "@id": "/vertical-spacing", "@type": "Document", + "Subject": [], "UID": "c40a2be214b645338a7ef2e711e2f5c6", "description": "", + "effective": "2023-07-06T16:35:00+00:00", "image_field": null, "image_scales": {}, "review_state": "published", @@ -383,4 +385,4 @@ }, "working_copy": null, "working_copy_of": null -} \ No newline at end of file +} diff --git a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/e017bd4a0b3845aab26f6d855cc4ef14/data.json b/backend/src/plone6/demo/distributions/voltodemo/content/content/e017bd4a0b3845aab26f6d855cc4ef14/data.json similarity index 99% rename from backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/e017bd4a0b3845aab26f6d855cc4ef14/data.json rename to backend/src/plone6/demo/distributions/voltodemo/content/content/e017bd4a0b3845aab26f6d855cc4ef14/data.json index 2078297..f7c61fd 100644 --- a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/e017bd4a0b3845aab26f6d855cc4ef14/data.json +++ b/backend/src/plone6/demo/distributions/voltodemo/content/content/e017bd4a0b3845aab26f6d855cc4ef14/data.json @@ -276,8 +276,10 @@ "parent": { "@id": "/vertical-spacing", "@type": "Document", + "Subject": [], "UID": "c40a2be214b645338a7ef2e711e2f5c6", "description": "", + "effective": "2023-07-06T16:35:00+00:00", "image_field": null, "image_scales": {}, "review_state": "published", @@ -312,4 +314,4 @@ }, "working_copy": null, "working_copy_of": null -} \ No newline at end of file +} diff --git a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/e090d954d0a448bca81c1a646e673a12/data.json b/backend/src/plone6/demo/distributions/voltodemo/content/content/e090d954d0a448bca81c1a646e673a12/data.json similarity index 99% rename from backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/e090d954d0a448bca81c1a646e673a12/data.json rename to backend/src/plone6/demo/distributions/voltodemo/content/content/e090d954d0a448bca81c1a646e673a12/data.json index 990ebae..d174480 100644 --- a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/e090d954d0a448bca81c1a646e673a12/data.json +++ b/backend/src/plone6/demo/distributions/voltodemo/content/content/e090d954d0a448bca81c1a646e673a12/data.json @@ -191,8 +191,12 @@ "parent": { "@id": "/block", "@type": "Document", + "Subject": [ + "main folder" + ], "UID": "425695d2b7cb47e69374d6f211f17e38", "description": "", + "effective": "2023-09-22T14:09:00+00:00", "image_field": null, "image_scales": {}, "review_state": "published", @@ -227,4 +231,4 @@ }, "working_copy": null, "working_copy_of": null -} \ No newline at end of file +} diff --git a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/e8178744e30a418b9a5768997bb29a19/data.json b/backend/src/plone6/demo/distributions/voltodemo/content/content/e8178744e30a418b9a5768997bb29a19/data.json similarity index 98% rename from backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/e8178744e30a418b9a5768997bb29a19/data.json rename to backend/src/plone6/demo/distributions/voltodemo/content/content/e8178744e30a418b9a5768997bb29a19/data.json index d6129f3..c103d5f 100644 --- a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/e8178744e30a418b9a5768997bb29a19/data.json +++ b/backend/src/plone6/demo/distributions/voltodemo/content/content/e8178744e30a418b9a5768997bb29a19/data.json @@ -56,7 +56,7 @@ "locked": false, "stealable": true }, - "modified": "2024-05-16T20:51:15+00:00", + "modified": "2024-11-09T08:10:12+00:00", "parent": { "@id": "/", "@type": "Plone Site", @@ -95,4 +95,4 @@ }, "working_copy": null, "working_copy_of": null -} \ No newline at end of file +} diff --git a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/eec82559bf3242a6be4d43bc2096f399/data.json b/backend/src/plone6/demo/distributions/voltodemo/content/content/eec82559bf3242a6be4d43bc2096f399/data.json similarity index 93% rename from backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/eec82559bf3242a6be4d43bc2096f399/data.json rename to backend/src/plone6/demo/distributions/voltodemo/content/content/eec82559bf3242a6be4d43bc2096f399/data.json index 5ca5469..809e530 100644 --- a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/eec82559bf3242a6be4d43bc2096f399/data.json +++ b/backend/src/plone6/demo/distributions/voltodemo/content/content/eec82559bf3242a6be4d43bc2096f399/data.json @@ -28,12 +28,16 @@ "language": "##DEFAULT##", "layout": "image_view", "lock": {}, - "modified": "2024-03-08T14:26:45+00:00", + "modified": "2024-11-09T08:10:12+00:00", "parent": { "@id": "/content-types", "@type": "Document", + "Subject": [ + "main folder" + ], "UID": "e8178744e30a418b9a5768997bb29a19", "description": "This section has a sample of content types available in this site.", + "effective": "2023-09-22T14:09:00+00:00", "image_field": null, "image_scales": {}, "review_state": "published", @@ -59,4 +63,4 @@ }, "working_copy": null, "working_copy_of": null -} \ No newline at end of file +} diff --git a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/eec82559bf3242a6be4d43bc2096f399/image/image-light.jpg b/backend/src/plone6/demo/distributions/voltodemo/content/content/eec82559bf3242a6be4d43bc2096f399/image/image-light.jpg similarity index 100% rename from backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/eec82559bf3242a6be4d43bc2096f399/image/image-light.jpg rename to backend/src/plone6/demo/distributions/voltodemo/content/content/eec82559bf3242a6be4d43bc2096f399/image/image-light.jpg diff --git a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/f0018ecb26ac442aa1f03482a09c8b81/data.json b/backend/src/plone6/demo/distributions/voltodemo/content/content/f0018ecb26ac442aa1f03482a09c8b81/data.json similarity index 99% rename from backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/f0018ecb26ac442aa1f03482a09c8b81/data.json rename to backend/src/plone6/demo/distributions/voltodemo/content/content/f0018ecb26ac442aa1f03482a09c8b81/data.json index b8dacc1..8c25e6d 100644 --- a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/f0018ecb26ac442aa1f03482a09c8b81/data.json +++ b/backend/src/plone6/demo/distributions/voltodemo/content/content/f0018ecb26ac442aa1f03482a09c8b81/data.json @@ -341,12 +341,14 @@ "locked": false, "stealable": true }, - "modified": "2024-03-09T09:50:15+00:00", + "modified": "2024-11-09T08:10:12+00:00", "parent": { "@id": "/vertical-spacing", "@type": "Document", + "Subject": [], "UID": "c40a2be214b645338a7ef2e711e2f5c6", "description": "", + "effective": "2023-07-06T16:35:00+00:00", "image_field": null, "image_scales": {}, "review_state": "published", @@ -381,4 +383,4 @@ }, "working_copy": null, "working_copy_of": null -} \ No newline at end of file +} diff --git a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/f51777793dab4a61982e35dfa71d0575/data.json b/backend/src/plone6/demo/distributions/voltodemo/content/content/f51777793dab4a61982e35dfa71d0575/data.json similarity index 98% rename from backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/f51777793dab4a61982e35dfa71d0575/data.json rename to backend/src/plone6/demo/distributions/voltodemo/content/content/f51777793dab4a61982e35dfa71d0575/data.json index fffcdad..e0bf484 100644 --- a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/f51777793dab4a61982e35dfa71d0575/data.json +++ b/backend/src/plone6/demo/distributions/voltodemo/content/content/f51777793dab4a61982e35dfa71d0575/data.json @@ -182,8 +182,10 @@ "parent": { "@id": "/vertical-spacing", "@type": "Document", + "Subject": [], "UID": "c40a2be214b645338a7ef2e711e2f5c6", "description": "", + "effective": "2023-07-06T16:35:00+00:00", "image_field": null, "image_scales": {}, "review_state": "published", @@ -218,4 +220,4 @@ }, "working_copy": null, "working_copy_of": null -} \ No newline at end of file +} diff --git a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/f8cd4a2d8d7c4703b4e41d2093b21aed/data.json b/backend/src/plone6/demo/distributions/voltodemo/content/content/f8cd4a2d8d7c4703b4e41d2093b21aed/data.json similarity index 99% rename from backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/f8cd4a2d8d7c4703b4e41d2093b21aed/data.json rename to backend/src/plone6/demo/distributions/voltodemo/content/content/f8cd4a2d8d7c4703b4e41d2093b21aed/data.json index 2b9fc87..3ebc8d4 100644 --- a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/f8cd4a2d8d7c4703b4e41d2093b21aed/data.json +++ b/backend/src/plone6/demo/distributions/voltodemo/content/content/f8cd4a2d8d7c4703b4e41d2093b21aed/data.json @@ -2289,8 +2289,12 @@ "parent": { "@id": "/block", "@type": "Document", + "Subject": [ + "main folder" + ], "UID": "425695d2b7cb47e69374d6f211f17e38", "description": "", + "effective": "2023-09-22T14:09:00+00:00", "image_field": null, "image_scales": {}, "review_state": "published", @@ -2325,4 +2329,4 @@ }, "working_copy": null, "working_copy_of": null -} \ No newline at end of file +} diff --git a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/fb086a3d1d3d4a9ebf9bc864d2172e79/data.json b/backend/src/plone6/demo/distributions/voltodemo/content/content/fb086a3d1d3d4a9ebf9bc864d2172e79/data.json similarity index 96% rename from backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/fb086a3d1d3d4a9ebf9bc864d2172e79/data.json rename to backend/src/plone6/demo/distributions/voltodemo/content/content/fb086a3d1d3d4a9ebf9bc864d2172e79/data.json index 95d2eff..58d8c80 100644 --- a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/fb086a3d1d3d4a9ebf9bc864d2172e79/data.json +++ b/backend/src/plone6/demo/distributions/voltodemo/content/content/fb086a3d1d3d4a9ebf9bc864d2172e79/data.json @@ -603,64 +603,66 @@ "parent": { "@id": "/block/grid-block", "@type": "Document", + "Subject": [], "UID": "99c70917b6894af08dd306fdbc0eff6a", "description": " The Grid block allows adding multi-column blocks. A grid block can contain between one and four columns of different blocks. Teasers and images can be added in a grid block.", + "effective": "2023-07-06T16:35:00+00:00", "image_field": null, "image_scales": { "preview_image": [ { "content-type": "image/jpeg", - "download": "@@images/preview_image-2400-522982bed6211f41c5cf552bb9683bea.jpeg", + "download": "@@images/preview_image-2400-e02604f44782ea59c28b4ce2af913705.jpeg", "filename": "black-starry-night.jpg", "height": 1708, "scales": { "great": { - "download": "@@images/preview_image-1200-7097252fc733b86987eae23422f8631d.jpeg", + "download": "@@images/preview_image-1200-bba2517cfc9e4dfee2c63658ae9e7959.jpeg", "height": 854, "width": 1200 }, "huge": { - "download": "@@images/preview_image-1600-60565502bbc38c817611b2f6b8d77ebc.jpeg", + "download": "@@images/preview_image-1600-b5fcf8c236b37509469229aa9c47fcad.jpeg", "height": 1138, "width": 1600 }, "icon": { - "download": "@@images/preview_image-32-010efe4f10d3d610dd8d96c5c7282454.jpeg", + "download": "@@images/preview_image-32-3d1b5452573276dafa0fc85bd4e9e817.jpeg", "height": 22, "width": 32 }, "large": { - "download": "@@images/preview_image-800-47e6e891885824b069ec83c5f6f150c1.jpeg", + "download": "@@images/preview_image-800-59044c65fac8ab2a742982c814a913f8.jpeg", "height": 569, "width": 800 }, "larger": { - "download": "@@images/preview_image-1000-58a59da2fa2462d55ffde1c8a22b9484.jpeg", + "download": "@@images/preview_image-1000-6bd7c3acae26db5406a51a65b18d9238.jpeg", "height": 711, "width": 1000 }, "mini": { - "download": "@@images/preview_image-200-d5d1af2fd7a1564f2e42202ffd7580ff.jpeg", + "download": "@@images/preview_image-200-552c19b08b6e9107a79e9eb8bfe6b1c8.jpeg", "height": 142, "width": 200 }, "preview": { - "download": "@@images/preview_image-400-df5900dc6306decab406e886c5450b9c.jpeg", + "download": "@@images/preview_image-400-4ac2a1359143958fc1988f9baf01c02a.jpeg", "height": 284, "width": 400 }, "teaser": { - "download": "@@images/preview_image-600-b7063aba47db2d1341ec49e0b4a5f4d4.jpeg", + "download": "@@images/preview_image-600-317776dde8651d2303833c8400c7271a.jpeg", "height": 427, "width": 600 }, "thumb": { - "download": "@@images/preview_image-128-f10cae4e649f76ce72422b2857fbe35c.jpeg", + "download": "@@images/preview_image-128-da18a689a95079ad8beb760c7efcf2b0.jpeg", "height": 91, "width": 128 }, "tile": { - "download": "@@images/preview_image-64-60ec5acfd40ba82e370a805a6a00f77f.jpeg", + "download": "@@images/preview_image-64-0643112f5cccc885a32e5b522944d0c6.jpeg", "height": 45, "width": 64 } @@ -702,4 +704,4 @@ }, "working_copy": null, "working_copy_of": null -} \ No newline at end of file +} diff --git a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/plone_site_root/data.json b/backend/src/plone6/demo/distributions/voltodemo/content/content/plone_site_root/data.json similarity index 99% rename from backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/plone_site_root/data.json rename to backend/src/plone6/demo/distributions/voltodemo/content/content/plone_site_root/data.json index 15f301d..e2e19a1 100644 --- a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/content/plone_site_root/data.json +++ b/backend/src/plone6/demo/distributions/voltodemo/content/content/plone_site_root/data.json @@ -870,4 +870,4 @@ "title": "Welcome to Plone 6", "type_title": "Plone Site", "workflow_history": {} -} \ No newline at end of file +} diff --git a/backend/src/plone6/demo/distributions/voltodemo/content/discussions.json b/backend/src/plone6/demo/distributions/voltodemo/content/discussions.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/backend/src/plone6/demo/distributions/voltodemo/content/discussions.json @@ -0,0 +1 @@ +{} diff --git a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/portlets.json b/backend/src/plone6/demo/distributions/voltodemo/content/portlets.json similarity index 99% rename from backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/portlets.json rename to backend/src/plone6/demo/distributions/voltodemo/content/portlets.json index 502f5f2..d9df1dc 100644 --- a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/portlets.json +++ b/backend/src/plone6/demo/distributions/voltodemo/content/portlets.json @@ -64,4 +64,4 @@ ] } } -] \ No newline at end of file +] diff --git a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/principals.json b/backend/src/plone6/demo/distributions/voltodemo/content/principals.json similarity index 99% rename from backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/principals.json rename to backend/src/plone6/demo/distributions/voltodemo/content/principals.json index 96b5eb0..1cd68ad 100644 --- a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/principals.json +++ b/backend/src/plone6/demo/distributions/voltodemo/content/principals.json @@ -35,4 +35,4 @@ } ], "members": [] -} \ No newline at end of file +} diff --git a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/redirects.json b/backend/src/plone6/demo/distributions/voltodemo/content/redirects.json similarity index 99% rename from backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/redirects.json rename to backend/src/plone6/demo/distributions/voltodemo/content/redirects.json index 7102329..d19510f 100644 --- a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/redirects.json +++ b/backend/src/plone6/demo/distributions/voltodemo/content/redirects.json @@ -12,4 +12,4 @@ "/Plone/images/testimage.jpg": "/Plone/images/penguin1.jpg", "/Plone/testimage.jpg": "/Plone/images/penguin1.jpg", "/Plone/typography": "/Plone/content-types/typography" -} \ No newline at end of file +} diff --git a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/relations.json b/backend/src/plone6/demo/distributions/voltodemo/content/relations.json similarity index 99% rename from backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/relations.json rename to backend/src/plone6/demo/distributions/voltodemo/content/relations.json index e96bd68..c3849c9 100644 --- a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/relations.json +++ b/backend/src/plone6/demo/distributions/voltodemo/content/relations.json @@ -1,4 +1,9 @@ [ + { + "from_attribute": "isReferencing", + "from_uuid": "1efc7b73b28e4edeaf40040709299d69", + "to_uuid": "7ab9c48ede33415fa2a66a99549c8f70" + }, { "from_attribute": "isReferencing", "from_uuid": "3906609d0456404ca7146f6aa1f12f32", @@ -6,37 +11,37 @@ }, { "from_attribute": "isReferencing", - "from_uuid": "8cc3e9af77c0452aa2278b0bfdcf9c85", - "to_uuid": "405582582e70493c96a6c549444a1eaa" + "from_uuid": "49d22a94521c4883a1bb448ac7863cdd", + "to_uuid": "e8178744e30a418b9a5768997bb29a19" }, { "from_attribute": "isReferencing", - "from_uuid": "7ab9c48ede33415fa2a66a99549c8f70", - "to_uuid": "405582582e70493c96a6c549444a1eaa" + "from_uuid": "6a82ae8d8a434e019b404f4387fe1a42", + "to_uuid": "970ec24c76784c66a06d8c8d8b6522b2" }, { "from_attribute": "isReferencing", - "from_uuid": "49d22a94521c4883a1bb448ac7863cdd", - "to_uuid": "e8178744e30a418b9a5768997bb29a19" + "from_uuid": "6a82ae8d8a434e019b404f4387fe1a42", + "to_uuid": "eec82559bf3242a6be4d43bc2096f399" }, { "from_attribute": "isReferencing", - "from_uuid": "f0018ecb26ac442aa1f03482a09c8b81", - "to_uuid": "7ab9c48ede33415fa2a66a99549c8f70" + "from_uuid": "7ab9c48ede33415fa2a66a99549c8f70", + "to_uuid": "405582582e70493c96a6c549444a1eaa" }, { "from_attribute": "isReferencing", - "from_uuid": "c8531174ccd54e39a284a347e9cece83", - "to_uuid": "7ab9c48ede33415fa2a66a99549c8f70" + "from_uuid": "8cc3e9af77c0452aa2278b0bfdcf9c85", + "to_uuid": "405582582e70493c96a6c549444a1eaa" }, { "from_attribute": "isReferencing", - "from_uuid": "d2ce9e4549e54ea8978cf521bb997ad4", + "from_uuid": "c8531174ccd54e39a284a347e9cece83", "to_uuid": "7ab9c48ede33415fa2a66a99549c8f70" }, { "from_attribute": "isReferencing", - "from_uuid": "d7c7e8ed1ffb4b2fa20525f4f434ba27", + "from_uuid": "d2ce9e4549e54ea8978cf521bb997ad4", "to_uuid": "7ab9c48ede33415fa2a66a99549c8f70" }, { @@ -51,17 +56,12 @@ }, { "from_attribute": "isReferencing", - "from_uuid": "6a82ae8d8a434e019b404f4387fe1a42", - "to_uuid": "970ec24c76784c66a06d8c8d8b6522b2" - }, - { - "from_attribute": "isReferencing", - "from_uuid": "6a82ae8d8a434e019b404f4387fe1a42", - "to_uuid": "eec82559bf3242a6be4d43bc2096f399" + "from_uuid": "d7c7e8ed1ffb4b2fa20525f4f434ba27", + "to_uuid": "7ab9c48ede33415fa2a66a99549c8f70" }, { "from_attribute": "isReferencing", - "from_uuid": "1efc7b73b28e4edeaf40040709299d69", + "from_uuid": "f0018ecb26ac442aa1f03482a09c8b81", "to_uuid": "7ab9c48ede33415fa2a66a99549c8f70" } -] \ No newline at end of file +] diff --git a/backend/src/plone6/demo/distributions/voltodemo/content/translations.json b/backend/src/plone6/demo/distributions/voltodemo/content/translations.json new file mode 100644 index 0000000..fe51488 --- /dev/null +++ b/backend/src/plone6/demo/distributions/voltodemo/content/translations.json @@ -0,0 +1 @@ +[] diff --git a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/image.png b/backend/src/plone6/demo/distributions/voltodemo/image.png similarity index 100% rename from backend/src/plone6demo/src/plone6demo/distributions/voltodemo/image.png rename to backend/src/plone6/demo/distributions/voltodemo/image.png diff --git a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/profiles.json b/backend/src/plone6/demo/distributions/voltodemo/profiles.json similarity index 87% rename from backend/src/plone6demo/src/plone6demo/distributions/voltodemo/profiles.json rename to backend/src/plone6/demo/distributions/voltodemo/profiles.json index d0f5409..78e3cab 100644 --- a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/profiles.json +++ b/backend/src/plone6/demo/distributions/voltodemo/profiles.json @@ -5,6 +5,6 @@ "plonetheme.barceloneta:default", "collective.volto.formsupport:default", "plone.volto:default", - "plone6demo:default" + "plone6.demo:default" ] -} \ No newline at end of file +} diff --git a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/schema.json b/backend/src/plone6/demo/distributions/voltodemo/schema.json similarity index 100% rename from backend/src/plone6demo/src/plone6demo/distributions/voltodemo/schema.json rename to backend/src/plone6/demo/distributions/voltodemo/schema.json diff --git a/backend-volto/src/plone6demo/src/plone6demo/upgrades/__init__.py b/backend/src/plone6/demo/indexers/__init__.py similarity index 100% rename from backend-volto/src/plone6demo/src/plone6demo/upgrades/__init__.py rename to backend/src/plone6/demo/indexers/__init__.py diff --git a/backend-volto/src/plone6demo/src/plone6demo/subscribers/configure.zcml b/backend/src/plone6/demo/indexers/configure.zcml similarity index 68% rename from backend-volto/src/plone6demo/src/plone6demo/subscribers/configure.zcml rename to backend/src/plone6/demo/indexers/configure.zcml index fb8b793..bad8247 100644 --- a/backend-volto/src/plone6demo/src/plone6demo/subscribers/configure.zcml +++ b/backend/src/plone6/demo/indexers/configure.zcml @@ -1,3 +1,5 @@ + + diff --git a/backend/src/plone6demo/src/plone6demo/interfaces.py b/backend/src/plone6/demo/interfaces.py similarity index 80% rename from backend/src/plone6demo/src/plone6demo/interfaces.py rename to backend/src/plone6/demo/interfaces.py index e7fc726..7e2f288 100644 --- a/backend/src/plone6demo/src/plone6demo/interfaces.py +++ b/backend/src/plone6/demo/interfaces.py @@ -3,5 +3,5 @@ from zope.publisher.interfaces.browser import IDefaultBrowserLayer -class IPLONE6DEMOLayer(IDefaultBrowserLayer): +class IBrowserLayer(IDefaultBrowserLayer): """Marker interface that defines a browser layer.""" diff --git a/backend/src/plone6demo/src/plone6demo/behaviors/__init__.py b/backend/src/plone6/demo/locales/__init__.py similarity index 100% rename from backend/src/plone6demo/src/plone6demo/behaviors/__init__.py rename to backend/src/plone6/demo/locales/__init__.py diff --git a/backend/src/plone6/demo/locales/en/LC_MESSAGES/plone6.demo.mo b/backend/src/plone6/demo/locales/en/LC_MESSAGES/plone6.demo.mo new file mode 100644 index 0000000..869aca2 Binary files /dev/null and b/backend/src/plone6/demo/locales/en/LC_MESSAGES/plone6.demo.mo differ diff --git a/backend/src/plone6demo/src/plone6demo/locales/en/LC_MESSAGES/plone_6_demo_site.po b/backend/src/plone6/demo/locales/en/LC_MESSAGES/plone6.demo.po similarity index 100% rename from backend/src/plone6demo/src/plone6demo/locales/en/LC_MESSAGES/plone_6_demo_site.po rename to backend/src/plone6/demo/locales/en/LC_MESSAGES/plone6.demo.po diff --git a/backend/src/plone6demo/src/plone6demo/locales/plone_6_demo_site.pot b/backend/src/plone6/demo/locales/plone6.demo.pot similarity index 95% rename from backend/src/plone6demo/src/plone6demo/locales/plone_6_demo_site.pot rename to backend/src/plone6/demo/locales/plone6.demo.pot index e8d9c0b..2d3d7e9 100644 --- a/backend/src/plone6demo/src/plone6demo/locales/plone_6_demo_site.pot +++ b/backend/src/plone6/demo/locales/plone6.demo.pot @@ -15,4 +15,4 @@ msgstr "" "Language-Code: en\n" "Language-Name: English\n" "Preferred-Encodings: utf-8 latin1\n" -"Domain: plone6demo\n" +"Domain: plone6.demo\n" diff --git a/backend-volto/src/plone6demo/src/plone6demo/locales/update.py b/backend/src/plone6/demo/locales/update.py similarity index 98% rename from backend-volto/src/plone6demo/src/plone6demo/locales/update.py rename to backend/src/plone6/demo/locales/update.py index a9c2e54..155a568 100644 --- a/backend-volto/src/plone6demo/src/plone6demo/locales/update.py +++ b/backend/src/plone6/demo/locales/update.py @@ -1,4 +1,5 @@ """Update locales.""" + from pathlib import Path import logging @@ -11,7 +12,7 @@ PATTERN = r"^[a-z]{2}.*" -domains = ("plone6demo",) +domains = ("plone6.demo",) cwd = Path.cwd() target_path = Path(__file__).parent.parent.resolve() locale_path = target_path / "locales" diff --git a/backend/src/plone6demo/src/plone6demo/profiles.zcml b/backend/src/plone6/demo/profiles.zcml similarity index 74% rename from backend/src/plone6demo/src/plone6demo/profiles.zcml rename to backend/src/plone6/demo/profiles.zcml index cf3a6b8..70894d5 100644 --- a/backend/src/plone6demo/src/plone6demo/profiles.zcml +++ b/backend/src/plone6/demo/profiles.zcml @@ -1,13 +1,13 @@ @@ -20,6 +20,13 @@ directory="profiles/uninstall" /> + + + + diff --git a/backend-volto/src/plone6demo/src/plone6demo/profiles/default/actions.xml b/backend/src/plone6/demo/profiles/default/actions.xml similarity index 100% rename from backend-volto/src/plone6demo/src/plone6demo/profiles/default/actions.xml rename to backend/src/plone6/demo/profiles/default/actions.xml diff --git a/backend/src/plone6/demo/profiles/default/browserlayer.xml b/backend/src/plone6/demo/profiles/default/browserlayer.xml new file mode 100644 index 0000000..fb102ff --- /dev/null +++ b/backend/src/plone6/demo/profiles/default/browserlayer.xml @@ -0,0 +1,6 @@ + + + + diff --git a/backend/src/plone6demo/src/plone6demo/profiles/default/catalog.xml b/backend/src/plone6/demo/profiles/default/catalog.xml similarity index 100% rename from backend/src/plone6demo/src/plone6demo/profiles/default/catalog.xml rename to backend/src/plone6/demo/profiles/default/catalog.xml diff --git a/backend/src/plone6/demo/profiles/default/controlpanel.xml b/backend/src/plone6/demo/profiles/default/controlpanel.xml new file mode 100644 index 0000000..a75d00c --- /dev/null +++ b/backend/src/plone6/demo/profiles/default/controlpanel.xml @@ -0,0 +1,4 @@ + + + + diff --git a/backend/src/plone6/demo/profiles/default/diff_tool.xml b/backend/src/plone6/demo/profiles/default/diff_tool.xml new file mode 100644 index 0000000..6a1c5f4 --- /dev/null +++ b/backend/src/plone6/demo/profiles/default/diff_tool.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/backend/src/plone6/demo/profiles/default/metadata.xml b/backend/src/plone6/demo/profiles/default/metadata.xml new file mode 100644 index 0000000..dbcec10 --- /dev/null +++ b/backend/src/plone6/demo/profiles/default/metadata.xml @@ -0,0 +1,9 @@ + + + 1000 + + profile-plone.volto:default + profile-plone.app.caching:default + profile-plone.app.caching:with-caching-proxy + + diff --git a/backend/src/plone6demo/src/plone6demo/browser/static/.gitkeep b/backend/src/plone6/demo/profiles/default/registry/.gitkeep similarity index 100% rename from backend/src/plone6demo/src/plone6demo/browser/static/.gitkeep rename to backend/src/plone6/demo/profiles/default/registry/.gitkeep diff --git a/backend/src/plone6demo/src/plone6demo/profiles/default/registry/plone.base.interfaces.controlpanel.IMailSchema.xml b/backend/src/plone6/demo/profiles/default/registry/plone.base.interfaces.controlpanel.IMailSchema.xml similarity index 100% rename from backend/src/plone6demo/src/plone6demo/profiles/default/registry/plone.base.interfaces.controlpanel.IMailSchema.xml rename to backend/src/plone6/demo/profiles/default/registry/plone.base.interfaces.controlpanel.IMailSchema.xml diff --git a/backend/src/plone6demo/src/plone6demo/profiles/default/registry/plone.base.interfaces.controlpanel.ISiteSchema.xml b/backend/src/plone6/demo/profiles/default/registry/plone.base.interfaces.controlpanel.ISiteSchema.xml similarity index 100% rename from backend/src/plone6demo/src/plone6demo/profiles/default/registry/plone.base.interfaces.controlpanel.ISiteSchema.xml rename to backend/src/plone6/demo/profiles/default/registry/plone.base.interfaces.controlpanel.ISiteSchema.xml diff --git a/backend/src/plone6/demo/profiles/default/registry/plone.cachepurging.interfaces.ICachePurgingSettings.xml b/backend/src/plone6/demo/profiles/default/registry/plone.cachepurging.interfaces.ICachePurgingSettings.xml new file mode 100644 index 0000000..42efc61 --- /dev/null +++ b/backend/src/plone6/demo/profiles/default/registry/plone.cachepurging.interfaces.ICachePurgingSettings.xml @@ -0,0 +1,14 @@ + + + + True + + + + http://purger + + + + False + + diff --git a/backend/src/plone6/demo/profiles/default/registry/plone.caching.interfaces.ICacheSettings.xml b/backend/src/plone6/demo/profiles/default/registry/plone.caching.interfaces.ICacheSettings.xml new file mode 100644 index 0000000..a2d984a --- /dev/null +++ b/backend/src/plone6/demo/profiles/default/registry/plone.caching.interfaces.ICacheSettings.xml @@ -0,0 +1,6 @@ + + + + True + + diff --git a/backend/src/plone6demo/src/plone6demo/profiles/default/registry/plone.i18n.interfaces.ILanguageSchema.xml b/backend/src/plone6/demo/profiles/default/registry/plone.i18n.interfaces.ILanguageSchema.xml similarity index 100% rename from backend/src/plone6demo/src/plone6demo/profiles/default/registry/plone.i18n.interfaces.ILanguageSchema.xml rename to backend/src/plone6/demo/profiles/default/registry/plone.i18n.interfaces.ILanguageSchema.xml diff --git a/backend/src/plone6/demo/profiles/default/repositorytool.xml b/backend/src/plone6/demo/profiles/default/repositorytool.xml new file mode 100644 index 0000000..4f674d6 --- /dev/null +++ b/backend/src/plone6/demo/profiles/default/repositorytool.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/backend/src/plone6/demo/profiles/default/rolemap.xml b/backend/src/plone6/demo/profiles/default/rolemap.xml new file mode 100644 index 0000000..71ca583 --- /dev/null +++ b/backend/src/plone6/demo/profiles/default/rolemap.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/backend/src/plone6demo/src/plone6demo/profiles/default/theme.xml b/backend/src/plone6/demo/profiles/default/theme.xml similarity index 100% rename from backend/src/plone6demo/src/plone6demo/profiles/default/theme.xml rename to backend/src/plone6/demo/profiles/default/theme.xml diff --git a/backend/src/plone6demo/src/plone6demo/profiles/default/types.xml b/backend/src/plone6/demo/profiles/default/types.xml similarity index 100% rename from backend/src/plone6demo/src/plone6demo/profiles/default/types.xml rename to backend/src/plone6/demo/profiles/default/types.xml diff --git a/backend/src/plone6demo/src/plone6demo/profiles/default/types/.gitkeep b/backend/src/plone6/demo/profiles/default/types/.gitkeep similarity index 100% rename from backend/src/plone6demo/src/plone6demo/profiles/default/types/.gitkeep rename to backend/src/plone6/demo/profiles/default/types/.gitkeep diff --git a/backend-volto/src/plone6demo/src/plone6demo/profiles/uninstall/browserlayer.xml b/backend/src/plone6/demo/profiles/uninstall/browserlayer.xml similarity index 75% rename from backend-volto/src/plone6demo/src/plone6demo/profiles/uninstall/browserlayer.xml rename to backend/src/plone6/demo/profiles/uninstall/browserlayer.xml index da03ab1..1bf3fe7 100644 --- a/backend-volto/src/plone6demo/src/plone6demo/profiles/uninstall/browserlayer.xml +++ b/backend/src/plone6/demo/profiles/uninstall/browserlayer.xml @@ -1,6 +1,6 @@ - diff --git a/backend/src/plone6demo/src/plone6demo/browser/__init__.py b/backend/src/plone6/demo/serializers/__init__.py similarity index 100% rename from backend/src/plone6demo/src/plone6demo/browser/__init__.py rename to backend/src/plone6/demo/serializers/__init__.py diff --git a/backend/src/plone6/demo/serializers/configure.zcml b/backend/src/plone6/demo/serializers/configure.zcml new file mode 100644 index 0000000..3f0ed8f --- /dev/null +++ b/backend/src/plone6/demo/serializers/configure.zcml @@ -0,0 +1,10 @@ + + + + + + + diff --git a/backend/src/plone6/demo/serializers/summary.py b/backend/src/plone6/demo/serializers/summary.py new file mode 100644 index 0000000..4e0605f --- /dev/null +++ b/backend/src/plone6/demo/serializers/summary.py @@ -0,0 +1,10 @@ +from plone.restapi.interfaces import IJSONSummarySerializerMetadata +from zope.interface import implementer + + +@implementer(IJSONSummarySerializerMetadata) +class JSONSummarySerializerMetadata: + """Additional metadata to be exposed on listings.""" + + def default_metadata_fields(self): + return {"image_field", "image_scales", "effective", "Subject"} diff --git a/backend/src/plone6demo/src/plone6demo/setuphandlers/__init__.py b/backend/src/plone6/demo/setuphandlers/__init__.py similarity index 80% rename from backend/src/plone6demo/src/plone6demo/setuphandlers/__init__.py rename to backend/src/plone6/demo/setuphandlers/__init__.py index 042d101..1be1c4f 100644 --- a/backend/src/plone6demo/src/plone6demo/setuphandlers/__init__.py +++ b/backend/src/plone6/demo/setuphandlers/__init__.py @@ -3,9 +3,9 @@ @implementer(INonInstallable) -class HiddenProfiles(object): +class HiddenProfiles: def getNonInstallableProfiles(self): """Hide uninstall profile from site-creation and quickinstaller.""" return [ - "plone6demo:uninstall", + "plone6.demo:uninstall", ] diff --git a/backend/src/plone6demo/src/plone6demo/testing.py b/backend/src/plone6/demo/testing.py similarity index 57% rename from backend/src/plone6demo/src/plone6demo/testing.py rename to backend/src/plone6/demo/testing.py index ffe04a3..8607205 100644 --- a/backend/src/plone6demo/src/plone6demo/testing.py +++ b/backend/src/plone6/demo/testing.py @@ -6,11 +6,10 @@ from plone.app.testing import PloneSandboxLayer from plone.testing.zope import WSGI_SERVER_FIXTURE -import plone6demo +import plone6.demo # noQA -class PLONE6DEMOLayer(PloneSandboxLayer): - +class Layer(PloneSandboxLayer): defaultBases = (PLONE_APP_CONTENTTYPES_FIXTURE,) def setUpZope(self, app, configurationContext): @@ -20,33 +19,31 @@ def setUpZope(self, app, configurationContext): import plone.restapi self.loadZCML(package=plone.restapi) - self.loadZCML(package=plone6demo) + self.loadZCML(package=plone6.demo) def setUpPloneSite(self, portal): - applyProfile(portal, "plone6demo:default") - applyProfile(portal, "plone6demo:initial") - + applyProfile(portal, "plone6.demo:default") -PLONE6DEMO_FIXTURE = PLONE6DEMOLayer() +FIXTURE = Layer() -PLONE6DEMO_INTEGRATION_TESTING = IntegrationTesting( - bases=(PLONE6DEMO_FIXTURE,), - name="PLONE6DEMOLayer:IntegrationTesting", +INTEGRATION_TESTING = IntegrationTesting( + bases=(FIXTURE,), + name="Plone6.DemoLayer:IntegrationTesting", ) -PLONE6DEMO_FUNCTIONAL_TESTING = FunctionalTesting( - bases=(PLONE6DEMO_FIXTURE, WSGI_SERVER_FIXTURE), - name="PLONE6DEMOLayer:FunctionalTesting", +FUNCTIONAL_TESTING = FunctionalTesting( + bases=(FIXTURE, WSGI_SERVER_FIXTURE), + name="Plone6.DemoLayer:FunctionalTesting", ) -PLONE6DEMOACCEPTANCE_TESTING = FunctionalTesting( +ACCEPTANCE_TESTING = FunctionalTesting( bases=( - PLONE6DEMO_FIXTURE, + FIXTURE, REMOTE_LIBRARY_BUNDLE_FIXTURE, WSGI_SERVER_FIXTURE, ), - name="PLONE6DEMOLayer:AcceptanceTesting", + name="Plone6.DemoLayer:AcceptanceTesting", ) diff --git a/backend/src/plone6demo/src/plone6demo/content/__init__.py b/backend/src/plone6/demo/upgrades/__init__.py similarity index 100% rename from backend/src/plone6demo/src/plone6demo/content/__init__.py rename to backend/src/plone6/demo/upgrades/__init__.py diff --git a/backend/src/plone6demo/src/plone6demo/upgrades/configure.zcml b/backend/src/plone6/demo/upgrades/configure.zcml similarity index 79% rename from backend/src/plone6demo/src/plone6demo/upgrades/configure.zcml rename to backend/src/plone6/demo/upgrades/configure.zcml index 14cf32d..a999ef6 100644 --- a/backend/src/plone6demo/src/plone6demo/upgrades/configure.zcml +++ b/backend/src/plone6/demo/upgrades/configure.zcml @@ -5,9 +5,9 @@ diff --git a/backend/src/plone6demo/CHANGES.md b/backend/src/plone6demo/CHANGES.md deleted file mode 100644 index 658f5a9..0000000 --- a/backend/src/plone6demo/CHANGES.md +++ /dev/null @@ -1,6 +0,0 @@ -# Changelog - - -## 1.0a1 (unreleased) - -- Initial version. [collective] diff --git a/backend/src/plone6demo/CONTRIBUTORS.md b/backend/src/plone6demo/CONTRIBUTORS.md deleted file mode 100644 index 89b26f2..0000000 --- a/backend/src/plone6demo/CONTRIBUTORS.md +++ /dev/null @@ -1,3 +0,0 @@ -# Contributors - -- collective [collective@plone.org] diff --git a/backend/src/plone6demo/MANIFEST.in b/backend/src/plone6demo/MANIFEST.in deleted file mode 100644 index 7055134..0000000 --- a/backend/src/plone6demo/MANIFEST.in +++ /dev/null @@ -1,6 +0,0 @@ -graft src/plone6demo -graft docs -include *.rst -include *.md -include *.cfg -global-exclude *.pyc diff --git a/backend/src/plone6demo/README.md b/backend/src/plone6demo/README.md deleted file mode 100644 index a9fba29..0000000 --- a/backend/src/plone6demo/README.md +++ /dev/null @@ -1,36 +0,0 @@ -# plone6demo - -A new project using Plone 6. - -## Features - -### Content Types - -- TBD - -### Initial content - -This package contains a simple volto configuration. - -Installation ------------- - -Install plone6demo with `pip`: - -```shell -pip install plone6demo -``` -And to create the Plone site: - -```shell -make create_site -``` - -## Contribute - -- [Issue Tracker](https://github.com/collective/plone-6-demo-site/issues) -- [Source Code](https://github.com/collective/plone-6-demo-site/) - -## License - -The project is licensed under the GPLv2. diff --git a/backend/src/plone6demo/setup.cfg b/backend/src/plone6demo/setup.cfg deleted file mode 100644 index 5324128..0000000 --- a/backend/src/plone6demo/setup.cfg +++ /dev/null @@ -1,6 +0,0 @@ -[check-manifest] -ignore = - *.cfg - .coveragerc - .editorconfig - .gitattributes diff --git a/backend/src/plone6demo/src/plone6demo/__init__.py b/backend/src/plone6demo/src/plone6demo/__init__.py deleted file mode 100644 index d86bf65..0000000 --- a/backend/src/plone6demo/src/plone6demo/__init__.py +++ /dev/null @@ -1,9 +0,0 @@ -"""Init and utils.""" -from zope.i18nmessageid import MessageFactory - -import logging - - -_ = MessageFactory("plone6demo") - -logger = logging.getLogger("plone6demo") diff --git a/backend/src/plone6demo/src/plone6demo/browser/configure.zcml b/backend/src/plone6demo/src/plone6demo/browser/configure.zcml deleted file mode 100644 index 88f1639..0000000 --- a/backend/src/plone6demo/src/plone6demo/browser/configure.zcml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - diff --git a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/discussions.json b/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/discussions.json deleted file mode 100644 index 9e26dfe..0000000 --- a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/discussions.json +++ /dev/null @@ -1 +0,0 @@ -{} \ No newline at end of file diff --git a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/translations.json b/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/translations.json deleted file mode 100644 index 0637a08..0000000 --- a/backend/src/plone6demo/src/plone6demo/distributions/voltodemo/content/translations.json +++ /dev/null @@ -1 +0,0 @@ -[] \ No newline at end of file diff --git a/backend/src/plone6demo/src/plone6demo/indexers/__init__.py b/backend/src/plone6demo/src/plone6demo/indexers/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/backend/src/plone6demo/src/plone6demo/indexers/configure.zcml b/backend/src/plone6demo/src/plone6demo/indexers/configure.zcml deleted file mode 100644 index 94ea6a1..0000000 --- a/backend/src/plone6demo/src/plone6demo/indexers/configure.zcml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - diff --git a/backend/src/plone6demo/src/plone6demo/locales/__init__.py b/backend/src/plone6demo/src/plone6demo/locales/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/backend/src/plone6demo/src/plone6demo/locales/plone6demo.pot b/backend/src/plone6demo/src/plone6demo/locales/plone6demo.pot deleted file mode 100644 index 21e5b06..0000000 --- a/backend/src/plone6demo/src/plone6demo/locales/plone6demo.pot +++ /dev/null @@ -1,54 +0,0 @@ -#--- PLEASE EDIT THE LINES BELOW CORRECTLY --- -#SOME DESCRIPTIVE TITLE. -#FIRST AUTHOR , YEAR. -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2022-12-12 21:31+0000\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI +ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=1; plural=0\n" -"Language-Code: en\n" -"Language-Name: English\n" -"Preferred-Encodings: utf-8 latin1\n" -"Domain: plone6demo\n" - -#: plone6demo/src/plone6demo/vocabularies/__init__.py:11 -msgid "Education" -msgstr "" - -#: plone6demo/src/plone6demo/vocabularies/__init__.py:9 -msgid "Government" -msgstr "" - -#: plone6demo/src/plone6demo/profiles.zcml:22 -msgid "Initial content for our website." -msgstr "" - -#: plone6demo/src/plone6demo/vocabularies/__init__.py:10 -msgid "NGO" -msgstr "" - -#: plone6demo/src/plone6demo/profiles.zcml:22 -msgid "Plone 6 Demo Site: Initial content" -msgstr "" - -#: plone6demo/src/plone6demo/profiles.zcml:13 -msgid "Plone 6 Demo Site: Install" -msgstr "" - -#: plone6demo/src/plone6demo/profiles.zcml:30 -msgid "Plone 6 Demo Site: Uninstall" -msgstr "" - -#: plone6demo/src/plone6demo/profiles.zcml:13 -msgid "Policy package to install our site" -msgstr "" - -#: plone6demo/src/plone6demo/profiles.zcml:30 -msgid "Uninstall Plone 6 Demo Site setup." -msgstr "" diff --git a/backend/src/plone6demo/src/plone6demo/locales/pt_BR/LC_MESSAGES/plone_6_demo_site.po b/backend/src/plone6demo/src/plone6demo/locales/pt_BR/LC_MESSAGES/plone_6_demo_site.po deleted file mode 100644 index 5ae34e2..0000000 --- a/backend/src/plone6demo/src/plone6demo/locales/pt_BR/LC_MESSAGES/plone_6_demo_site.po +++ /dev/null @@ -1,15 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2022-05-25 17:12+0000\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI +ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=1; plural=0\n" -"Language-Code: pt_BR\n" -"Language-Name: Portugu&es do Brasil\n" -"Preferred-Encodings: utf-8 latin1\n" -"Domain: DOMAIN\n" diff --git a/backend/src/plone6demo/src/plone6demo/permissions.zcml b/backend/src/plone6demo/src/plone6demo/permissions.zcml deleted file mode 100644 index 2cfba2a..0000000 --- a/backend/src/plone6demo/src/plone6demo/permissions.zcml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - diff --git a/backend/src/plone6demo/src/plone6demo/profiles/default/actions.xml b/backend/src/plone6demo/src/plone6demo/profiles/default/actions.xml deleted file mode 100644 index 44a0283..0000000 --- a/backend/src/plone6demo/src/plone6demo/profiles/default/actions.xml +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - False - - - - - True - - - False - - - False - - - False - - - diff --git a/backend/src/plone6demo/src/plone6demo/profiles/default/browserlayer.xml b/backend/src/plone6demo/src/plone6demo/profiles/default/browserlayer.xml deleted file mode 100644 index 589cd70..0000000 --- a/backend/src/plone6demo/src/plone6demo/profiles/default/browserlayer.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - diff --git a/backend/src/plone6demo/src/plone6demo/profiles/default/metadata.xml b/backend/src/plone6demo/src/plone6demo/profiles/default/metadata.xml deleted file mode 100644 index 94821b2..0000000 --- a/backend/src/plone6demo/src/plone6demo/profiles/default/metadata.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - 20221212001 - - profile-plone.volto:default - - diff --git a/backend/src/plone6demo/src/plone6demo/serializers/__init__.py b/backend/src/plone6demo/src/plone6demo/serializers/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/backend/src/plone6demo/src/plone6demo/services/__init__.py b/backend/src/plone6demo/src/plone6demo/services/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/backend/src/plone6demo/src/plone6demo/services/configure.zcml b/backend/src/plone6demo/src/plone6demo/services/configure.zcml deleted file mode 100644 index fb8b793..0000000 --- a/backend/src/plone6demo/src/plone6demo/services/configure.zcml +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/backend/src/plone6demo/src/plone6demo/subscribers/__init__.py b/backend/src/plone6demo/src/plone6demo/subscribers/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/backend/src/plone6demo/src/plone6demo/subscribers/configure.zcml b/backend/src/plone6demo/src/plone6demo/subscribers/configure.zcml deleted file mode 100644 index fb8b793..0000000 --- a/backend/src/plone6demo/src/plone6demo/subscribers/configure.zcml +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/backend/src/plone6demo/src/plone6demo/tests/__init__.py b/backend/src/plone6demo/src/plone6demo/tests/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/backend/src/plone6demo/src/plone6demo/tests/test_setup.py b/backend/src/plone6demo/src/plone6demo/tests/test_setup.py deleted file mode 100644 index bf27e55..0000000 --- a/backend/src/plone6demo/src/plone6demo/tests/test_setup.py +++ /dev/null @@ -1,62 +0,0 @@ -"""Setup tests for this package.""" -from plone import api -from plone6demo.testing import PLONE6DEMO_INTEGRATION_TESTING # noqa: E501 -from plone.app.testing import setRoles -from plone.app.testing import TEST_USER_ID -from Products.CMFPlone.utils import get_installer - -import unittest - - -class TestSetup(unittest.TestCase): - """Test that plone6demo is properly installed.""" - - layer = PLONE6DEMO_INTEGRATION_TESTING - - def setUp(self): - """Custom shared utility setup for tests.""" - self.portal = self.layer["portal"] - self.setup = self.portal.portal_setup - self.installer = get_installer(self.portal, self.layer["request"]) - - def test_product_installed(self): - """Test if plone6demo is installed.""" - self.assertTrue(self.installer.is_product_installed("plone6demo")) - - def test_browserlayer(self): - """Test that IPLONE6DEMOLayer is registered.""" - from plone6demo.interfaces import IPLONE6DEMOLayer - from plone.browserlayer import utils - - self.assertIn(IPLONE6DEMOLayer, utils.registered_layers()) - - def test_latest_version(self): - """Test latest version of default profile.""" - self.assertEqual( - self.setup.getLastVersionForProfile("plone6demo:default")[0], - "20221212001", - ) - - -class TestUninstall(unittest.TestCase): - - layer = PLONE6DEMO_INTEGRATION_TESTING - - def setUp(self): - self.portal = self.layer["portal"] - self.installer = get_installer(self.portal, self.layer["request"]) - roles_before = api.user.get_roles(TEST_USER_ID) - setRoles(self.portal, TEST_USER_ID, ["Manager"]) - self.installer.uninstall_product("plone6demo") - setRoles(self.portal, TEST_USER_ID, roles_before) - - def test_product_uninstalled(self): - """Test if plone6demo is cleanly uninstalled.""" - self.assertFalse(self.installer.is_product_installed("plone6demo")) - - def test_browserlayer_removed(self): - """Test that IPLONE6DEMOLayer is removed.""" - from plone6demo.interfaces import IPLONE6DEMOLayer - from plone.browserlayer import utils - - self.assertNotIn(IPLONE6DEMOLayer, utils.registered_layers()) diff --git a/backend/src/plone6demo/src/plone6demo/tests/test_upgrades.py_tmpl b/backend/src/plone6demo/src/plone6demo/tests/test_upgrades.py_tmpl deleted file mode 100644 index 67509b6..0000000 --- a/backend/src/plone6demo/src/plone6demo/tests/test_upgrades.py_tmpl +++ /dev/null @@ -1,40 +0,0 @@ -"""Upgrades tests for this package.""" -from parameterized import parameterized -from plone.app.testing import setRoles -from plone.app.testing import TEST_USER_ID -from plone6demo.testing import PLONE6DEMO_INTEGRATION_TESTING # noqa: E501 -from Products.GenericSetup.upgrade import listUpgradeSteps - -import unittest - - -class UpgradeStepIntegrationTest(unittest.TestCase): - - layer = PLONE6DEMO_INTEGRATION_TESTING - profile = "plone6demo:default" - - def setUp(self): - self.portal = self.layer["portal"] - self.setup = self.portal["portal_setup"] - setRoles(self.portal, TEST_USER_ID, ["Manager"]) - - def _match(self, item, source, dest): - source, dest = tuple([source]), tuple([dest]) - return item["source"] == source and item["dest"] == dest - - def available_steps(self) -> list: - """Test available steps.""" - steps = listUpgradeSteps(self.setup, self.profile, self.src) - steps = [s for s in steps if self._match(s[0], self.src, self.dst)] - return steps - - # Example of upgrade step test - @parameterized.expand( - [ - ("20221212001", "20230229001", 1), - ] - ) - def test_available(self, src, dst, expected): - """Test upgrade step is available.""" - steps = self.available_steps(src, dst) - self.assertEqual(len(steps), expected) diff --git a/backend/src/plone6demo/src/plone6demo/upgrades/__init__.py b/backend/src/plone6demo/src/plone6demo/upgrades/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/backend/src/plone6demo/src/plone6demo/vocabularies/__init__.py b/backend/src/plone6demo/src/plone6demo/vocabularies/__init__.py deleted file mode 100644 index cde7881..0000000 --- a/backend/src/plone6demo/src/plone6demo/vocabularies/__init__.py +++ /dev/null @@ -1,21 +0,0 @@ -from plone6demo import _ -from zope.interface import provider -from zope.schema.interfaces import IVocabularyFactory -from zope.schema.vocabulary import SimpleTerm -from zope.schema.vocabulary import SimpleVocabulary - - -INDUSTRIES = [ - ("government", _("Government")), - ("ngo", _("NGO")), - ("edu", _("Education")), -] - - -@provider(IVocabularyFactory) -def industries_vocabulary(context): - """Vocabulary of industries.""" - terms = [] - for id_, title in INDUSTRIES: - terms.append(SimpleTerm(id_, id_, title)) - return SimpleVocabulary(terms) diff --git a/backend/src/plone6demo/src/plone6demo/vocabularies/configure.zcml b/backend/src/plone6demo/src/plone6demo/vocabularies/configure.zcml deleted file mode 100644 index d8bb496..0000000 --- a/backend/src/plone6demo/src/plone6demo/vocabularies/configure.zcml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - diff --git a/backend/tests/conftest.py b/backend/tests/conftest.py new file mode 100644 index 0000000..72298d6 --- /dev/null +++ b/backend/tests/conftest.py @@ -0,0 +1,18 @@ +from plone6.demo.testing import ACCEPTANCE_TESTING +from plone6.demo.testing import FUNCTIONAL_TESTING +from plone6.demo.testing import INTEGRATION_TESTING +from pytest_plone import fixtures_factory + + +pytest_plugins = ["pytest_plone"] + + +globals().update( + fixtures_factory( + ( + (ACCEPTANCE_TESTING, "acceptance"), + (FUNCTIONAL_TESTING, "functional"), + (INTEGRATION_TESTING, "integration"), + ) + ) +) diff --git a/backend/tests/setup/test_setup_install.py b/backend/tests/setup/test_setup_install.py new file mode 100644 index 0000000..e8c4d54 --- /dev/null +++ b/backend/tests/setup/test_setup_install.py @@ -0,0 +1,17 @@ +from plone6.demo import PACKAGE_NAME + + +class TestSetupInstall: + def test_addon_installed(self, installer): + """Test if plone6.demo is installed.""" + assert installer.is_product_installed(PACKAGE_NAME) is True + + def test_browserlayer(self, browser_layers): + """Test that IBrowserLayer is registered.""" + from plone6.demo.interfaces import IBrowserLayer + + assert IBrowserLayer in browser_layers + + def test_latest_version(self, profile_last_version): + """Test latest version of default profile.""" + assert profile_last_version(f"{PACKAGE_NAME}:default") == "1000" diff --git a/backend/tests/setup/test_setup_uninstall.py b/backend/tests/setup/test_setup_uninstall.py new file mode 100644 index 0000000..a7e959b --- /dev/null +++ b/backend/tests/setup/test_setup_uninstall.py @@ -0,0 +1,19 @@ +from plone6.demo import PACKAGE_NAME + +import pytest + + +class TestSetupUninstall: + @pytest.fixture(autouse=True) + def uninstalled(self, installer): + installer.uninstall_product(PACKAGE_NAME) + + def test_addon_uninstalled(self, installer): + """Test if plone6.demo is uninstalled.""" + assert installer.is_product_installed(PACKAGE_NAME) is False + + def test_browserlayer_not_registered(self, browser_layers): + """Test that IBrowserLayer is not registered.""" + from plone6.demo.interfaces import IBrowserLayer + + assert IBrowserLayer not in browser_layers diff --git a/backend/tox.ini b/backend/tox.ini new file mode 100644 index 0000000..67d9c50 --- /dev/null +++ b/backend/tox.ini @@ -0,0 +1,212 @@ +# Generated from: +# https://github.com/plone/meta/tree/master/config/default +# See the inline comments on how to expand/tweak this configuration file +[tox] +# We need 4.4.0 for constrain_package_deps. +min_version = 4.4.0 +envlist = + lint + test + dependencies + + +## +# Add extra configuration options in .meta.toml: +# [tox] +# envlist_lines = """ +# my_other_environment +# """ +# config_lines = """ +# my_extra_top_level_tox_configuration_lines +# """ +## + +[testenv] +skip_install = true +allowlist_externals = + echo + false +# Make sure typos like `tox -e formaat` are caught instead of silently doing nothing. +# See https://github.com/tox-dev/tox/issues/2858. +commands = + echo "Unrecognized environment name {envname}" + false + +[testenv:init] +description = Prepare environment +skip_install = true +deps = + mxdev +commands = + mxdev -c mx.ini + echo "Initial setup for mxdev" + + +[testenv:format] +description = automatically reformat code +skip_install = true +deps = + pre-commit +commands = + pre-commit run -a pyupgrade + pre-commit run -a isort + pre-commit run -a black + pre-commit run -a zpretty + +[testenv:lint] +description = run linters that will help improve the code style +skip_install = true +deps = + pre-commit +commands = + # Run pre-commit without chdir to the root of the git repository + python -c "from pre_commit import main; main._adjust_args_and_chdir = lambda args: None; raise SystemExit(main.main())" run -a + +[testenv:dependencies] +description = check if the package defines all its dependencies +skip_install = true +deps = + build + z3c.dependencychecker==2.11 +commands = + python -m build --sdist --no-isolation + dependencychecker + +[testenv:dependencies-graph] +description = generate a graph out of the dependencies of the package +skip_install = false +allowlist_externals = + sh +deps = + pipdeptree==2.5.1 + graphviz # optional dependency of pipdeptree +commands = + sh -c 'pipdeptree --exclude setuptools,wheel,pipdeptree,zope.interface,zope.component --graph-output svg > dependencies.svg' + +[testenv:test] +description = run the distribution tests +use_develop = true +skip_install = false +constrain_package_deps = true +set_env = + ROBOT_BROWSER=headlesschrome + +## +# Specify extra test environment variables in .meta.toml: +# [tox] +# test_environment_variables = """ +# PIP_EXTRA_INDEX_URL=https://my-pypi.my-server.com/ +# """ +# +# Set constrain_package_deps .meta.toml: +# [tox] +# constrain_package_deps = false +## +deps = + pytest-plone + pytest + -c https://dist.plone.org/release/6.0-dev/constraints.txt + +## +# Specify additional deps in .meta.toml: +# [tox] +# test_deps_additional = """ +# -esources/plonegovbr.portal_base[test] +# """ +# +# Specify a custom constraints file in .meta.toml: +# [tox] +# constraints_file = "https://my-server.com/constraints.txt" +## +commands = + pytest --disable-warnings {posargs} {toxinidir}/tests +extras = + test + + +[testenv:coverage] +description = get a test coverage report +use_develop = true +skip_install = false +constrain_package_deps = true +set_env = + ROBOT_BROWSER=headlesschrome + +## +# Specify extra test environment variables in .meta.toml: +# [tox] +# test_environment_variables = """ +# PIP_EXTRA_INDEX_URL=https://my-pypi.my-server.com/ +# """ +# +# Set constrain_package_deps .meta.toml: +# [tox] +# constrain_package_deps = "false" +## +deps = + pytest-plone + pytest + coverage + -c https://dist.plone.org/release/6.0-dev/constraints.txt + +commands = + coverage run --source plone6.demo -m pytest {posargs} --disable-warnings {toxinidir}/tests + coverage report -m --format markdown + coverage xml +extras = + test + + +[testenv:release-check] +description = ensure that the distribution is ready to release +skip_install = true +deps = + twine + build + towncrier + -c https://dist.plone.org/release/6.0-dev/constraints.txt + +commands = + # fake version to not have to install the package + # we build the change log as news entries might break + # the README that is displayed on PyPI + towncrier build --version=100.0.0 --yes + python -m build --sdist --no-isolation + twine check dist/* + +[testenv:circular] +description = ensure there are no cyclic dependencies +use_develop = true +skip_install = false +set_env = + +## +# Specify extra test environment variables in .meta.toml: +# [tox] +# test_environment_variables = """ +# PIP_EXTRA_INDEX_URL=https://my-pypi.my-server.com/ +# """ +## +allowlist_externals = + sh +deps = + pipdeptree + pipforester + -c https://dist.plone.org/release/6.0-dev/constraints.txt + +commands = + # Generate the full dependency tree + sh -c 'pipdeptree -j > forest.json' + # Generate a DOT graph with the circular dependencies, if any + pipforester -i forest.json -o forest.dot --cycles + # Report if there are any circular dependencies, i.e. error if there are any + pipforester -i forest.json --check-cycles -o /dev/null + + +## +# Add extra configuration options in .meta.toml: +# [tox] +# extra_lines = """ +# _your own configuration lines_ +# """ +## diff --git a/backend/version.txt b/backend/version.txt new file mode 100644 index 0000000..c52c7d3 --- /dev/null +++ b/backend/version.txt @@ -0,0 +1 @@ +6.1.0b1