Topic-icon Registration via FB / Linked fails if req. field not shown on profile

Active Subscriptions:

None
Hello,

I've setup JFBConnect 6.2.4 with the latest Community Builder version 2.0.7 and have successfully setup registration via Facebook. I pull a few fields from Facebook which then redirects to the 'intermediate' JFBConnect signup page where the user can chose to create a new account or connect to an existing one. All worked fine until...

I changed one of the mandatory CB fields (a drop down which is not pulled from Facebook) to NOT show on the profile view. It's still set to show in registration as well as profile edit. Just not in profile view. When I did this, the JFBConnect falls apart as follows: It seems to pull fields from Facebook such as current location which is shown in the intermediate signup page. When clicking through the 'intermediate' JFBConnect signup page, it then 'logs me into' CB and redirects to 'profile edit' (as configured per backend). However, it does not have the pulled data anymore at this point in time. After this semi-failed registration, the user does not exist in the CB user database. However, it is created in the Joomla user database and in the JFBConnect user map.

If I turn the CB field in question to show also on profile view on again, then everything works just fine as before.

So, this is a bit odd and I don't know how to keep using JFBConnect for FB registration and hide some of the CB fields on profile view.

I'd understand if the signup was choking if the I set the CB Field to not show 'on registration' but I am not doing that. It's just set to not show on profile view.

Any ideas would be most appreciated. Thank you!
Oliver

PS I tried the same now with LinkedIn, and *almost* same thing happens, just one small difference. Also with register via LinkedIn, the profile data is pulled and shown on the intermediate signup page. When continuing registration there, the redirect happens to profile edit and all pulled data is lost again. This time, the user does NOT exist in the JFBConnect user map. It does not exist in the CB user manager. But it does exist in the Joomla user manager. And again, if I put the field to show on the profile view again, then all works like magic.
The topic has been locked.
Support Specialist
Can you tell me if the field is marked as 'required'? That's the most important setting to check. If it is marked as required, then CB will not allow us to save the user if it's not filled out.. even if the user is registering and the field is only set to show on the profile page. There's nothing we can do about that.

If 'Required' is disabled, let me know and we can investigate further.

Thanks,
Alex
The topic has been locked.
Active Subscriptions:

None
Hi Alex,

Yes, the field is required. What I don't understand is that why does JFBConnect not show this field on this intermediate registration page? If it's not shown here then the user can't fill it out. The field is set in CB to show on registration. So, I would expect JFBConnect to show it on this intermediate registration page. But it doesn't. JFBConnect showing it seems to depend only if the field is set in CB to show on profile view.

Thank you,
Oliver
The topic has been locked.
Support Specialist
It depends on the field type. JFBConnect tries to display all the types of fields that CB supports, but there's some very odd ones with odd semantics and code that we don't support. If it's a text-type, radio, select or other standard type field, we support it. If it's a custom field type, we may not.

Let me know the field type and I'll help however I can.

Thanks,
Alex
The topic has been locked.
Active Subscriptions:

None
Hi Alex,

I've tried with fields of type 'text field'. I think fields of type 'drop down (single select)' has the same problem.

Thanks again,
Oliver
The topic has been locked.
Support Specialist
Oliver,
JFBConnect should work and display both of those field types. Are you sure you have JFBConnect configured to show all fields in the Profiles -> Community Builder area? Are any other fields from CB showing on the registration page, or are those the only fields that are missing?

Thanks,
Alex
The topic has been locked.
Active Subscriptions:

None
Hello Alex,

Yes, I am quite sure. I just went to check again. In JFBConnect -> Profiles -> Community Builder tab I have under Profile Import the Show Profile Fields set to 'Required Only'. The two fields in question of type 'text field' and 'drop down (single select)' are both marked as Required in Community Builder Field manager.

I have now changed the JFBConnect setting of Show Profile Fields set to 'All' to test it out. The result is the same:

As soon as a CB field is set up in Community Builder to show at registration but to hide on profile view, it is then not shown on the JFBConnect intermediate signup page. If I set the field in CB to also show on profile view, then it is shown on the JFBConnect intermediate signup page.

Maybe I don't see the forest for all the trees anymore and doing something really obvious wrong. But I don't know what it would be.

Thank you,
Oliver
The topic has been locked.
Support Specialist
Oliver,
Thanks for your patience. I was just looking at the code and may have found the culprit that's causing the behavior your seeing. Can you edit the /plugins/socialprofiles/communitybuilder/communitybuilder.php file. Around line 104, you'll see:
if ($cbField->published && $cbField->profile && $cbField->registration && !$hideField)
That line is what determines when a field is shown and requires that the field is published, profile and registration. Please try to update it like:
if ($cbField->published && $cbField->registration && !$hideField)
That will make it so the field is set for registration and published, but doesn't have to be set to profile view.

I'm not sure why we have that requirement. Please let us know how that goes for you and we'll investigate removing that requirement in a future release.

Thanks,
Alex
The topic has been locked.