548 Posts
joomleb
11 years ago
Topic

Thinking in 2013 work with Username login is awful, and can work simply with email+password login is a must:

take a look on Idea Pool: Idea 1 - Idea 2 - Idea 3 

I'm looking to work with the only Extension Plugin Email as Username that seem to permit this can happen.

Do anyone have experience if it run on Joomla 3.x + Seblod 3.x + JFBConnect and its SCLogin module?
What's your opinion?
Do you have any suggestion?

I'm too interested on know what Seblod developers think about
Thank you to all in advance...

Get a VIP membership
11 years ago
9
Level 1

Hello Emiliano,


If the registration form of your site is being handled by Seblod, you can do the following.


1 - On the "User Username" field, go to button 1, make it hidden


2 - Still on the same field, on button 5, at Computation Rules column, click Add. After lightbox is open, on field "Computation", choose the option "Concatenate". On the below field, choose the option "User Email"


Done...


This way your every new user that register to your site, will have it's e-mail as username.


Regards

Paulo Griiettner

548 Posts
joomleb
11 years ago
1
Level 2

Hi Paulo, 

in first many thanks for suggestion. Then, where do I have to apply that changes? In wich fie?!?

11 years ago
0
Level 3

Emiliano,


You do this on your Content Type that handles user registration and it need to be done on the "User Username" field

11 years ago
0
Level 2

Hello,

Thx for the tip. I tried this out, but it does not work, as the concatenate rule copies only the part of the email coming before the @ sign.

Is there a way to avoid that ?

548 Posts
joomleb
11 years ago
0
Level 2

Yes, Paulo, 

the concatenate rule copies only the part of the email coming before the @.

Please, Is there any solution ?

PS As you can see on my first post, being a solution that a lot of users are looking for, I think would be very helpful to put the trick in the manuals! (and/or FAQs)

548 Posts
joomleb
11 years ago
4
Level 2

Hi Paulo, 

I followed your tip with joomla 3.1.5 - Seblod 3.1.5

I have back this Error message when I try to register:

Error

Registration failed: Please enter a user name.

An error has occurred.


I thought was because the "User Username" is a "required" field and during registration being "concatenate" cannot be found yet in the DB, so I changed it to "optional" in the Site Form and also in the Admin Form (button 3), but always the same error message. 

Please, What am I missing ? Have you any suggestion ?

11 years ago
3
Level 3

You could easy solv it with some editing of your mod_login modul simply add some php that modifys the login form entered information for example 

Inpute in Login form = frank@frank.de

use php to replace @ with -atemailsign- and the . point dot with -dotsign-

then you add as username in joomla -> frank-atemailsign-frank-dotsign-de

after that you simply add and transform the other way back for greetings or else 

in  frank-atemailsign-frank-dotsign-de replace -atemailsign- with @ and -dotsign- with . 

thats it.

548 Posts
joomleb
11 years ago
2
Level 4

Hi direktSPEED, 

many thanks for suggestion :) , but I don'T think is the right way:

in first because I'm speaking about Registration Form and not the mod_login module;

then, above all, because I think that use Seblod and "use php to replace" is not the Seblod plan, I'm looking to find a way using Seblod features; 

11 years ago
1
Level 5

ok then make a more easy more right way as i tested you can Normaly Create Users with a Email as username with J3.1.5 and SEBLOD 3.1.5 i think you simply need a way to copy the value from email fild to a hidden username fild you can use javascript in your template for that.

548 Posts
joomleb
11 years ago
0
Level 6

Hi Frank, 

this is what I'm testing: using the "Concatenate" Seblod function as suggested from Paulo (and for whom I have the error message)...

10 years ago
0
Level 1

The only issue with using the concat field, as others have posted, is that it cuts off after special characters. So @ and . cut off the input. I've been trying to find where this is controlled and can't see to find it. Any thoughts?

98 Posts
Edwin
10 years ago
0
Level 1
Hello all

For what it's worth, I use Simon's SD Field Concat. I create field with SD Field Concat and concatenate email field to username field on registration form (user content type).

regards
548 Posts
joomleb
10 years ago
0
Level 1
Hi to all, 
I found a simple and easy solution for me: use the "username" field like to input the "email" and the "email" field to check the first field (as is done for the "password" field). After that "username" and "email" are always equal. After that, to have the 100% compatibility with all components etc. I used overrides language to override "Email" where there was "Username"!

Here a How To step by step:

Seblod - Form & Content Type - User:
  • Site Form - Configuration > Configuration > Message (Thanks): USERS_REGISTRATION_COMPLETE_ACTIVATE
  • Site Form - Fields: move User Email below User Username
  • Site Form - Fields > 1 > User Username > edit > Construction Maxlegth: 100 = User Email
  • Site Form - Fields > 3 > User Username > Required + Validation: Email
  • Site Form - Fields > 3 > User Email > Required + Validation: Confirm user_username
  • Languages Overrides: COM_CCK_LOGIN_NAME
  • Languages Overrides: COM_CCK_EMAIL
  • Languages Overrides: COM_CCK_USERS_REGISTRATION_COMPLETE_ACTIVATE
  • Languages Overrides: COM_CCK_EMAIL_REGISTERED_WITH_ACTIVATION_BODY
  • Languages Overrides: COM_USERS_LOGIN_USERNAME_LABEL
  • Languages Overrides: COM_USERS_REGISTRATION_ACTIVATE_SUCCESS
Joomla - Language Manager:
  • Language Manager > Override > JGLOBAL_AUTH_INVALID_PASS
  • Language Manager > Override > JGLOBAL_AUTH_NO_USER
Hoping that this might help someone else, please let me know if I forgot something ;)
10 years ago
0
Level 1
From the early begining of my project, I also thought to use e-mail field as username. JED has a lot of plugins to make it possible, but not Seblod :)


After 1 month of *** I came to conclusion...untill Joomla! will not do this in own Core - we must use username, especially if your website is interactive (users can create content based on pre-defined CT in Seblod).

I'll point out disadvantages of using e-mail instead of username:
  1. username is used for AUTHOR link text, if you use emails - user's e-mail will be visible instead of username/author alias. This means, you have to generate Author Alias field also in Seblod in order to hide e-mails. By default Joomla use username if author alias isn't filled in the metadata
  2. be sure that components you are using, also work with e-mails with @ character.
  3. also be aware about one more action from user's initiative : editing own profile, I've mentioned that here http://www.seblod.com/.../registation-edit-form-one-action-no-restrictions
  4. if you hide username field - use special HIDDEN position in the form's template (not type=hidden), also field must be set "not required".
  5. You don't need SD concat most probably - it doesn't render itself before push save button, I guess you need call PHP function "substr" like here http://stackoverflow.com/.../remove-characters-after-string and also add some chars (for example PHP rand http://stackoverflow.com/.../php-random-number-using-min-max ) in case if the username is already taken by somebody (this is the most difficult part - I guess it needs a PHP like http://stackoverflow.com/.../check-sql-database-if-value-exists-and-then-return-value-if-it-does to check DB table,...or JS like AJAX). I don't know for sure, but maybe you need http://www.seblod.com/products/1854 Before store plugin ?
That's why I suggest to use one more simple text field username :) - 10 seconds to fill by user. 100% less problems!
Get a Book for SEBLOD