[OPENIDM-6657] Describe how to handle case sensitivity for queries Created: 16/Sep/16 Updated: 16/May/18 Resolved: 16/May/18
|Affects Version/s:||OpenIDM 4.0.0, OpenIDM 4.5.0|
|Reporter:||Tom Wood||Assignee:||Lana Frost|
|Remaining Estimate:||Not Specified|
|Time Spent:||Not Specified|
|Original Estimate:||Not Specified|
|Sprint:||OpenIDM Sprint 6.5-2|
|Support Ticket IDs:|
Forgotten Username and Reset Functionality requires user to perfectly match their search with the case of their userName, e.g. searching for 'BOB@BOB.COM' would not find a user whose email address was 'email@example.com'.
1. Start OpenIDM 4.0.0/4.5.0 with Sample 1
When using 'firstname.lastname@example.org', an error relating to external/email will be returned (as expected, this has not been configured).
When using 'scarter@EXAMPLE.COM', an 'Unable to find account' error will be returned.
According to RFC 1035, Section 3.1 (re-Domain Names):
|Comment by Jake Feasel [ 23/Sep/16 ]|
This isn't really a bug in OpenIDM - it is purely based on the configured database repository collation. See comments here: https://bugster.forgerock.org/jira/browse/OPENIDM-2684?focusedCommentId=44096&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-44096 and the mailing list here: https://lists.forgerock.org/pipermail/openidm/2014-November/003742.html
|Comment by Tom Wood [ 26/Sep/16 ]|
Agreed - although as we're providing the schema information, we should also be documenting how to handle this (imo).
The link Laurent provides in the above (https://forgerock.org/openidm/doc/bootstrap/integrators-guide/index.html#case-sensitivity) refers only to the case sensitivity of synchronisation mappings, but cannot be applied to how queryFilter responses can be modified.
Happy for this to be a documentation change, rather than anything code based.
|Comment by Brendan Miller [ 07/Jun/17 ]|
1) Modify UI template to either lower-case or upper-case input to match backend expecation
2) Modify Database backend to store data case-insensitively.
Can also document these cc Mike Jang [X]
|Comment by Mike Jang [X] (Inactive) [ 07/Jun/17 ]|
Brendan Miller Already doc'd case sensitivity in this section: https://ea.forgerock.com/docs/openidm/doc/backstage/integrators-guide/index.html#case-sensitivity
|Comment by Brendan Miller [ 05/Mar/18 ]|
Tom Wood Is this doc explanation sufficient?
|Comment by Tom Wood [ 13/Apr/18 ]|
Mike Jang [X] - I assume you're referring to this bit:
Is there any way to make this clearer? I missed it on my first read through! If we're going to reference the MySQL specific change, could we also provide information on other DB types (we get a fair few tickets on this) such as the CITEXT extension for Postgres?
|Comment by Mike Jang [X] (Inactive) [ 13/Apr/18 ]|
Hi Tom Wood, I see how it's easy to miss.
it sounds like we need at least an intro with a link from our Install Guide repo chapter.
I'd want to move the MySQL-specific reference to that chapter, possibly the MySQL section.
Unless we have case-sensitivity rules for other repos easily available, I'd refer to the respective docs for those repos.
if this makes sense, I'll take responsibility for this JIRA, and if you think appropriate, backport as needed.
|Comment by Jake Feasel [ 13/Apr/18 ]|
I don't think we actually have a proven solution for the citext module for postgres. Probably the best recommendation there is actually to change to an explicit table structure. Getting case insensitivity to work at scale with generic tables in PG is probably not possible.
|Comment by Lana Frost [ 16/May/18 ]|
|Comment by Laurent Bristiel [X] (Inactive) [ 16/May/18 ]|