Skip to content

Development Process Planning

Oleg edited this page Feb 2, 2023 · 26 revisions

Planning

  • Configure View and Applets using the Tools. Remember to map controls/list columns on the applet web template to make it available in Presentation Model. The list columns should be visible in the list.

  • Decide how you include the Nexus Bridge into your project. There are two ways:

    • Use IIFE build as in Setup Nexus Bridge. The Nexus Bridge class is loaded in SiebelAppFacade.NexusBridge.
    • Add the Nexus Bridge as a dependency to your application from NPM.
  • Decide how you load your custom PR application and where you create the instances of the Nexus Bridge. You can do that in applets PRs or view PR. You need an instance of the Nexus Bridge for each used applet.

  • Decide how you listen to the Presentation Model changes.

  • Optionally deploy applet PR files and Web Templates.

  • Build your custom PR application.

Some pointers for Siebel Configuration and Web Development

Siebel

  • Creating Siebel views to be used with custom PR application, do not place the different applets (especially form applets) for the same business component. Prefer to use the list applets, as there are some differences between form and list applets. The known differences are already handled by Nexus Bridge, but some others could be found in the future.

  • However if you decided to work with form applets, make all needed controls visible in Show Less mode. The value of the control displayed in Show More only, could be set in the Show Less mode, but this value will not be saved (disappear after WriteRecord)

  • Working with list applets, make all needed list columns displayed in the list by default.

  • Place on the applet web-template only the controls you need to operate with. However, you need to have the PositionOnRow control on the list applet (144); otherwise, calling the canInvokeMethod for the PositionOnRow method sends the request to the Siebel server.

  • Nexus uses the names of the controls as specified in the Siebel Tools, therefore it is better to specify the names of the controls without spaces. An alternate option that you could consider naming the controls as the underlying business components fields.

  • If the web application supposed to manipulate with the Siebel methods (especially with the custom methods) ensure that the buttons for these methods are placed on the web template. Otherwise, the redundant CanInvokeMethod requests could be sent to Siebel. Note that sometimes CanInvokeMethod could still be invoked redundantly after delivery the workspace with the exposed controls, but it is not called after the component restart.

  • Ensure that the applets' controls and list columns that expose the picklists have the following attributes:

    • HTML Type - Text, not Field
    • Runtime - Y
  • Place the currency code fields on the applet web template when working with currency fields.

  • If you use returnRawCurrencies, ensure that all currency fields have Currency Code Field specified. Otherwise, Nexus Bridge still returns formatted values.

  • Better to user Runtime option to ensure that the control/list column get the correct control type (important for dates to ensure the correct conversion).

  • For Boolean fields use controls with HTML Type Checkbox to get the Boolean values converted.

Web Development

  • Do not build your logic on GetProfileAttr usage in your JavaScript code, as each invocation SiebelApp.S_App.GetProfileAttr sends the synchronous request to Siebel. if you use the profile attributes and need to get them in a row, consider using the custom business service to get all needed values in one call.

  • Always "close" the popup applet before manipulating the data on the originating applet.

  • Prefer working with the not formatted values (number, currency, date).

Clone this wiki locally