Adding a custom menu

You can add a custom menu in the left pane of the Administration menu in the Sterling B2B Integrator dashboard.

The custom menu enables you to host your own web application (on HTTP Server Adapter or outside) and integrate it with the Sterling B2B Integrator dashboard by adding a custom URL on the left pane. You can also implement Single Sign On (SSO) on the web application to enable you to log in seamlessly using the Sterling B2B Integrator session.

SSO Authentication

The Sterling B2B Integrator REST APIs used for SSO and authentication is deployed as a WAR file on a HTTP Server adapter in Sterling B2B Integrator.
The custom.jsp file provides a link to launch the custom web application.
The application then calls the REST SSO API to check for authentication.

  1. Create an installation jar file. Go to <SI install Location>/bin and run:
    • ./InstallServices.sh <jar file> for Linux/Unix
    • ./InstallServices.cmd <jar file> for Windows
    Note: The format of the installation jar file need to be as shown below:
    
     < Project_name>
                          -----   exploded_wars
                         -----------------------admin
                          ------------------------------------jsp
                          -----------------------------------------custom.jsp
                          -----    factorysetup
                          -------------- XMLS
                          ----------------------- YFS_MENU.xml
                          ----------------------- YFS_RESOURCE.xml
                          -------------- installer.xml
                          -------------- custom_menu_installer.xml
                         ------files
                          -------------------properties
                         -------------------------------lang
                          ---------------------------------------en
                         ------------------------------------------------------ Sitemap_en.properties_custom_ext 
    
  2. Add the entries of the custom.jsp file in the page.properties.in file.

    For example: page.<Name of page>.path = /jsp/<custom_folder_name>/custom.jsp.

  3. Create the resource entries for the page - Project_name/factorysetup/XMLS/YFS_RESOURCE.xml.
    
    Example:
    <?xml version="1.0" encoding="UTF-8"?>
    <YFS_ResourceList>
       <Resource ApplicationCode="plt" ApplicationName="PLTADM0001"
         CanAddToMenu="Y" DocumentType="" IsPermissionControlled="Y"
         ParentResourceId="PLTADM0001" ResourceCreateType="SYSTEM"
         ResourceDesc="custom sample link" ResourceId="NEWCUSTOMLINK"
         ResourceKey="NEWCUSTOMLINK" ResourceSeq="210" ResourceType="0"
         SupportsSearchToDetail="N" Url="./Page?next=page.samplecustomappmgmt"/>
    </YFS_ResourceList>
    
  4. Add an entry to Project_name/factorysetup/XMLS/YFS_MENU.xml to create the custom menu items. This appears on the left pane of the dashboard.
    Note: You can provide the sequence to reorder the menu items.
    
    Example:
    <YFS_MenuList>
    
        <Menu DisplayMode="" Icon=""
           MenuDescription="CustomMenu"
           MenuKey="ADM_62_010" MenuSeq="62" MenuType="MENU"
           ParentMenuKey="ADM" ResourceKey="" SystemDefined="Y"/>
    
        <Menu DisplayMode="" Icon=""
             MenuDescription="CustomLink"
             MenuKey="ADM_62_010_010" MenuSeq="10" MenuType="MENU"
             ParentMenuKey="ADM_62_010" ResourceKey="NEWCUSTOMLINK" SystemDefined="Y"/>
    
     </YFS_MenuList>
    
  5. Add entries for the custom menu description defined in YFS_MENU.xml in the Sitemap_en.properties_custom_ext file.
    
    Example:
    Link.CustomMenu = Custom Menu
    Link.CustomLink = Open Custom Web App
    
  6. Create custom.jsp and place it under Project_name/exploded_wars/admin/jsp/custom_folder_name/custom.jsp.

    You can give any name to this file and add all the content in this file. This file contains the link to launch the custom web application.

  7. Create installer.xml and custom_menu_installer.xml files. Include the resource.xml file, which needs to be installed.
    Note:  In custom_menu_installer.xml file, mention the name of the xml files created under XMLS.
    
    Example: custom_menu_installer.xml
    <Task Class="XMLMigrator" Description="custom menu Installation" When="First">
        <TaskInfo Completed="N">
                     <EntityList>
        <Entity AbortOnError="N" Class="YFS_Resource"  CommitCount="50" Completed="N" NumRecordsProcessed="0"  ResetEntityAttributes="Y" TruncateTable="N" XMLFile="YFS_RESOURCE.xml"/>
        <Entity AbortOnError="N" Class="YFS_Menu"  CommitCount="50" Completed="N" NumRecordsProcessed="0"  ResetEntityAttributes="Y" TruncateTable="N" XMLFile="YFS_MENU.xml"/>
                    </EntityList>
        </TaskInfo>
    </Task>
    
    
    Example: custom_menu_installer.xml
    <Task When="AfterChildren" Description="Custom Menu Installation" Class="DoNothingMigrator">
        <TaskInfo Completed="N"/>
         <ChildTasks>
             <Task When="First" Description="Custom Menu installation" Class="MigratorMain">
                <TaskInfo Completed="N" InputFile="custom_menu_installer.xml"/>
            </Task>
        </ChildTasks>
    </Task
    
  8. Restart Sterling B2B Integrator.
A custom menu appears in the left pane of the Sterling B2B Integrator dashboard.