Replacing footer and adding collective.easyforms

Hi,
I've spent the last 3 weeks slowly learning how to get Plone 6 up and running. I have managed to get a local basic installation with Volto up and to change the logo ( :joy: i know that was a major achievement). Now i have been grappling with installing collective.easyforms and to change the footer. I would be most grateful for any guidance / assistance with my problems.

Kind regards,
Mack Palomäki
Sweden

frontend 1.0.0
Volto 18.0.0-alpha.42
Plone 6.0.13
plone.restapi 9.7.2
CMF 3.5
Zope 5.10
Python 3.11.0 (main, Sep 8 2024, 11:04:29) [GCC 11.4.0]
PIL 9.5.0 (Pillow)

Add-ons

@plone/volto-slate 18.0.0-alpha.17
@eeacms/volto-accordion-block 11.0.1
@kitconcept/volto-slider-block 6.3.1
@eeacms/volto-matomo 5.0.0
volto-plone6test 0.1.0

In an effort to customize the footer, I found 2 instances of "footer" here: http://localhost:8080/Plone/portal_view_customizations/manage_workspace. "plone.footer" i could customize but "footer" threw an error when i clicked the customize button:

We’re sorry, but there seems to be an error…

Here is the full error message:

Traceback (innermost last):
Module ZPublisher.WSGIPublisher, line 181, in transaction_pubevents
Module ZPublisher.WSGIPublisher, line 391, in publish_module
Module ZPublisher.WSGIPublisher, line 285, in publish
Module ZPublisher.mapply, line 98, in mapply
Module ZPublisher.WSGIPublisher, line 68, in call_object
Module plone.app.customerize.browser, line 49, in customizeTemplate
Module plone.app.customerize.registration, line 189, in customizeTemplate
Module plone.app.customerize.tool, line 29, in addTemplate
Module OFS.ObjectManager, line 335, in _setObject
Module OFS.ObjectManager, line 126, in checkValidId
zExceptions.BadRequest: The id "zope.interface.interface-footer" is invalid - it is already in use.

I believe i have correctly followed the documentation but having added collective.easyform to the instance.yaml and requirements.txt files, then restarting the backend the add-on does not appear for installation.

my instance.yaml file:
default_context:
initial_user_name: 'admin'
initial_user_password: 'admin'
zcml_package_includes:
- 'plone6test'
- 'collective.easyform'
db_storage: direct

and the requirements.txt file:
-c constraints.txt

zope.testrunner
flake8-pyproject
collective.easyform

Don't use portal_view_customizations! It is very old and buggy. Also, it is only useful for customizing templates from the Classic UI of Plone, but you said you are using Volto.

(Side note: I'm curious where you found instructions to use portal_view_customizations. We should make sure it is not recommended these days.)

For customizing Volto components, you should use this approach: Customizing Components – Frontend – Development — Plone Documentation v6.0

This is the one you need to customize to replace the footer: volto/packages/volto/src/components/theme/Footer/Footer.jsx at main · plone/volto · GitHub

After making changes to requirements.txt you have to run make build-backend to actually install the new Python packages.

(I am assuming you created a project using the instructions from Create a project – Install — Plone Documentation v6.0)

Hi David,

Many thanks. That worked as described.

/Mack

Hi David,

Thank you for your advice. Reading your email it is of course obvious that I should not have used old documentation (I googled and found a link to Plone 5 docs) so I don't think there is anything to take action on in that regard - I should have known better. This was my first post and I am very grateful that it is possible to get help in this way.

For a Plone novice like myself who is unfamiliar with much of the terminology and concepts it is a steep learning curve. I will have to spend some more effort working with it in order to be able to better understand what is fetched from the backend and what is stored and being done in the frontend.

My background is GSM, mobile banking and mobile navigation. As with so many technologies that have evolved over the past 20 or so years, I appreciate it is not possible to casually assimilate the countless hours of design and conceptual thinking that has gone into creating our modern world. I just feel a little ashamed that I have, until recently, failed to even know of Plones existence - a remarkable project. So thank you again for taking the time to help.

/Mack

1 Like