# G2P Formio

### Module name

g2p\_formio

### Module title

G2P Formio

### Technology base

odoo

### Functionality

**Overview**

The G2P Formio module provides the functionality to create and manage dynamic forms within the OpenG2P ecosystem. It allows users to design forms tailored to specific requirements.

**Extension of existing module**

g2p\_formio is an extension of the Form.io module, enhancing its capabilities within the OpenG2P platform.

**Supported functionality**

* Design and configuration of dynamic data collection forms.
* Support for various form field types (e.g., text, checkboxes, radio buttons).
* Version control for forms.
* Integration with other OpenG2P modules for data processing

**Limitations**

* Real-time collaboration on form design is not supported.
* Complex logic and calculations within forms may require custom development.

### Design notes

**Salient design features**

* User-friendly form design interface.
* Extensible architecture to support future form field types.
* Versioning system to track changes in form design.

**Design decisions**

* The module uses a web-based form builder interface for ease of use.
* Data storage follows OpenG2P database conventions.
* Versioning is implemented using a revision history table.

**Design patterns and algorithms**

* Frontend utilizes a component-based design pattern.
* Backend employs CRUD (Create, Read, Update, Delete) operations for form management.

**Developer notes**

Developers should be aware of the following:

* The module relies on established OpenG2P data models for integration.
* Extending form functionality may require understanding the underlying architecture.

**Scope for Improvement**

Future improvements may include:

* Real-time collaboration features for form design.
* Advanced form field validation and logic.

### Dependencies

This module relies on the following external libraries and modules:

* formio
* g2p\_programs
* formio\_storage\_filestore

### User interface

The G2P Form Builder module introduces the following screens:

Form Builder: A web-based interface for creating and editing forms.

Menu Items: This module adds the following menu items-

1. Forms : Access to the list of created forms.
2. Configurations

Actions: The module provides actions for-

* Creating new forms.
* Editing existing forms.
* Managing form versions.

### Configuration

No specific system-wide configurations are required for this module.

### Source code
