Actions
Bug #89666
closedPersistenceManagerException with two extensions providing a form definition with the same name
Status:
Rejected
Priority:
-- undefined --
Assignee:
-
Category:
Form Framework
Target version:
-
Start date:
2019-11-13
Due date:
% Done:
0%
Estimated time:
TYPO3 Version:
9
PHP Version:
Tags:
Complexity:
Is Regression:
Sprint Focus:
Remote Sprint
Description
Usecase:
- One TYPO3 installation with multiple sites each with its own site extension.
- Each site extension provides a contact form for the site
- Path1 is
EXT:extension/Resources/Private/Forms/Contact.form.yaml
- Path2 is
EXT:extension2/Resources/Private/Forms/Contact.form.yaml
On installing extension2
the references to the form definitions of extension
are no longer valid as they are replaced by the ones of extension2
.
The issue is apparently that the name of the yaml is the key for the form definition and the path / extension name is not taken into account.
How to reproduce:
- Download extensions.zip from this issue
- Install
EXT:extension
- Add form content element referencing the form definition
- Install
EXT:extension2
- When editing the form content element only the form definition of the second extension is visible
- When accessing the page containing the form content element in the frontend the following exception is shown:
#1484071985 TYPO3\CMS\Form\Mvc\Persistence\Exception\PersistenceManagerException The file "EXT:extension/Resources/Private/Forms/Contact.form.yaml" could not be loaded. Please check your configuration option "persistenceManager.allowedExtensionPaths"
Files
Updated by Mathias Brodala over 4 years ago
- Related to Bug #88539: Form Framework: same filename in different storages not possible added
Updated by Ralf Zimmermann over 4 years ago
- Status changed from New to Needs Feedback
- Assignee set to Stephan Großberndt
Your issue is a configuration issue.
You use the same keys within both extensions
TYPO3: CMS: Form: persistenceManager: allowedExtensionPaths: 110: EXT:extension2/Resources/Private/Forms/
TYPO3: CMS: Form: persistenceManager: allowedExtensionPaths: 110: EXT:extension/Resources/Private/Forms/
module.tx_form { settings { yamlConfigurations { 110 = EXT:extension2/Configuration/Form/Setup.yaml } } } plugin.tx_form { settings { yamlConfigurations { 110 = EXT:extension2/Configuration/Form/Setup.yaml } } }
module.tx_form { settings { yamlConfigurations { 110 = EXT:extension/Configuration/Form/Setup.yaml } } } plugin.tx_form { settings { yamlConfigurations { 110 = EXT:extension/Configuration/Form/Setup.yaml } } }
Change all "110" within extension2 to 111 (or better to the current unix timestamp) and it works.
Updated by Stephan Großberndt over 4 years ago
- Status changed from Needs Feedback to Rejected
- Assignee deleted (
Stephan Großberndt) - Priority changed from Must have to -- undefined --
Thanks.
Actions