TASK: Improve export when form definition changes, allow setting node…#25
Conversation
419e5f1 to
376e5bc
Compare
|
Thanks for the updated / new PR for this feature. Do you want to add the options discussed in #7 in this PR or do you prefer opening a new one for this afterwards? |
|
Please do not merge this yet. I have some feedback from testing I'd like to integrate first. |
|
I will wait for your feedback. |
f7aa347 to
fee2137
Compare
|
@Benjamin-K I improved this PR again. Do you have an installation with Node-based forms where you could test this yourself? There are many changes and I'd like to be sure if everything works. I also let our customers test it. |
|
@lorenzulrich Thanks for your improvements. I currently do not have an installation with node based forms that also have the DB-Storage. Your changes look compromising, but i will wait for your feedback before merging. If you say go, i'll merge ;) |
|
I hope the changes look promising, not compromising ;-). I will give you feedback as soon as this is tested thoroughly. |
|
Dough, sure. Thats what i wanted to say, sry :D I added two little comments for review and will also test your changes with the node based form. |
…TypesIgnoredInExport This package only stores the FormElement identifier at the time of form submission in its entry data. This has some drawbacks: * If a field identifier is added or removed later, it breaks the export * The field identifier could be a uuid which makes it hard to read This change improves this as follows: * A unique list of each field identifier of each submission is compiled * The ContentRepository is used to look up the actual field labels if the form still exists. * There is a fallback to the field identifier if the form or field don't exist anymore. Furthermore, the export contains too much information, such as Sections, Captchas (if configured) and possibly sensible information such as Passwords. A new configuration nodeTypesIgnoredInExport is added to prevent the output of fields configured. The following types are excluded by default: - Neos.Form.Builder:Section - Neos.Form.Builder:StaticText - Neos.Form.Builder:Password - Neos.Form.Builder:PasswordWithConfirmation
…inisher It may not be desirable to store data for certain form element types in a Node-based form. For example, for security reasons you might not want to save the content of Password fields or you might want to skip saving a captcha value. To achieve this, a new configuration "nodeTypesIgnoredInFinisher" is added, by default containing - Neos.Form.Builder:Section - Neos.Form.Builder:StaticText
fee2137 to
cfe008d
Compare
|
I added a last feature to allow excluding certain form element types in the finisher, not storing the value at all. This is an additional feature to hiding them in the export and list view. |
|
We do not have any yaml based forms any more and only one fusion based form so far. But in this setup the live website only has read access to the database, so i can't test it there. Will see if i find some time to test it, but not within the next two weeks. |
|
@lorenzulrich Have you used your update on some sites? I would like to merge your feature and rather fix bugs later than not having this feature, as we do not have any yaml based forms at all and almost no fusion based form. |
|
@Benjamin-K In the meantime, I could test that it doesn't break any installations with Fusion-based forms. I also had no negative reactions from the usage in Node-based forms. However, I would release it as a major version because it is definitely breaking - in terms of showing different data when fields were renamed/added/removed over time. |
…TypesIgnoredInExport
This package only stores the FormElement identifier at the time of form
submission in its entry data. This has some drawbacks:
This change improves this as follows:
the form still exists.
exist anymore.
Furthermore, the export contains too much information, such as Sections,
Captchas (if configured) and possibly sensible information such as
Passwords.
A new configuration nodeTypesIgnoredInExport is added to prevent the output
of fields configured. The following types are excluded by default: