Extensibility forms module

Overview

The Extensibility Forms module in K2BTools empowers developers and end users to enhance the flexibility of their applications by allowing the dynamic addition of custom forms to transactions and web panels. This feature enables the definition and display of user-configurable forms at runtime, making it possible to capture and display custom data without requiring code changes or redeployment.

Key Features

  • Dynamic Form Definition: End users can define custom forms and fields at runtime, tailoring the application to their specific needs.

  • Seamless Integration: Developers can add an Extensibility Forms node to a transaction or web panel definition, enabling the display of these dynamic forms within the standard UI.

  • Custom Field Support: Forms can include multiple custom fields of various types (text, date, combo, etc.), all managed and rendered dynamically.

  • Runtime Flexibility: Changes to forms and fields are immediately reflected in the application, without the need for recompilation or redeployment.

Limitations

Data captured in a dynamic form is not saved to the database in a normalized manner. This limits how this data can be exploited, and because of that we recommend using traditional forms (backed by a database table) whenever possible.

How It Works

  1. Initial configuration:

  2. Developer Configuration:

  3. End User Form Definition:

    • Through the module's UI, end users can create and configure custom forms. See How to: Edit extensibility form definition

    • Users can add, remove, or modify fields, set field types, and define validation rules as needed.

  4. Runtime Rendering:

    • When the transaction or web panel is accessed, K2BTools reads the dynamic form definition associated with the current context.

    • The custom form and its fields are rendered within the UI, allowing users to view and edit custom data seamlessly alongside standard fields.

    • When used in transactions, data captured in the form can be serialized to an attribute.

    • When used in web panels, data handling (persisting, fetching) must be implemented by the developer.

Typical Use Cases

  • Custom Attributes: Allowing clients to add extra fields to a customer, product, or order without modifying the core data model.

  • Dynamic Data Collection: Enabling the collection of additional information for specific business processes that may change over time.

  • User-Driven Customization: Empowering business users to adapt the application to evolving requirements without developer intervention.

Availability

K2BTools 16.0