Application Development

Create a WebApp in Stewardship Tier

Once the database is created, the WebApp can be created in the Stewardship Tier. The database must be registered and the WebApp created and added to the Navigation pane.

NOTE: By default, the Syniti Solutions license allows for the development of five custom WebApps.

This topic contains the following sections:

Register the Database for a Custom WebApp

The database must be registered as a data source in Stewardship Tier to create a WebApp. In most cases, the System Administrator registers the database.

The database contains the tables and views needed to design the WebApp. Additional views are automatically added from the Stewardship Tier after the data source is added and the WebApp is created and validated. These views pull in Syniti views from the Stewardship Tier database. This is beneficial for development when a user may not have security to the Stewardship Tier database or if the WebApp is on a different server than the Stewardship Tier database.

To register the database:

  1. Log in to the Stewardship Tier.
  2. Click Admin > Data Sources in the Navigation pane.
  3. Click Add.
  4. Enter a unique name in the DATA SOURCE NAME field.

    NOTE:   The Data Source Name is a logical name and may contain any alpha/numeric character, including spaces.

  5. Click Save; the Vertical View displays.
  6. Enter the server address where the data source is stored in the Server Address combo box.
  7. Enter the database name in the Database field.

    NOTE: The database name must match the actual name of the database located on the SQL Server.

  8. Enter the user account to access the database in the User ID field.
  9. Enter the password to access the database in Password field.

    NOTE: The Security or System Administrator may have to establish the User ID and Password to the database.

  10. Click Advanced Properties tab.
  11. Click System Views check box to enable it.

    NOTE:   Having System Views checked will automatically install all Syniti views into the data source. They are useful for applications that need to select data from the Stewardship Tier database.

  12. Click Test Connection on the Page toolbar; a confirmation message displays.

    NOTE:   If the connection is not made, verify the database name and login information are correct and try again.

  13. Click Append Columns on the Page toolbar, a confirmation message displays.

    NOTE: Refer to Append Syniti Reserved Columns to Tables for more information.

  14. Click OK.

    NOTE: Use the Recompile Objects icon on the Page toolbar to recompile every object in a database to ensure they are still valid, if needed. A list of object names is returned if they fail to compile. The failed objects need to be manually fixed.

    NOTE: When recompiling a data source, SQL inline Table-Valued functions are not supported.

Append Syniti Reserved Columns to Tables

Syniti reserved columns are (required fields are indicated by an *):

  • boaStatus*
  • AddedOn*
  • AddedBy*
  • AddedVia*
  • ChangedBy*
  • ChangedOn*
  • ChangedVia*
  • LockedOn
  • LockedBy
  • boaLockType

The required columns above must be added to every table.

When the user clicks the Append Columns icon on the Page toolbar of the Data Sources page’s Vertical View, most of these reserved columns are appended to all of the tables that do not already have them in the database. A Designer can also add these columns manually.

NOTE: This feature is used for local SQL data sources only.

NOTE: LockedOn and LockedBy must be added manually where appropriate. Add these columns for any table where multiple users may be editing the same page at the same time to prevent multiple users from editing the same record at the same time. 

With the exception of boaStatus, the appended column should not display on the page so should not be added to the view.

NOTE: If the columns exist on the table, they display when a user hovers the mouse cursor over the row edit pencil icon. This allows the developer to exclude the columns from the view, but still take advantage of them.

NOTE: Reserved columns are only automatically added to tables when the Append Columns icon is clicked on the Data Sources Vertical View. Columns are not automatically appended to tables added after this operation is performed. In other words, if tables are added to the data source later, click the Append Columns icon again to add the reserved columns to the new tables.

NOTE: If the columns exist on the table, they display in the Information pane below the Navigation pane when a user hovers the mouse cursor over a row’s edit pencil icon. This allows the Designer to exclude the columns from the view, but still display the column's values on the page.

Create a WebApp

Create a WebApp and associate it with a registered data source.

To create a WebApp:

  1. Click Admin > WebApps in the Navigation pane.
  2. Click Add.

    View the field descriptions for the WebApps page

  3.  Enter a name in the WEB APP NAME field.

    NOTE: Make sure it is typed correctly; changing the WebApp name later is not recommended.

  4. Select the data source from DATA SOURCE ID list box.

    NOTE: The Data Source ID is the logical name of the SQL Server Database.

  5.  Click Save; the Vertical View displays.
  6. Enter a number in Version field.
  7. Select a date in Release Date field.
  8. Click Save.
  9. Click Naming Options tab.
  10. Verify Enforce Strict Naming is checked.

    NOTE: Refer to Naming Conventions and the Enforce Strict Naming Feature for more information.

  11. Verify the value in the Table Prefix Size field is 2.

    NOTE: The Table Prefix Size indicates the first two characters (prefix) are for registration purposes and are not included as part of the table name for consideration with Enforce Strict Naming.

  12. Click Save.

Naming Conventions and the Enforce Strict Naming Feature

The Stewardship Tier is delivered with a Syniti pre-defined naming convention for Stored Procedures and Horizontal, Vertical, Validation and Control Views, to name a few. The defined naming conventions can be set at the Stewardship Tier level on the Vertical View of the Parameters page on the Naming Conventions tab. These values are the default values for WebApps, but can be updated at the WebApp level on the Vertical View of the WebApps page. Naming conventions entered at the WebApp level override those set at the Stewardship Tier level.

NOTE: Views in the underlying database must be named with the associated table name from the page registration.

Naming Conventions simplify list box options in Stewardship Tier by limiting the objects associated with any given page.

At the WebApp level, if the Enforce Strict Naming checkbox is enabled on the Naming Options tab on the Vertical View of the WebApps page, the Stewardship Tier filters applicable list boxes based on the naming conventions. For example, a WebApp has a page using the nwEmployee table. With Enforce Strict Naming enabled, all views registered to this page must contain the word Employee within the name of the view and with the proper naming convention prefix and suffix. For a Horizontal View, web is the prefix and Hor is the suffix. For a Vertical page, web is the prefix and Ver is the suffix.

Correct

Incorrect (Will not display)

webEmployeeHor

Employee

webEmployeeHor

EmployeeHor

webEmployeeVer

webWorkerVer

webEmployeeTypeHor

webTypeHor

The default Table Prefix Size is 2 for the WebApp and indicates the first two characters (prefix) are for registration purposes and are not included as part of the table name for consideration with Enforce Strict Naming. For example, the tables in Northwind are prefixed with nw, xt or zt. The nw is ignored when filtering any views based for a page where the nwEmployee table is registered.

If, when selecting a view from a list box, the needed view is not available, check the Naming Conventions tab for the active WebApp and compare it to the table and view names for that page.

Configure the Navigation Pane, Submenus, and Links to Pages

SQL table data is presented through standard views when registered in the Stewardship Tier server throughout the web interface. Create pages and additional menus by registering tables and views from the underlying database to link them together.

Once built, the WebApp layout contains menus that link to pages. Some menus are automatically created and added to the Navigation pane when the WebApp is built. Additional pages and menus are manually added to the Navigation pane. WebApps commonly contain a Configuration menu.

Guidelines for the Navigation Pane

The Navigation pane on the left displays page links to the WebApp.

The following are the suggested menu links on the Navigation pane for each WebApp (in this order, from top to bottom):

  • WebApp Name – Displays the name of the current WebApp with the proper trademark. This menu item links to the WebApp home page or message board.
  • Configuration – A submenu often created to link to the multiple pages available under Configuration. Each page under Configuration should display the Navigation pane at the left, with links to all configuration tables specific to the WebApp. It is suggested that every WebApp contain a link to the Parameters page that contains, at a minimum, the following fields: Application Name, Version and Release Date.

NOTE: The Configuration submenu often provides links to other pages that can be used for list boxes on other pages within the WebApp.

The following are general menu guidelines:

  • Use a standard Navigation pane on all pages. The menu items on the Navigation pane vary depending on the WebApp.
  • Do not modify the Navigation pane labels that are automatically added by Stewardship Tier when a WebApp is created. If copying an existing WebApp to create a new WebApp, the Navigation pane links must be modified to link to the appropriate pages within the new WebApp. Refer to Copy Page for more information.
  • Do not use labels for menus unless the name of the page needs to be different only when displayed on the menu.

NOTE: When a user navigates from one WebApp to another, the menu displayed in the Navigation pane is chosen from the target page the user is loading. Most WebApps are accessed via the Navigation pane with a link to the WebApp’s home page. The Horizontal Menu of that target page is chosen, unless it is null where it will fall back to the Vertical Menu. This menu will be the menu used for the entirety of the time the user remains in this WebApp. The most common usage is to define the main pages on the Switchboard menu and use that on most pages as the Horizontal View. Submenus can be created and then registered on the Switchboard menu to provide access to other top-level pages.

Add a Menu to the Navigation Pane

By default, a new WebApp has one menu created called Switchboard. Menus can be registered within menus to allow sub menus to drill through to other options inside the Navigation pane.

To create a menu:

  1. Click Admin > WebApps on the Navigation pane.
  2. Click Menus for a WebApp.

    View the field descriptions for the Menus page

  3. Click Add.
  4. Enter a name in MENU NAME field.
  5. Click Save.
  6. Click Menu Links.

    View the field descriptions for the Menu Links page

  7. Click Add.
  8. Enter a number in the PRIORITY field.

    NOTE: The priority determines the order of the page links from top to bottom. Priority automatically sorts in an ascending order. The higher the priority, the lower an item displays in the Navigation pane.

  9. Select an image name in the IMAGE ID list box (optional).

    NOTE: This image displays to the left of the menu item in the Navigation pane.

  10. Select the page that the menu option links to from the Link to Page ID list box (optional).

    NOTE: If there is page identified in the Link to Page ID field, the URL entered is ignored. Only one of these options can be used.

    NOTE: When a GUID displays in the Link to Page ID column, it indicates the page is an external WebApp. Do not alter or remove this menu link; it could render the WebApp not editable.

  11. Enter the name that displays on the Navigation pane in Label field, if necessary.

    NOTE: If the Label field is left blank, the name of the target page displays in the Link to Page ID field, and this is translated automatically if enabled.

  12. Select an option from SUBMENU ID list box.

    NOTE: The Submenu ID determines the options on the main menu. For example, all menu links defined in Configuration display as a submenu under Configuration on the Navigation pane.

  13. Enter a URL to which the menu options links (optional).

    NOTE: If there is page identified in the Link to Page ID field, the URL entered is ignored. Only one of these options can be used.

  14. Click Save.