-
Notifications
You must be signed in to change notification settings - Fork 26
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Refactor formio integration #1068
Comments
This was referenced Dec 13, 2021
stevenbal
added a commit
that referenced
this issue
Dec 24, 2021
stevenbal
added a commit
that referenced
this issue
Dec 24, 2021
stevenbal
added a commit
that referenced
this issue
Dec 24, 2021
stevenbal
added a commit
that referenced
this issue
Dec 24, 2021
stevenbal
added a commit
that referenced
this issue
Dec 24, 2021
stevenbal
added a commit
that referenced
this issue
Dec 24, 2021
stevenbal
added a commit
that referenced
this issue
Dec 24, 2021
stevenbal
added a commit
that referenced
this issue
Jan 4, 2022
stevenbal
added a commit
that referenced
this issue
Jan 4, 2022
stevenbal
added a commit
that referenced
this issue
Jan 4, 2022
stevenbal
added a commit
that referenced
this issue
Jan 4, 2022
stevenbal
added a commit
that referenced
this issue
Jan 4, 2022
stevenbal
added a commit
that referenced
this issue
Jan 4, 2022
stevenbal
added a commit
that referenced
this issue
Jan 4, 2022
stevenbal
added a commit
that referenced
this issue
Jan 4, 2022
stevenbal
added a commit
that referenced
this issue
Jan 4, 2022
stevenbal
added a commit
that referenced
this issue
Jan 4, 2022
stevenbal
added a commit
that referenced
this issue
Jan 4, 2022
stevenbal
added a commit
that referenced
this issue
Jan 4, 2022
stevenbal
added a commit
that referenced
this issue
Jan 4, 2022
stevenbal
added a commit
that referenced
this issue
Jan 4, 2022
sergei-maertens
added a commit
that referenced
this issue
Nov 24, 2022
…line Instead of using a fixed pipeline, the concerns are now moved to the component level that can opt-in to request-specific component rewriting. This should also lead to slightly more optimized code execution since we're looping over a caching datastructure rather than looping over the entire component tree over and over again.
sergei-maertens
added a commit
that referenced
this issue
Nov 24, 2022
First step towards refactoring how custom fields are handled, the request should not be needed as all required information is/should be present on the submission instance.
sergei-maertens
added a commit
that referenced
this issue
Nov 24, 2022
…g approach Now it's just another flavour of mutating an existing component on the fly, with the added functionality of making some network calls to retrieve the relevant data. This essentially does away with the whole special treatment of custom field types. The use case of adding one or more components and rebuilding the component tree is removed, as there has not been any demand for this. We do keep in mind it may at some point be needed to inject components at other locations in the tree or do more advanced operations, but the current implementation does not sit in the way of that approach. Additionally, this fixes the bug where only top-level npFamilyMembers components could function correctly, which is now properly recursive for nested components.
sergei-maertens
added a commit
that referenced
this issue
Nov 24, 2022
sergei-maertens
added a commit
that referenced
this issue
Nov 24, 2022
The public API now uses the new/single registry for formio components, which also handles the formatting of values given to formio components.
sergei-maertens
added a commit
that referenced
this issue
Nov 24, 2022
This is now used by the component registry rather than implementing/ providing a formatter registry itself.
sergei-maertens
added a commit
that referenced
this issue
Nov 24, 2022
sergei-maertens
added a commit
that referenced
this issue
Nov 24, 2022
sergei-maertens
added a commit
that referenced
this issue
Nov 24, 2022
…stry This deletes the dynamic config-specific registry, while mostly keeping the public API intact.
sergei-maertens
added a commit
that referenced
this issue
Nov 24, 2022
…line Instead of using a fixed pipeline, the concerns are now moved to the component level that can opt-in to request-specific component rewriting. This should also lead to slightly more optimized code execution since we're looping over a caching datastructure rather than looping over the entire component tree over and over again.
sergei-maertens
added a commit
that referenced
this issue
Nov 24, 2022
First step towards refactoring how custom fields are handled, the request should not be needed as all required information is/should be present on the submission instance.
sergei-maertens
added a commit
that referenced
this issue
Nov 24, 2022
…g approach Now it's just another flavour of mutating an existing component on the fly, with the added functionality of making some network calls to retrieve the relevant data. This essentially does away with the whole special treatment of custom field types. The use case of adding one or more components and rebuilding the component tree is removed, as there has not been any demand for this. We do keep in mind it may at some point be needed to inject components at other locations in the tree or do more advanced operations, but the current implementation does not sit in the way of that approach. Additionally, this fixes the bug where only top-level npFamilyMembers components could function correctly, which is now properly recursive for nested components.
sergei-maertens
added a commit
that referenced
this issue
Nov 24, 2022
sergei-maertens
added a commit
that referenced
this issue
Nov 24, 2022
sergei-maertens
added a commit
that referenced
this issue
Nov 24, 2022
sergei-maertens
added a commit
that referenced
this issue
Nov 24, 2022
sergei-maertens
added a commit
that referenced
this issue
Nov 24, 2022
The navtree was confusing and too nested, this structures the docs more along the core/modules principles and keeps the topics on a single page.
sergei-maertens
added a commit
that referenced
this issue
Nov 24, 2022
sergei-maertens
added a commit
that referenced
this issue
Nov 24, 2022
The navtree was confusing and too nested, this structures the docs more along the core/modules principles and keeps the topics on a single page.
sergei-maertens
added a commit
that referenced
this issue
Nov 24, 2022
sergei-maertens
added a commit
that referenced
this issue
Nov 24, 2022
sergei-maertens
added a commit
that referenced
this issue
Nov 25, 2022
sergei-maertens
added a commit
that referenced
this issue
Nov 25, 2022
sergei-maertens
added a commit
that referenced
this issue
Nov 25, 2022
…formio-integration ♻️ [#1068] -- Refactor formio integration
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
From #1099, #1059 and #1054 it's clear that we need to re-structure our code to manage (custom) formio types:
This ticket describes the technical design to resolve both mentioned issues.
Design principles
Tasks
openforms.formio
custom_types
andformatters
openforms.formio.custom_types.registry
(move fromopenforms.forms.custom_field_types
)openforms.plugins.plugin.AbstractBasePlugin
FormDefinition.iter_components(...)
, currently not the caseopenforms.formio.formatters.registry
value
andcomponent
, withcomponent
being the FormIO json schemacomponent
is now not passed along and will lead to restructing in other places!openforms.formio.formatters.default
str(value)
), used for (custom) types without explicitly registered formatter, to avoid crashesThe text was updated successfully, but these errors were encountered: