Browse Prior Art Database

Custom fields for Web UI

IP.com Disclosure Number: IPCOM000030250D
Original Publication Date: 2004-Aug-03
Included in the Prior Art Database: 2004-Aug-03
Document File: 2 page(s) / 62K

Publishing Venue

IBM

Abstract

A flexible way to manage (add, remove, control) fields on a WebUI

This text was extracted from a PDF file.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 62% of the total text.

Page 1 of 2

Custom fields for Web UI

Custom fields for Web UI

Context:

    The customer need was to visualize new fields on a graphical user interface, according to his business rules, and to store the inserted data.

    Each field represents new data with a specific type (number, text, date or enumeration of values). This feature allows the visualization of a panel in a customer-oriented way according to the chosen fields.

    Usually different customers will see different panels. Even if the current design and implementation has been used primarily for viewing and storing purposes, it does not prevent to perform business logic on the custom fields in case this will be a future requirement.

Problem:

    These are the issues considered: - We did not want to use ALTER TABLE on the relational DB to add/delete columns, assuming that each column is a new custom field.

- The code related needs to be flexible to the adding/deleting/hiding new

fields

Solution:

    We used a meta-language (XML & XSD) to provide a descriptive representation of the custom field types and a persistent system (RDMS) to store the custom field values.

    This approach allows to decouple the validation problem from the storing one with the advantage that customer can add a new field simply manipulating the meta-language definition.

Implementation:

The DB stores this data:

The custom fields storing table contains information like: id_custom_field,

1

[This page contains 1 picture or other non-text object]

Page 2 of 2

id_customer,...