What is a Service Form?

It’s a complete build time xml representation of the UI. It’s basically an inflated/resolved form of a business service configuration that is used as a template to create an instance of a business service in runtime. This means you don’t need to connect to a running Verne application in order to generate this form as it’s resolved statically by Cheetah.

You can access the Service Form in a couple of ways:

  • Using JSniper
  • Using the Service Form directly.

Using JSniper

To view the service form of a business service:

  1. Enable JSniper
  2. Right-click on a UI element and select Open in Magellan from the JSniper popup.
  3. Check the Service form checkbox on the Form Fragment Tree (A) as shown in the image below. This opens up the Service Form panel (B) and populates it with the resolved form and highlights the SFI node associated with the selected UI element, and shows its properties under the Properties tab on the far right of the panel.

The following image shows the Service Form panel automatically opens and populated with a resolved form after the Service form checkbox on the Form Fragment Tree panel is selected.

Using the Service Form directly

To view the service form of a business service:

  1. Click on the Service Form button located on the bottom button bar.
  2. Select the the application module (ie. master, security etc). It’s defaulted to the current selected application.
  3. Select the business service to be resolved.

What’s in a Service Form?

Service forms introduced a place where all the node instructions and stylesheets can alter forms as they are being built. You can see the fully assembled form with all stylesheet and node instruction contributed config in the flow and you’re able to quickly navigate to the source of the contributions.

The following image shows a fully resolved form of a business service.

The following options are available on the Service Form panel:

  • Module selection (A) – The module (ie. master, security etc) where the business service is located.
  • Service selection (B) – The business service to be resolved.
  • Fragment/Component selection (C) – Navigate to the selected fragment or component in the service form.
  • SFI elements only (D) – Show only the SFI elements in the service form. It’s checked by default. Un-check it to show other non-SFI nodes such as rule and eventListener nodes. This allows you to quickly see the configuration of the SFI node without having to navigate to the source configuration.
  • Fragments/Components (E) – Show only the form fragments and components in the service form.
  • SFI Code (F) – Show the SFI code for each SFI element in the service form.
  • Source location (G) – Show the source location of each SFI element in the service form.
  • Expand all (G) – Expand the entire service form.
  • Refresh form (H) – Refresh the service form. You normally use this option after you’ve made changes to the business or form configuration.
  • Pop Out (I) – Open up the Service Panel as another child window so you place it in another screen

Properties Tab

It shows the rules, including any implicit platform rules that are not visible in the source form configuration, and any resolved text keys that contributed to the configuration of a SFI node.

SFI Properties use ↑ or ↓ arrow key in resolved form to select the SFI element to show its properties or simply just click it.

The following image shows the properties of the individualNameCurrentRepeater repeater (selected SFI node). Notice the followings:

  • nodeInstruction rules which are configured in product to implement its default behaviour.
  • rules are categoried into different scopes (i.e change, validate or global scope etc) and all scopes.
  • text keys including text keys resolved using the configured textKeyPrefix.

The following is example source configuraton for the individualNameCurrentRepeater repeater above. Notice that nodeInstruction rules are not visible at all.

<repeater shortCode="${shortCodePrefix}CurrentRepeater" min="1" widget="single-child" textKeyPrefix="${textKeyPrefix}" webServiceName="${webServiceNamePrefix}Current">
    <eventListener event="*" resourceName="${handler}" methodName="onCurrentEvent"/>
    <rule scope="*" resourceName="${handler}" methodName="onCurrentRule"/>
    <rule scope="activate" group="change" resourceName="rules/repeater/setPreviousEndDate.groovy"/>
    <slot name=""/>
</repeater>

Navigation

  • Ctrl + click on the SFI element name in the resolved form to navigate to its source configuration.
  • Click on item (ie. onCurrentRule rule) in the Properties tab to navigate to its source configuration. Note you can’t navigate to the source configuration for platform rules like nodeInstruction as they’re configured in the product. However, you can open the Documentation panel to view its documentation.
0
0

Jump to Section