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:
- Enable JSniper
Right-clickon a UI element and selectOpen in Magellanfrom the JSniper popup.- Check the
Service formcheckbox on theForm Fragment Tree(A) as shown in the image below. This opens up theService Formpanel (B) and populates it with the resolved form and highlights the SFI node associated with the selected UI element, and shows its properties under thePropertiestab 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:
- Click on the
Service Formbutton located on the bottom button bar. - Select the the application module (ie. master, security etc). It’s defaulted to the current selected application.
- 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:
nodeInstructionrules which are configured in product to implement its default behaviour.rulesare categoried into different scopes (i.e change, validate or global scope etc) and all scopes.text keysincluding text keys resolved using the configuredtextKeyPrefix.

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 + clickon the SFI element name in the resolved form to navigate to its source configuration.Clickon item (ie.onCurrentRulerule) in thePropertiestab to navigate to its source configuration. Note you can’t navigate to the source configuration for platform rules likenodeInstructionas they’re configured in the product. However, you can open theDocumentationpanel to view its documentation.

