Using Conditional UI to make a field readonly


Conditional UI can be used to apply various UI related conditions.

Nice definition isn’t it? 🙂

Lets say you want to make a textbox readonly based on some business rule i.e. condition.

Following are the steps for doing it:

1) Identify the field which has to be readonly.

2) Identify the business rule or condition for it being readonly or not.

3) Create a condition using Conditional Expression Manager

Conditional Expression


4) Go to the Application Designer and create a Signature Option using “Add/Modify Signature Option”.

5) Assign this newly created Signature Option to the field “Signature Option” propeties by going to Right Click > Property.

6) Click the “Configure Conditional Properties” button.

7) Select the “Security Group” to which this rule should apply. Select the condition we created above in “Conditions for Security Group”.

8) In property values section select “inputmode” as the property and “readonly” as the value.

9) Selete “Ok” and then go to “Security Groups” application. Now, we need to provide access to the signature option that we created above to the appropriate user group.

Once that is done, you are ready and based on the condition being true your field will be readonly.

You can apply this to a section or tab as well if you want entire section or a tab to be readonly for a user in a particular user group based on a specific condition.

Similarly, we can using any of the properties we see in the property window and apply conditional UI on that.




21 thoughts on “Using Conditional UI to make a field readonly

  1. Anton Kabachkov

    Hello, I have a problem with a using of Signature Options
    Below are details

    In our project we have own Application “Lease Contracts”. There is one field in it, which i have to make readonly for all security groups except only one, which calles “LC subco”.
    I folowed your instruction, but when I create new Signature option with my own condition the field becomes invisible for all.
    Here is my steps:
    1) Create condition: &username&=’Vadim.Tsoy’
    2) Created signature option TST
    3) For control i defined signature option – TST, security group – ‘everyone’, defined condition. And property – inputmode-readonly if true, default if false
    4) In security group application I granted access to defined signature option for Security group “LC subco” in which ‘Vadim.Tsoy’ user

    But if I login with Vadim.Tsoy account this control have readonly state. What’s wrong?

    Thanks beforehand

    1. admin Post author


      You need to assign the signature option to all security groups so give access to “EVERYONE” group.

      Now when LC subco” logs in the condition should resolve to true and in true condition it will be writetable, in false give inputmode-readonly=false so for all other groups it will be false.

      It will be invisible as other groups do not have access to that field.

      So just agrant access to that signature to everyone and on true conditino it will be writeble on false readonly.

      Let me know if this helps.


      1. Mohamed Hasan


        Thanks a lot for your support

        Please help me because I faced the same problem – Invisable field for all groups – , can you let me know step by step how can solve this problem

        Thanks & regards

  2. Rustam

    Hell All,
    Can some body help me.
    I am using the IBM Maximo 7.1 and when i use application i can see the section and can use it, I have to add a field in this section, and i try to do it from the Application designer.
    But when i open the same application in the application design i cannot find the section which i need modify.
    If some body have solution for this issue please share with me.
    Thank you in advance.

  3. admin Post author

    Some sections can be added using include tag. For example if you see worklog in Workorder, in the xml there is no worklog, its there in library.xml but is included in workorder xml.

    Using this example can you identify whether the section is in library.xml?


  4. Rustam

    Thank you for response,
    Unfortunately, I can not find the section or application name from the library.xml file.
    According your example i can explain detail, We have “lease contract” application module and in this application we are calling another application as “partners information” and this partners information is as section for “Lease Contract” application . we need add one field in “partners information” section. Therefor i added the new field in the “partners information” application and it is ok and everyone can see the new field when they logg in to directly the “partners information” application. But when users log in to the “Lease contract” module they cannot see the new field.
    My question is that how i can call the new field in a “Lease Contract ” application.

    1. admin Post author

      I think the problem is that the included xml has the new field but as the xml in which it is included i.e. lease contracts is not refreshed its not getting the updated xml.

      So, just reload lease contracts xml (maybe just change a label) and restart your server and you should see the new field.

      It has happened to me when I changed Worklog xml but did notsee the changes in workorder application.


  5. Rustam

    Hello again,
    We found the section name in the xml file and add new column there and import the new xml then every thing is ok. Thank you for you advice. It helps me to solve the problem.

  6. Rustam

    Hello Admin,
    Could you advice me about Maximo BIRT Report systems?
    We are using Maximo 7.1 version and BIRT is also using for Reporting. When we run the report it is working properly and we can export report in many types for example ppt, doc, pdf, postscript and xls. But when we scheduling the report it automatically export report to pdf format, actually we need reports in xls format. Could you help us in this situation, how we can change the export type from pdf to xls in scheduling ?
    Thank you in advance.

  7. Rustam

    Dear Admin,
    We have problem with Maximo.
    When we sign in Maximo and any application it is working well and we have some applications that they are using the workflow, Usually users can route the workflow by pressing the route button . When we try route the workflow it takes more then 5 minutes but before it routed in less then 1 minute.
    Could you please advice us to define the reason of this problem ?
    Thank you in advance.

  8. aathishivan

    hi admin
    actually i haave created a data field in a dialogbox with mandory mode but that works even its a blank,how possible this is.

  9. NewOne


    i’m having problems in funcionality shown abowe. The record’s which includes a condition(TRUE) are realy set readonly but all others(FALSE) are not shown. I have used properties inputmode=’Default’ … but the field is not shown.

    Can anyone help me find solution for my problem.


  10. Anirudh

    Hi Admin,

    What difference does it make if I want to change all SAVE sigoptions on my ‘change’ application to ‘READ’ sigoption. I tried chnaging one of the fields and the false condition disappears. Is it advisable to add manually the false condition for readonly/mandatory ?


  11. Sree

    Hi Admin,
    I need to connect to remote db using Interface table ENDPOINT details like driver, username, url and password from a custom cron task.

    I am retrieving the values from MAXENDPOINTDTL, I am not able to get value for Password as it is encrypted.

    Is there any way to get the actual password value in the code.

    1. admin Post author

      Hi Sree,

      I am not sure how to answer this as i do not know whch algorithm was used to encrypt the password in this case.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s