Invenio Modular Deposit Form Documentation¶ Introduction Features Aims Overview How the package fits into InvenioRDM Layout configuration Client-side validation Autosave Metadata transformations on submit Installation Using uv Using pipenv Enable client-side validation (optional) Using Invenio Modular Deposit Form Where bundled defaults come from What you will see first Client-side validation (optional) Autosave (browser local storage) Customizing the form layout Customizing the validation schema Metadata transformations on submit Configuration Quick start: shipped layout presets Creating a custom form layout Responsive layout Changing layout by resource type Per-field modifications by resource type Other configuration flags Custom fields and namespaces InvenioRDM version 14 extensions Built-in field widget components Stock component wrappers Multiple components for the same field or region Contrib components Overridable components Alternate components Custom field components Gotchas Replacement field components Why these replacements exist Top-level replacement widgets FieldComponentWrapper and labelIcon The replacement field components PIDField (touched and DOI selection) Form feedback components (cross-reference) Internal notes Adding your own components and validator What goes in each extension file Registering your extension files The componentsRegistry object Using your component in the layout Customizing field components Custom layout components Available hooks and contexts Handling custom fields Client-side form validation Enabling client-side validation How the schema reaches Formik Configuring the validator Error visibility vs. Formik errors Architecture Leveraging InvenioRDM customization tools Custom form template Layout config injected into the form Wrapper component provides validation schema Layout and UI-state layer Global form data handling Form state management Core components not yet exposed What to Override When (modular deposit form) 1. Replace the whole widget for a section 2. Change only part of a widget (e.g. one button, one sub-field) 3. Change layout: which sections exist, order, or which wrapper is used by name Quick decision Indices and tables¶ Index Search Page