IBM Support

Configuration for Filtering with Application ID and Sigoption ID within Applications Tab of Security Groups

Technical Blog Post


Abstract

Configuration for Filtering with Application ID and Sigoption ID within Applications Tab of Security Groups

Body

By default, Maximo (or Control Desk) Security Groups application has a tab named Applications, which is used in order to grant Signature Options per application. We filter the applications and their signature options by their descriptions in this tab. But, we usually tend to memorize applications and the signature options by their IDs, i.e. App ID for Work Order Tracking application is wotrack. There are also many default or custom signature options defined for Work Order Tracking application such as READ, DUPLICATE, REPFACILITY, WMLINEAR etc. It is also easier to list and find these signature options with their IDs. Hence, we will add the ID column for applications and their signature options to the Security Groups application.

We export securgroup.xml from Application Designer and add the following three lines below. Then we import the xml back in the system. Equivalently, we can add these table columns by drag and drop functionality using the Application Designer user interface.

...
<tablecol dataattribute="APP" id="appls_app_table_tablebody_0"/>
...
<tablecol dataattribute="OPTIONNAME" id="appls_sigmain_table_tablebody_0"/>
...
<tablecol dataattribute="OPTIONNAME" id="appls_sigo_table_tablebody_0"/>
...

Here, how the xml piece for Applications tab looks like after our edit. The added lines are emphasized in bold font.

<tab id="applications" label="Applications">
    <section border="true" id="appls_grid1">
        <multiparttextbox dataattribute="groupname" descdataattribute="description" id="appls_grid1_1"/>
    </section>
    <table beanclass="psdi.webclient.beans.securgroup.ApplicationsBean" id="appls_app_table" label="Applications" orderby="description" relationship="MAXAPPS">
        <buttongroup id="appls_buttons">
            <pushbutton id="appgrantbutton" label="Grant Listed Applications" menutype="APPGRANT" targetid="appls_app_table"/>
            <pushbutton id="apprevokebutton" label="Revoke Listed Applications" menutype="APPREVOKE" targetid="appls_app_table"/>
        </buttongroup>
        <tablebody displayrowsperpage="10" filterable="true" id="appls_app_table_tablebody">
            <tablecol dataattribute="APP" id="appls_app_table_tablebody_0"/>
            <tablecol dataattribute="description" id="appls_app_table_tablebody_1" inputmode="readonly"/>
            <tablecol dataattribute="maxobject.description" id="appls_app_table_tablebody_2" inputmode="readonly" label="Main Object/Table"/>
            <tablecol dataattribute="origapp.description" id="appls_app_table_tablebody_3" inputmode="readonly" label="Original Application (if copied)"/>
        </tablebody>
    </table>
    <table beanclass="psdi.webclient.beans.securgroup.ApplicationsBean" id="appls_sigmain_table" label="Options for {0}" orderby="description" parentdatasrc="appls_app_table" parentemptylabel="Options" relationship="SIGOMAIN">
        <sectionheader id="appls_sigmain_table_sectionheader">
            <paramvalues id="appls_sigmain_table_params">
                <paramvalue dataattribute="description" datasrc="appls_app_table" id="appls_sigmain__table_param_1" position="0"/>
            </paramvalues>
        </sectionheader>
        <buttongroup id="sigmain_buttons">
            <pushbutton id="sigmain_buttons_1" label="Grant Listed Options for This Application" mxevent="allsigoauthorized"/>
        </buttongroup>
        <tablebody displayrowsperpage="4" filterable="true" id="appls_sigmain_table_tablebody">
            <tablecol filterable="false" id="appls_sigmain_table_tablebody_1a" mxevent="toggledetailstate" mxevent_desc="Show Detail" sortable="false" type="event"/>
            <tablecol dataattribute="OPTIONNAME" id="appls_sigmain_table_tablebody_0"/>
            <tablecol dataattribute="description" id="appls_sigmain_table_tablebody_1" inputmode="readonly"/>
            <tablecol dataattribute="authorized" id="appls_sigmain_table_tablebody_2" ondatachange="resetchildren" sortable="false">
                <checkbox dataattribute="authorized" id="appls_sigmain_table_tablebody_2_box" ondatachange="resetchildren"/>
            </tablecol>
            <tablecol applink="condexpmgr" dataattribute="conditionnum" id="appls_sigmain_table_tablebody_3" lookup="conditionexp" menutype="normal">
                <textbox id="appls_sigmain_table_tablebody_3a"/>
            </tablecol>
        </tablebody>
        <tabledetails id="appls_sigmain_table_tabledetails_1">
            <section id="appls_sigmain_table_tabledetails_grid30" label="Details">
                <sectionrow id="appls_sigmain_table_tabledetails_r1">
                    <textbox dataattribute="description" id="appls_sigmain_table_tabledetailsrow1_1" inputmode="readonly"/>
                    <checkbox dataattribute="authorized" id="appls_sigmain_table_tabledetailsrow1_2"/>
                    <multiparttextbox applink="condexpmgr" dataattribute="conditionnum" descdataattribute="condition.description" descinputmode="readonly" id="appls_sigmain_table_tabledetailsrow1_3" lookup="conditionexp" menutype="normal"/>
                    <textbox dataattribute="condition.type" id="appls_sigmain_table_tabledetailsrow1_4" inputmode="readonly"/>
                    <multilinetextbox columns="55" dataattribute="condition.expression" id="appls_sigmain_table_tabledetailsrow1_5" inputmode="readonly" rows="4"/>
                    <textbox dataattribute="condition.classname" id="appls_sigmain_table_tabledetailsrow1_6" inputmode="readonly"/>
                </sectionrow>
            </section>
        </tabledetails>
    </table>
    <table beanclass="psdi.webclient.beans.securgroup.ApplicationsBean" id="appls_sigo_table" orderby="description" parentdatasrc="appls_app_table" relationship="SIGOOTHER">
        <sectionheader id="appls_sigo_table_sectionheader">
            <paramvalues id="appls_sigo_table_params">
                <paramvalue dataattribute="description" id="appls_sigo__table_param_1" position="0"/>
            </paramvalues>
        </sectionheader>
        <tablebody displayrowsperpage="10" filterable="true" id="appls_sigo_table_tablebody">
            <tablecol filterable="false" id="appls_sigo_table_tablebody_1a" mxevent="toggledetailstate" mxevent_desc="Show Detail" sortable="false" type="event"/>
            <tablecol dataattribute="OPTIONNAME" id="appls_sigo_table_tablebody_0"/>
            <tablecol dataattribute="description" id="appls_sigo_table_tablebody_1" inputmode="readonly"/>
            <tablecol dataattribute="authorized" id="appls_sigo_table_tablebody_2" ondatachange="refreshtable" sortable="false">
                <checkbox dataattribute="authorized" id="appls_sigo_table_tablebody_2_box" ondatachange="refreshtable"/>
            </tablecol>
            <tablecol applink="condexpmgr" dataattribute="conditionnum" id="appls_sigo_table_tablebody_3" lookup="conditionexp" menutype="normal">
                <textbox id="appls_sigo_table_tablebody_3a"/>
            </tablecol>
        </tablebody>
        <tabledetails id="appls_sigo_table_tabledetails_1">
            <section id="appls_sigo_table_tabledetails_grid30" label="Details">
                <sectionrow id="appls_sigo_table_tabledetails_r1">
                    <textbox dataattribute="description" id="appls_sigo_table_tabledetailsrow1_1" inputmode="readonly"/>
                    <checkbox dataattribute="authorized" id="appls_sigo_table_tabledetailsrow1_2"/>
                    <multiparttextbox applink="condexpmgr" dataattribute="conditionnum" descdataattribute="condition.description" descinputmode="readonly" id="sigo_sigmain_table_tabledetailsrow1_3" lookup="conditionexp" menutype="normal"/>
                    <textbox dataattribute="condition.type" id="appls_sigo_table_tabledetailsrow1_4" inputmode="readonly"/>
                    <multilinetextbox columns="55" dataattribute="condition.expression" id="sigo_sigmain_table_tabledetailsrow1_5" inputmode="readonly" rows="4"/>
                    <textbox dataattribute="condition.classname" id="appls_sigo_table_tabledetailsrow1_6" inputmode="readonly"/>
                </sectionrow>
            </section>
        </tabledetails>
    </table>
</tab>

Below, you can see how the tab looks like after the configuration. The added table columns are marked with red boxes and ready for filtering.

image

[{"Business Unit":{"code":"BU005","label":"IoT"}, "Product":{"code":"SSLKT6","label":"Maximo Asset Management"},"Component":"","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"","Edition":""}]

UID

ibm11130409