Directory Studio
  1. Directory Studio
  2. DIRSTUDIO-888

Improve editing of boolean values to allow lowercased values and shortcuts

    Details

      Description

      In inline editor won't accept lowercase strings for AD boolean values. "true" and "false" aren't accepted. This was a bit unexpected so I started looking for other problems. A more relaxed approach could accept lower case values, or maybe even things like "t", "T", "f", 'F', "1", "0", "yes", "Y", "NO", ...

      A simple attribute editor for booleans would be a help to confirm/force a valid change. This becomes an issue if the change is not accepted for some reason, you aren't left wondering if you entered something invalid.

        Activity

        Hide
        Pierre-Arnaud Marcelot added a comment -

        Is it AD which is refusing a modification request with "true" or "false" strings?
        Does it expect them to be all uppercased?
        Thanks.

        Show
        Pierre-Arnaud Marcelot added a comment - Is it AD which is refusing a modification request with "true" or "false" strings? Does it expect them to be all uppercased? Thanks.
        Hide
        Jim Birch added a comment - - edited

        Ok, I'll hopefully give you the full report this time

        Dirstudio 2.0.0.v20130131
        on Java 1.7.0_15 64bit
        on Windows 7 64 bit

        Connected to Active Directory,
        Search for a User record, open detail
        Doubleclick to edit the boolean msExchHideFromAddressLists,
        was set to "TRUE"
        Type "false" then hit Enter
        results in the following error
        ====
        Error while executing LDIF -[LDAP: eror code21 -00000057: LdapErr: DSID-0C90B8A, comment: Error in attribute conversion operation, data, v1db1
        ====
        (see attachment: LowerCaseFalseError.PNG )

        Repeating this operation using uppercase "FALSE" changes the value

        Show
        Jim Birch added a comment - - edited Ok, I'll hopefully give you the full report this time Dirstudio 2.0.0.v20130131 on Java 1.7.0_15 64bit on Windows 7 64 bit Connected to Active Directory, Search for a User record, open detail Doubleclick to edit the boolean msExchHideFromAddressLists, was set to "TRUE" Type "false" then hit Enter results in the following error ==== Error while executing LDIF -[LDAP: eror code21 -00000057: LdapErr: DSID-0C90B8A, comment: Error in attribute conversion operation, data, v1db1 ==== (see attachment: LowerCaseFalseError.PNG ) Repeating this operation using uppercase "FALSE" changes the value
        Hide
        Kiran Ayyagari added a comment -

        That is because in LDAP the acceptable boolean values are TRUE or FALSE (yes, in caps
        We relaxed it a bit in Apache Directory server where TRUE/true and FALSE/false are all valid but AD seems to follow this very strictly.

        Show
        Kiran Ayyagari added a comment - That is because in LDAP the acceptable boolean values are TRUE or FALSE (yes, in caps We relaxed it a bit in Apache Directory server where TRUE/true and FALSE/false are all valid but AD seems to follow this very strictly.
        Hide
        Jim Birch added a comment -

        Ok, I understand that the problem is outside Dir Studio now. That said, it might still make sense for the editor to do a bit of simple fixing (sanity checking?) of input before sending it off.

        Your call.

        Show
        Jim Birch added a comment - Ok, I understand that the problem is outside Dir Studio now. That said, it might still make sense for the editor to do a bit of simple fixing (sanity checking?) of input before sending it off. Your call.
        Hide
        Emmanuel Lecharny added a comment -

        Beside the fact that AD does an horrible job as a LDAP server, I do think we should soften the user experience by transforming his/her input to something that AD can swallow. If he user sets 'Yes', we should convert it to TRUE. That should not be a problem, imo.

        Show
        Emmanuel Lecharny added a comment - Beside the fact that AD does an horrible job as a LDAP server, I do think we should soften the user experience by transforming his/her input to something that AD can swallow. If he user sets 'Yes', we should convert it to TRUE. That should not be a problem, imo.
        Hide
        Pierre-Arnaud Marcelot added a comment - - edited

        Fixed at revision 1459333.

        http://svn.apache.org/r1459333

        I created a new Boolean in-place editor which saves as value:

        • "TRUE" for the following expressions (case insensitive)
        • "TRUE"
        • "T"
        • "YES"
        • "Y"
        • "1"
        • "FALSE" for the followong expressions (case insensitive):
        • "FALSE"
        • "F"
        • "NO"
        • "N"
        • "0"

        Thanks for your great suggestion!

        Show
        Pierre-Arnaud Marcelot added a comment - - edited Fixed at revision 1459333. http://svn.apache.org/r1459333 I created a new Boolean in-place editor which saves as value: "TRUE" for the following expressions (case insensitive) "TRUE" "T" "YES" "Y" "1" "FALSE" for the followong expressions (case insensitive): "FALSE" "F" "NO" "N" "0" Thanks for your great suggestion!

          People

          • Assignee:
            Pierre-Arnaud Marcelot
            Reporter:
            Jim Birch
          • Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development