Can a username begin and/or end with an "x"?
Is it true that a username cannot begin or end with an "x"?
If this is true, is there anything in place to prevent the user from choosing a username that begins and/or ends with an "x" or do we need to build something like that ourselves?
Thanks,
Adam
Comments
-
Hey Adam,
Yes, usernames can begin or end with an x. You could write some javascript to prevent users from doing this, but depending on your reason for wanting to do this there might be an easier/better solution. Why are usernames beginning and/or ending with X an issue?
0 -
Chris Backus:
Hey Adam,
Yes, usernames can begin or end with an x. You could write some javascript to prevent users from doing this, but depending on your reason for wanting to do this there might be an easier/better solution. Why are usernames beginning and/or ending with X an issue?
Thanks for your response, Chris.
This "issue" was brought to me by somebody else on my team, but I had a hard time believing that it really is an issue and I'm happy to hear you don't think so either.
I've just confirmed that I'm able to create a user whose username begins and ends with an "x" on our sandbox site, so I think we're all set.
Thanks again.
Adam
0 -
Adam Kaye:
Thanks for your response, Chris.
This "issue" was brought to me by somebody else on my team, but I had a hard time believing that it really is an issue and I'm happy to hear you don't think so either.
I've just confirmed that I'm able to create a user whose username begins and ends with an "x" on our sandbox site, so I think we're all set.
Thanks again.
Adam
Let me jump in and say that we actually did have an issue with user names ending with the letter X. It manifested itself on our donation thank you page, where it didn't understand how to render the participants/donors name. The issue was that the letter 'x' is used to delineate the beginning and end of string values in certain conditionals. When the last name of the participant "Fox" was parsed, TeamRaiser saw the 'x' as the end of his name which created issues. We got around this issue by replacing the Xs with XYZ in the conditionals. Bad example:
From: [[?x19xTRUEx::x[[S4]]x[[S45:1234]]x::<!--doing stuff-->::<!--doing other stuff-->]]
To: [[?xyz19xyzTRUExyz::xyz[[S4]]xyz[[S45:1234]]xyz::<!--doing stuff-->::<!--doing other stuff-->]]
Disclaimer: We have a heavily customized site and this conflict was an edge case for us, but still a case we ran into.
0 -
Dustin Rambo:
Let me jump in and say that we actually did have an issue with user names ending with the letter X. It manifested itself on our donation thank you page, where it didn't understand how to render the participants/donors name. The issue was that the letter 'x' is used to delineate the beginning and end of string values in certain conditionals. When the last name of the participant "Fox" was parsed, TeamRaiser saw the 'x' as the end of his name which created issues. We got around this issue by replacing the Xs with XYZ in the conditionals. Bad example:
From: [[?x19xTRUEx::x[[S4]]x[[S45:1234]]x::<!--doing stuff-->::<!--doing other stuff-->]]
To: [[?xyz19xyzTRUExyz::xyz[[S4]]xyz[[S45:1234]]xyz::<!--doing stuff-->::<!--doing other stuff-->]]
Disclaimer: We have a heavily customized site and this conflict was an edge case for us, but still a case we ran into.
Thanks very much, Dustin.
While it's true that Convio doesn't mind a username that begins or ends with an 'x,' we are continuing to see issues when the user chooses a username that begins or ends with an 'x' during the TeamRaiser registration process.
Their account ends up getting created properly, but when the registration process is complete, the conditionals that usually show the user as logged in appear to be failing.
I'm going to try your suggestion and will report back here. Thanks again.
Adam
0 -
Dustin Rambo:
Let me jump in and say that we actually did have an issue with user names ending with the letter X. It manifested itself on our donation thank you page, where it didn't understand how to render the participants/donors name. The issue was that the letter 'x' is used to delineate the beginning and end of string values in certain conditionals. When the last name of the participant "Fox" was parsed, TeamRaiser saw the 'x' as the end of his name which created issues. We got around this issue by replacing the Xs with XYZ in the conditionals. Bad example:
From: [[?x19xTRUEx::x[[S4]]x[[S45:1234]]x::<!--doing stuff-->::<!--doing other stuff-->]]
To: [[?xyz19xyzTRUExyz::xyz[[S4]]xyz[[S45:1234]]xyz::<!--doing stuff-->::<!--doing other stuff-->]]
Disclaimer: We have a heavily customized site and this conflict was an edge case for us, but still a case we ran into.
Dustin,
That issue only occurs if you've written your conditional like this:
[[?x[[S1:last_name]]x::xx::you don't have a last name::you have a last name]]This syntax is often used, but it's actually backwards. The conditional should instead be written:
[[?xx::x[[S1:last_name]]x::you don't have a last name::you have a last name]]The first conditional says "if xlast namex contains xx then return 'you don't have a last name', else return 'you have a last name'." As you described, this returns a false positive if the constituent's last name begins or ends with x, since "xxavierx" contains "xx" and so does "xfoxx".
The second conditional says "if xx contains xlast namex". This won't ever be true unless the last name is truly blank -- "xx" does not contain "xxavierx" or "xfoxx".1 -
Noah Cooper:
Thanks very much, Noah.Dustin,
That issue only occurs if you've written your conditional like this:
[[?x[[S1:last_name]]x::xx::you don't have a last name::you have a last name]]This syntax is often used, but it's actually backwards. The conditional should instead be written:
[[?xx::x[[S1:last_name]]x::you don't have a last name::you have a last name]]The first conditional says "if xlast namex contains xx then return 'you don't have a last name', else return 'you have a last name'." As you described, this returns a false positive if the constituent's last name begins or ends with x, since "xxavierx" contains "xx" and so does "xfoxx".
The second conditional says "if xx contains xlast namex". This won't ever be true unless the last name is truly blank -- "xx" does not contain "xxavierx" or "xfoxx".
This was exactly what was wrong with our conditional, so a very simple fix of swapping the first and second elements within the conditional immediately caused everything to snap right into place.
Hopefully this thread will prove useful to others in the future. I know we'll be careful to avoid the same mistake over here.
Thanks again.
Adam0 -
This is an old post, but I just cleared up a similar case where we had a bug matching an event's city (Phoenix) against a blank value, in the wrong search order (i.e., resulting in:
[[?xPhoenixx::xx::{etc.}::{etc.}}]]...and the code thinks the city name is blank).
I'm not sure why any alphanumeric character is suggested for the delimiter, but coming from the world of regular expressions (where "^" denotes the beginning of a line, "$" the end of a line), I've taken to changing all our conditionals to use these two characters as delimiters. This also has the benefit of being able to write the conditional in either direction, i.e.:
[[?^[[C1:event_city]]$::^$::{IS BLANK}::{IS NOT BLANK}]]or
[[?^$::^[[C1:event_city]]$::{IS BLANK}::{IS NOT BLANK}]]...plus an example for multiple possible matches, where order necessarily matters:
[[?^Kingman$^Phoenix$^Seligman$^Tucson$::^[[C1:event_city]]$::{MATCH}::{NO MATCH}]]I can't think of any plausible scenario where you'd run up against ^$ in any string that wasn't already a regular expression of some kind. Maybe if you had some kind of exponential expression followed by a dollar amount. However one prefers to delimit searches, ^$ or otherwise, it's a good idea to just stay away from alphanumeric characters for the purpose.
2
Categories
- All Categories
- Shannon parent
- shannon 2
- shannon 1
- 21 Advocacy DC Users Group
- 14 BBCRM PAG Discussions
- 89 High Education Program Advisory Group (HE PAG)
- 28 Luminate CRM DC Users Group
- 8 DC Luminate CRM Users Group
- Luminate PAG
- 5.9K Blackbaud Altru®
- 58 Blackbaud Award Management™ and Blackbaud Stewardship Management™
- 409 bbcon®
- 2.1K Blackbaud CRM™ and Blackbaud Internet Solutions™
- donorCentrics®
- 1.1K Blackbaud eTapestry®
- 2.8K Blackbaud Financial Edge NXT®
- 1.1K Blackbaud Grantmaking™
- 527 Education Management Solutions for Higher Education
- 1 JustGiving® from Blackbaud®
- 4.6K Education Management Solutions for K-12 Schools
- Blackbaud Luminate Online & Blackbaud TeamRaiser
- 16.4K Blackbaud Raiser's Edge NXT®
- 4.1K SKY Developer
- 547 ResearchPoint™
- 151 Blackbaud Tuition Management™
- 1 YourCause® from Blackbaud®
- 61 everydayhero
- 3 Campaign Ideas
- 58 General Discussion
- 115 Blackbaud ID
- 87 K-12 Blackbaud ID
- 6 Admin Console
- 949 Organizational Best Practices
- 353 The Tap (Just for Fun)
- 235 Blackbaud Community Feedback Forum
- 55 Admissions Event Management EAP
- 18 MobilePay Terminal + BBID Canada EAP
- 36 EAP for New Email Campaigns Experience in Blackbaud Luminate Online®
- 109 EAP for 360 Student Profile in Blackbaud Student Information System
- 41 EAP for Assessment Builder in Blackbaud Learning Management System™
- 9 Technical Preview for SKY API for Blackbaud CRM™ and Blackbaud Altru®
- 55 Community Advisory Group
- 46 Blackbaud Community Ideas
- 26 Blackbaud Community Challenges
- 7 Security Testing Forum
- 1.1K ARCHIVED FORUMS | Inactive and/or Completed EAPs
- 3 Blackbaud Staff Discussions
- 7.7K ARCHIVED FORUM CATEGORY [ID 304]
- 1 Blackbaud Partners Discussions
- 1 Blackbaud Giving Search™
- 35 EAP Student Assignment Details and Assignment Center
- 39 EAP Core - Roles and Tasks
- 59 Blackbaud Community All-Stars Discussions
- 20 Blackbaud Raiser's Edge NXT® Online Giving EAP
- Diocesan Blackbaud Raiser’s Edge NXT® User’s Group
- 2 Blackbaud Consultant’s Community
- 43 End of Term Grade Entry EAP
- 92 EAP for Query in Blackbaud Raiser's Edge NXT®
- 38 Standard Reports for Blackbaud Raiser's Edge NXT® EAP
- 12 Payments Assistant for Blackbaud Financial Edge NXT® EAP
- 6 Ask an All Star (Austen Brown)
- 8 Ask an All-Star Alex Wong (Blackbaud Raiser's Edge NXT®)
- 1 Ask an All-Star Alex Wong (Blackbaud Financial Edge NXT®)
- 6 Ask an All-Star (Christine Robertson)
- 21 Ask an Expert (Anthony Gallo)
- Blackbaud Francophone Group
- 22 Ask an Expert (David Springer)
- 4 Raiser's Edge NXT PowerUp Challenge #1 (Query)
- 6 Ask an All-Star Sunshine Reinken Watson and Carlene Johnson
- 4 Raiser's Edge NXT PowerUp Challenge: Events
- 14 Ask an All-Star (Elizabeth Johnson)
- 7 Ask an Expert (Stephen Churchill)
- 2025 ARCHIVED FORUM POSTS
- 322 ARCHIVED | Financial Edge® Tips and Tricks
- 164 ARCHIVED | Raiser's Edge® Blog
- 300 ARCHIVED | Raiser's Edge® Blog
- 441 ARCHIVED | Blackbaud Altru® Tips and Tricks
- 66 ARCHIVED | Blackbaud NetCommunity™ Blog
- 211 ARCHIVED | Blackbaud Target Analytics® Tips and Tricks
- 47 Blackbaud CRM Higher Ed Product Advisory Group (HE PAG)
- Luminate CRM DC Users Group
- 225 ARCHIVED | Blackbaud eTapestry® Tips and Tricks
- 1 Blackbaud eTapestry® Know How Blog
- 19 Blackbaud CRM Product Advisory Group (BBCRM PAG)
- 1 Blackbaud K-12 Education Solutions™ Blog
- 280 ARCHIVED | Mixed Community Announcements
- 3 ARCHIVED | Blackbaud Corporations™ & Blackbaud Foundations™ Hosting Status
- 1 npEngage
- 24 ARCHIVED | K-12 Announcements
- 15 ARCHIVED | FIMS Host*Net Hosting Status
- 23 ARCHIVED | Blackbaud Outcomes & Online Applications (IGAM) Hosting Status
- 22 ARCHIVED | Blackbaud DonorCentral Hosting Status
- 14 ARCHIVED | Blackbaud Grantmaking™ UK Hosting Status
- 117 ARCHIVED | Blackbaud CRM™ and Blackbaud Internet Solutions™ Announcements
- 50 Blackbaud NetCommunity™ Blog
- 169 ARCHIVED | Blackbaud Grantmaking™ Tips and Tricks
- Advocacy DC Users Group
- 718 Community News
- Blackbaud Altru® Hosting Status
- 104 ARCHIVED | Member Spotlight
- 145 ARCHIVED | Hosting Blog
- 149 JustGiving® from Blackbaud® Blog
- 97 ARCHIVED | bbcon® Blogs
- 19 ARCHIVED | Blackbaud Luminate CRM™ Announcements
- 161 Luminate Advocacy News
- 187 Organizational Best Practices Blog
- 67 everydayhero Blog
- 52 Blackbaud SKY® Reporting Announcements
- 17 ARCHIVED | Blackbaud SKY® Reporting for K-12 Announcements
- 3 Luminate Online Product Advisory Group (LO PAG)
- 81 ARCHIVED | JustGiving® from Blackbaud® Tips and Tricks
- 1 ARCHIVED | K-12 Conference Blog
- Blackbaud Church Management™ Announcements
- ARCHIVED | Blackbaud Award Management™ and Blackbaud Stewardship Management™ Announcements
- 1 Blackbaud Peer-to-Peer Fundraising™, Powered by JustGiving® Blogs
- 39 Tips, Tricks, and Timesavers!
- 56 Blackbaud Church Management™ Resources
- 154 Blackbaud Church Management™ Announcements
- 1 ARCHIVED | Blackbaud Church Management™ Tips and Tricks
- 11 ARCHIVED | Blackbaud Higher Education Solutions™ Announcements
- 7 ARCHIVED | Blackbaud Guided Fundraising™ Blog
- 2 Blackbaud Fundraiser Performance Management™ Blog
- 9 Foundations Events and Content
- 14 ARCHIVED | Blog Posts
- 2 ARCHIVED | Blackbaud FIMS™ Announcement and Tips
- 59 Blackbaud Partner Announcements
- 10 ARCHIVED | Blackbaud Impact Edge™ EAP Blogs
- 1 Community Help Blogs
- Diocesan Blackbaud Raiser’s Edge NXT® Users' Group
- Blackbaud Consultant’s Community
- Blackbaud Francophone Group
- 1 BLOG ARCHIVE CATEGORY
- Blackbaud Community™ Discussions
- 8.3K Blackbaud Luminate Online® & Blackbaud TeamRaiser® Discussions
- 5.7K Jobs Board