Page tree
Skip to end of metadata
Go to start of metadata

What are Dynamic XML Forms (DXF)?

DXF is a method for quickly creating user interface pages for editing metadata. It's called "dynamic" because the HTML editing form is generated dynamically in JavaScript based on XML specification (a template) which identifies how the editing page is generated.

What Do DXF Forms Do?

Each DXF template specifies:

  • Each UI element to be displayed on a page, including:
    • Type: The type of UI element (string, boolean, textarea, multiple, etc.)
    • Display label: The user-friendly label for the element (the @display) attribute)
    • Order: The order of elements. The order in the template is the same as the order they are displayed on the user interface page.
    • Help: Help text for the element for pop-up help for the user (the <dxf:help> tag)
    • Grouping: How elements are grouped together into sets.  For example, a number of nested elements which all pertain to the same object.
    • Other: Other UI Element attributes, like the number of columns / size of a text area, etc.
    • Display only: Some elements can be simply for display, like headers and embedded text.
  • The XML tags to be generated to represent the data entered by the user.

Who Needs to Use DXF?

You can use DXF to create:

  1. An App Bundle which requires property settings.
    1. For example, suppose you create an App Bundle that needs to talk to a database. You may want to let the user specify the JDBC URL of the database.
      You would specify this as a property setting specified with ${property} in your configuration file.
    2. Now suppose you want to use the Aspire Admin interface to load the app bundle.
      You will need to specify a DXF template so that the Admin UI can present an HTML form for editing the properties of your App Bundle.
  2. A connector for the Aspire connector framework which requires properties for content sources that it processes.
    1. Connectors in Aspire receive their data from content sources which are configured by the Aspire Admin UI .
    2. These connectors will use DXF templates so that the user can specify properties for the content source which is to be processed, such as:
      • the source URL
      • whether or not to scan sub directories
      • file patterns to allow
      • file patterns to exclude, etc.
  3. A new component with configuration properties which need to be edited in the Aspire configuration user interface.
    1. At some point, components will be configurable through the Admin UI.
      When this happens, every component will require a dxf.xml template so that the Admin UI can present a nice user interface for editing the component's configuration to the user.