v 11.0 v 12.0 Third Party 1020
Download for v 12.0 Deploy on Odoo.sh Live Preview
Technical Name formio
LicenseLGPL-3
Websitehttps://www.novacode.nl
Also available in version v 13.0 v 11.0
You bought this module and need support? Click here!
Technical Name formio
LicenseLGPL-3
Websitehttps://www.novacode.nl
Also available in version v 13.0 v 11.0

Form.io - Form Builder & Forms

Powerful Form Builder and Forms integration

Features

Subject Description
Form Builder Powerful and seamless "Drag and drop" Form Builder in Odoo.
Forms - Create/start new Forms
- Publish Forms e.g. on portal and website
- Assign Form(s) to user and send invitation by mail
- Forms Submissions are stored in the Odoo database
- View, analyse, use and share Forms (submissions data)
Highly configurable Easily configure your Forms deployment, publishing and other functionalities (done in the Form Builder).
Integration (ERP, workflow, website) While building and deploying standalone Forms is enjoyable ...
Benefit from real power by integrating Forms with your workflow, ERP, website, e-commerce and other Odoo business apps.
Visit the other Form.io modules to get a basic idea - Click the author link "Nova Code" in the top.
Populate Form fields with Odoo fields/data Example: populate a selection/dropdown field where choices are Odoo Products, filtered by some product-category.
Multilingual & Translations management Forms are multilingual: Language-switch buttons can be setup. Manage your custom translations (e.g. labels, select choices) in the Form Builder.
Upgrade-tool GUI software Upgrade the GUI software (builder, forms) when a new version is available, by just a few clicks.
Developer Friendly - Extend, customize the Odoo Formio modules.
- Develop new Odoo Formio modules.
- Develop custom Form components e.g. QR-code scanning, a value slider, reCAPTCHA component (already released as module) etc.
On-premise All software and data stays on your server and Odoo database: Form Builders, Form Submissions etc.
Installation After installation you can start right away. No extra technical requirements or setup.
We open source - LGPL-3 licensed
- Issue reports and contributions are welcome on https://github.com/novacode-nl/odoo-formio

Visit the online Demo

Click the Live Preview button in the top.

Users (email / password)

  • admin / admin
  • demo / demo
  • portal / portal

Form Builders

Configure, design and store in Odoo

Form Builders

Form Builder Configuration

Form Builder

Forms & Submissions

Create a Form (in Odoo or by hyperlink)

Form: Pending

Form: Completed

Form: Submission form-view

Form Submissions

Module configuration

Settings

List of Available & Installed (Form.io GUI) Versions

Download & Install Available (Form.io GUI) Versions

Releases

5.0

  • Public Forms - Access configuration and check (by interval expiration settings: minutes, hours, days).
  • Public Forms - Improvements in (web)controller, templating and JavaScript:
    - Split up JavaScript files, which implement the Form handling (backend, public, public new).
    - This change is subjected to redundant code (DRY), but works for now and shall be addressed by using a JavaScript framework (probably Owl).
  • Change formio.form toplevel URLs: remove the /root suffix.
    This was introduced in 1.8. Seems not to be an issue anymore.

4.4

  • Change 4.3 implementation (final_res fields), which was rather confusing:
    - Remove the final_res_model, final_res_id fields.
    - Instead: in model formio.form added fields initial_res_model_id, initial_res_id.
    - These fields store the initial (referenced) resource record. So swapping the res_model_id and res_id afterwards is supported, for specific implementation requirements.
    - Add migration to update formio_form records: res_model_id (determined by formio_builder), copy res_id to initial_res_id.

4.3

  • In model formio.form added fields final_res_model, final_res_id.
    These fields can be used to swap the (referenced) resource record, for specific implementation requirements.
  • In model formio.builder added field res_model, which represents the technical model-name.

4.2

  • In the create Form (form-view) by default provide only Form Builders without Resource-model in the Form Builder drop-down field.
    Specific modules extend this (domain) filter to add appropriate Form Builders related to the (active) Resource-model - e.g. formio_sale, formio_stock.

4.1

  • Improvement: ETL Odoo (resource) data into Form, requires to bypass access control on the target/resource model.
    (Use sudo here).

4.0

  • Basic setup to deploy/share public Forms, by a setting (checkbox) in Form Builder.
  • Implement sequence field in Form. Usefull when storing and listing forms in an ordered way.
  • New setting (in Form Builder) which instructs the Form whether to show/hide the UUID in Form footer.
  • Store those show/hide setting fields in the Form, instead of joining its relational Builder value (in readonly mode).
  • Improvements in tree/list and form views regarding Form and Builder.

3.7

  • New setting (in Form Builder) which instructs the Form whether to show/hide the Title.
  • Moved the Form Title from the main HTML-document into the embedded document (iframe).
    This improves the embedded Form experience.

3.6

  • New settings (in Form Builder) which instructs the Form whether to show/hide some metadata: Assigned user, Submission user & date, ID, State.
    The default is to show all these metadata fields (for backwards compatibility and no data migration needed).
  • Import formio.js version 3.x assets and bootstrap (CSS) instead of CDN.
  • Fix silly Javascript bug: _.extend (underscore.js ain't loaded here). Use jQuery extend.
  • Add help text regarding issue with (Formio.js) and view_as_html setting https://github.com/formio/formio.js/issues/1545

3.5

  • Add formio.js v4.9.26 assets https://github.com/formio/formio.js/releases/tag/v4.9.26
  • User in group "Form.io Admin can edit the Form it's submission data, for a new Form (if ain't stored).

3.4

  • Don't override provided vals in formio.form function _prepare_create_vals().

3.3

  • New feature: ETL Odoo (resource) data into Form.
    Supported fields:
    • Scalar fields e.g. Char, Text, Integer, Boolean, Date, Datetime
    • Many2one field (load it's leaf/scalar field)
    • One2many field, supported by Form.io Datagrid component
    (documention and examples shall be added soon)

3.2

  • Optional configuration to allow specific User Group(s) to force update of a Form state field (draft, complete, cancel) e.g. by buttons. Feature request: https://github.com/novacode-nl/odoo-formio/issues/36

3.1

  • Fix portal iframe (height) resizing issue.
    Issue report: https://github.com/novacode-nl/odoo-formio/issues/35

3.0

  • Changed the way Resource Fields are determined and stored. Not by dependent/computed fields anymore, which caused all kind of troubles.
    Affected fields: res_name, res_info, res_act_window_url and res_partner_id.
    !! CAUTION, BEFORE UPGRADE: Test first and be sure all Forms data (regarding these fields) has been migrated properly.

2.3

  • Form Builder layout improvements: full width, remove horizontal scrollbar.

2.2

  • Fix (workaround) to solve form height-resizing issues.
    Issue report: https://github.com/novacode-nl/odoo-formio/issues/20

2.1

  • Add formio.js v4.9.23 assets (https://github.com/formio/formio.js/releases/tag/v4.9.23)
  • Remove formio.js "latest" version (CDN URLs). Requests from CDN caused time-outs.

2.0

  • Odoo formio view types for Builder and Form. Finally one can switch view types (form, formio) within the window action.
  • Moved the so-called Form dock (info bar) into the iframe. This updates the info on a (iframe) window reload.
  • Remove the submit done url implementation, which is useless in a backend usage/context.
  • Other improvements and simplification.

1.10

  • Extend formio.form create methods with _prepare_create_vals method, which in turn specific modules could call to assign field vals.
  • Fix method compute_res_fields which stores fields regarding the resource model (made possible by change in former point).

1.9

  • Computed fields regarding resource model: Store res_name and res_partner_id. Change dependent compute method.
  • Add (related) field submission partner.

1.8

  • Change URLs and controllers FROM /formio/form/<action>/<string:uuid> URLs TO /formio/form/<string:uuid>/<action>. This solves issues regarding relative URLs from a Formio Javascript perspective (components). The UUID was stripped by the Formio Javascript client API.
    Should solve: https://github.com/novacode-nl/odoo-formio/issues/11
  • Remove 2 legacy (obsolete) controller methods for routes: /formio/form/<string:uuid> and /formio/builder/<int:builder_id>

1.7

  • Prevent Javascript clashes between Odoo and Form.io. Hence remove all Odoo Javascript (assets) loading in the Form.io iframe.
  • Add and load standalone JsonRPC client.

1.6

  • Portal: Improved (refactored) controller layout values method.
  • Portal: form buttons now keep query-params.

1.5

  • Demo Builder: Save as Draft (button).
  • Form update to Draft fix (workaround). Remove submission_data['submit'].

1.4

  • Include and serve the Formio.js library assets (JS, CSS) within the module. Don't use CDN anymore.
  • Click button to display the Form Builder in Full Screen.

1.3

  • Portal: Improved (refactored) controller layout values method.
  • Portal: form buttons now keep query-params.

1.2

  • Rename (consistency) Builder form-view id/ref: from view_formio_builder to view_formio_builder_form.

1.1

  • Possible "Resource model(s)" needs to be registered from sub-modules e.g. formio_sale. Just choosing from all models is useless and confuses the user about its functionality.

1.0

  • Form.io embedded in iframe. This avoids clashes (Javascript and CSS) between Odoo and Form.io.
  • Redesign of Form.io templates

0.16

  • Search filters on Form Builder and Forms.
  • Assign a user (owner/author/designer) to a Form Builder.

0.15

  • Change default forms view to list.
  • Improve forms kanban to group by state.

0.14

  • Form Builder versioning. Also create a new Builder version-record (from existing one).

0.13

  • Form Builder states: Draft (in design), Current (published) and Obsolete (unpublished).

0.12

  • Redesign of Builder and Form templates. A simplification and improvement.
  • Hopefully fixed enough styling issues due to Bootstrap 4 VS 3 presence (Odoo, Formio) and differences.
  • Other small improvements

0.11

  • Include new Form.io versions and assets (3.27.3, 4.0.8)
  • Add recommendation into the description of the "latest" Form.io version.

0.10

  • Translation system for Form labels, placeholders etc.
  • Language selector on Form.

0.9

  • Simple form wizards.

0.8

  • Access-check improvements.
  • UI improvements.
  • Dutch translations.

0.7

  • Dropdown button in Portal, to add and fill-in new Form(s).

0.6

  • Form state (Pending, In Progress, Complete, Canceled).
  • Form is readonly if state is Complete or Canceled.

0.5

  • Form invitation mail.
  • Improvements regarding form assignment (user filter).

0.4

  • Portal User can use forms.
  • Restrict access to assigned forms (Portal User, Internal User).

0.3

  • Translations system to manage the Form.io translatable terms and load into the form.

0.2

  • Form.io (library: JS, CSS) version management and loading.

0.1

  • Initial version

Please log in to comment on this module

  • The author can leave a single reply to each comment.
  • This section is meant to ask simple questions or leave a rating. Every report of a problem experienced while using the module should be addressed to the author directly (refer to the following point).
  • If you want to start a discussion with the author, please use the developer contact information. They can usually be found in the description.
Please choose a rating from 1 to 5 for this module.
odoo13
by
Doğan Üstündağ
on 1/27/20, 6:19 PM

Are there any plans for formio of odoo13 version in the near future? Thanks

Re: odoo13
by
Bob Leers
on 1/28/20, 1:06 AM Author

Yes definitely! But not on short term. I hope somewhere upcoming months.


Public user option?
by
Walker Blackwell
on 1/23/20, 9:42 AM

Current the portal shows up in /my/forms but ideally there would be an option to publish these forms publicly (for Public User) with something like ReCaptcha as the bot control. Is there a plan to do this or can you point the best way to start implementing this? Thank you!

Re: Public user option?
by
Bob Leers
on 1/28/20, 1:03 AM Author

The following is how it works in version 1.6. A form is published to the portal by 2 steps: (1) Put the Form Builder in state = Current. (2) Enable the Portal checkbox in Form Builder. I don't have any plans to implement a ReCaptcha validation at the moment. There's a ReCaptcha component in the Form.io Premium (commercial/platform) version - but that doesn't work with this module (JS client integration). However I would like to improve the Form.io client (JS) integration further. So one can load custom components as well, from Odoo. This however takes some effort the implement and I assume this requires a change in the Form.io assets/JS loading in a proper API way. Let me know in case you could assist with that. Feel free to submit you idea or even a PR on GitHub: https://github.com/novacode-nl/odoo-formio


This is awesome
by
Simon Chaung
on 3/5/19, 12:17 AM

This is really an awesome module. Easy design and setup. But, can I know how to print out the form we designed?

Re: This is awesome
by
Bob Leers
on 5/8/20, 8:35 AM Author

Hi Simon, Printing (by Odoo QWeb) to PDF, has been released for version 12 and 13. Just install the module: formio_report_qweb (and dependencies).


Re: Public user option?
by
Bob Leers
on 1/24/20, 12:01 PM Author

The following is how it works in version 1.6. A form is published to the portal by 2 steps: (1) Put the Form Builder in state = Current. (2) Enable the Portal checkbox in Form Builder. I don't have any plans to implement a ReCaptcha validation at the moment. There's a ReCaptcha component in the Form.io Premium (commercial/platform) version - but that doesn't work with this module (JS client integration). However I would like to improve the Form.io client (JS) integration further. So one can load custom components as well, from Odoo. This however takes some effort the implement and I assume this requires a change in the Form.io assets/JS loading in a proper API way. Let me know in case you could assist with that. Feel free to submit you idea or even a PR on GitHub: https://github.com/novacode-nl/odoo-formio


Great product
by
Doğan Üstündağ
on 9/14/19, 9:59 AM

Great product. Unfortunately, printing function is currently missing as mentioned by the developer.

Re: Great product
by
Bob Leers
on 5/8/20, 8:40 AM Author

Hi Doğan, Printing (by Odoo QWeb) to PDF, has been released for version 12 and 13. Just install the module: formio_report_qweb (and dependencies).


by
Bob Leers
on 3/6/19, 7:31 AM Author

Unfortunately, printing the form (builder/design, user form) isn't implemented yet. I suppose this could be implemented either by following approaches. Both take some effort in development. 1. Implement the Form.io PDF rendering (Javascript) feature, if possible from the Javascript API. More info and research needed for this. 2. Formio data available by the Odoo ORM, which can be used in Qweb reports, Automated Actions etc. This requires a "Python Formio (data) parser" (https://github.com/novacode-nl/python-formio-parser), which I put on hold. Also a Odoo module is needed to integrate the parser and make parser/data available by the Odoo ORM.


by
Bob Leers
on 2/1/19, 7:29 AM Author

Did you assigned the group "Form.io Manager" to the specific user? Otherwise, please could you provide more info?


i can't fiend the app!
by
a.raafat@imagine.net.eg
on 1/25/19, 6:43 AM

after install app i can't fiend any page in dashboard to manage, add forms!