Skip to Content Skip to Menu

How to Integrate CB profile edit, registration for other system

10 years 9 months ago - 10 years 9 months ago #239880 by iytworldwide
Hi Kyle,

In joomla I have multiple subsystem such as CB, Hika, joomdle, certificates etc. Since all subsystem are owned by different Company so all subsystem manage data in their system and that casues redundancy. For examplem, address is maintained in CB as well as Hika and both place it can get edited. It bring some concerns like synch up of address. It brings some other concerns too like in CB we can have only one address where as we might need to allow multiple address for user(for shipping). Same way, user can be created from CB and Hika too. All the UI fields I have in CB user creation screen, must then match with Hika's user creation UI too with all the conditional logic.

I am trying to normalize,minimize redundancy,same task being performed(user creation, edit of profile) to the highest extent possible. I treat CB as CRM for me which manages customer information i.e User profile, address, cntact details. Other modules such as hika, certificates, inovces etc must act as consumer of this information/data.

I want to disable address add/edit/delete, user create from Hika's own UI and let user manage address,user from CB UI only. So to simplify the user profile edit and creation only from CB, I need to know how can I integrate the CB existing User registration, profile edit UI from any other module? Is that possible? Please note, here a logged-in user(admin) is creating users by filling it self for business purpose. This is not linked with login form. I will be using this as modal window and will add that "create user" or "Edit Profile or edit address", link in Hika screen or where ever in my system I need to allow user registration, profile edit by admin. This will not remove redundancy as still behind the scene every system is managing data of there own but atleast I know which one is reliable data for a business work i.e for user/address it is always CB and for other business work it is always hika as I have defined there focus area in my application.

Since CB doesnot allow multiple address for user but I can still overcome this by adding billing and shipping address tab and feilds in CB for user, using framework and without customization

Warm Regards,
Amit Dangwal
Last edit: 10 years 9 months ago by iytworldwide.

Please Log in or Create an account to join the conversation.

  • krileon
  • krileon
  • ONLINE
  • Posts: 48477
  • Thanks: 8281
  • Karma: 1443
10 years 9 months ago #239906 by krileon
Disable registration and profiles in your 3rd party extension or system. Next use CB Auto Actions and the Query action on the after registration and after profile update triggers. You'll then need to query your 3rd party database and push the data to it as needed. Alternative is if your 3rd party usage has an API you can use a Code action with Method set to PHP and execute whatever PHP you need after a user registers or updates their profile.

There's no simple way to do it. You'll need to write all the code to push the data using a new CB plugin if you choose not to use CB Auto Actions to handle it.

Rendering profile edit/registration outside of CB doesn't tend to go so well, but it is technically possible if you absolutely need it.


Kyle (Krileon)
Community Builder Team Member
Before posting on forums: Read FAQ thoroughly + Read our Documentation + Search the forums
CB links: Documentation - Localization - CB Quickstart - CB Paid Subscriptions - Add-Ons - Forge
--
If you are a Professional, Developer, or CB Paid Subscriptions subscriber and have a support issue please always post in your respective support forums for best results!
--
If I've missed your support post with a delay of 3 days or greater and are a Professional, Developer, or CBSubs subscriber please send me a private message with your thread and will reply when possible!
--
Please note I am available Monday - Friday from 8:00 AM CST to 4:00 PM CST. I am away on weekends (Saturday and Sunday) and if I've missed your post on or before a weekend after business hours please wait for the next following business day (Monday) and will get to your issue as soon as possible, thank you.
--
My role here is to provide guidance and assistance. I cannot provide custom code for each custom requirement. Please do not inquire me about custom development.

Please Log in or Create an account to join the conversation.

10 years 9 months ago #239922 by iytworldwide
Hi Kyle,

I appreciate your effort on providing an approach.

Disable registration and profiles in your 3rd party extension or system. Next use CB Auto Actions and the Query action on the after registration and after profile update triggers. You'll then need to query your 3rd party database and push the data to it as needed. Alternative is if your 3rd party usage has an API you can use a Code action with Method set to PHP and execute whatever PHP you need after a user registers or updates their profile.
There's no simple way to do it. You'll need to write all the code to push the data using a new CB plugin if you choose not to use CB Auto Actions to handle it.


I believe the above point is regarding the data synch between two system? I am already doing this, so it is fine. I am just looking on UI integration aspects and not data synch. Data synch is in place using autoactions with all system but I want to restrict the data creation from multiple systems such as user, address, profile edit. For this I am interested in looking out CB UI integration with other system, i.e calling CB Profile edit screens through a modal window from a link on Hika screen. Same way CB User registration UI through a modal window from a link on Hika screen.


I tried searching this (modal window)or similar integration on joomlapolis but could not find any thing useful or an example and hence approached you. Most of them are 2 to 4 year old post so not sure they are applicable to current version of CB.

Rendering profile edit/registration outside of CB doesn't tend to go so well, but it is technically possible if you absolutely need it

Ok, so calling CB registraion, profile edit through modal window does not have any concern? It will be really helpful for me if you can provide some more insight on modal as well as comment "CB doesn't tend to go so well,"

I really like CB and the autoactions provided and using these where ever possible.


regards,
Amit Dangwal

Please Log in or Create an account to join the conversation.

  • krileon
  • krileon
  • ONLINE
  • Posts: 48477
  • Thanks: 8281
  • Karma: 1443
10 years 9 months ago #239954 by krileon
I suggest just redirecting to CB registration and profile edit. Using the below URLs. I do not suggest trying to render CBs pages outside of CB as it probably won't work; I can't say for sure as I've never tried to.

Registration: index.php?option=com_comprofiler&task=registers
Profile Edit: index.php?option=com_comprofiler&task=userdetails

I suppose you could also open them as popup windows, but popups are generally frowned upon. For a modal window you'd need to load the URLs in an iframe with &tmpl=component appended, but you'll lose the &tmpl=component once the form is posted.


Kyle (Krileon)
Community Builder Team Member
Before posting on forums: Read FAQ thoroughly + Read our Documentation + Search the forums
CB links: Documentation - Localization - CB Quickstart - CB Paid Subscriptions - Add-Ons - Forge
--
If you are a Professional, Developer, or CB Paid Subscriptions subscriber and have a support issue please always post in your respective support forums for best results!
--
If I've missed your support post with a delay of 3 days or greater and are a Professional, Developer, or CBSubs subscriber please send me a private message with your thread and will reply when possible!
--
Please note I am available Monday - Friday from 8:00 AM CST to 4:00 PM CST. I am away on weekends (Saturday and Sunday) and if I've missed your post on or before a weekend after business hours please wait for the next following business day (Monday) and will get to your issue as soon as possible, thank you.
--
My role here is to provide guidance and assistance. I cannot provide custom code for each custom requirement. Please do not inquire me about custom development.

Please Log in or Create an account to join the conversation.

10 years 9 months ago #239977 by iytworldwide
OK. So it seems nobody in community too has tried this. I will try both approach.

regards,
Amit

Please Log in or Create an account to join the conversation.

  • krileon
  • krileon
  • ONLINE
  • Posts: 48477
  • Thanks: 8281
  • Karma: 1443
10 years 9 months ago #240010 by krileon
The alternative is to review comprofiler.php and comprofiler.html.php. Then within your extension call "registerForm( $option, $emailpass, $regErrorMSG = null )" that's found in comprofiler.php. This should render the registration form as inline. You can probably do the same with profile edit by calling "userEdit( $option, $uid, $submitvalue, $regErrorMSG = null )" in the same file. Their URLs will still send them back to CB though so it's probably easier to just redirect or render as an iframe. Once we've redone frontend more it'll probably become much easier to render these views outside of CB.


Kyle (Krileon)
Community Builder Team Member
Before posting on forums: Read FAQ thoroughly + Read our Documentation + Search the forums
CB links: Documentation - Localization - CB Quickstart - CB Paid Subscriptions - Add-Ons - Forge
--
If you are a Professional, Developer, or CB Paid Subscriptions subscriber and have a support issue please always post in your respective support forums for best results!
--
If I've missed your support post with a delay of 3 days or greater and are a Professional, Developer, or CBSubs subscriber please send me a private message with your thread and will reply when possible!
--
Please note I am available Monday - Friday from 8:00 AM CST to 4:00 PM CST. I am away on weekends (Saturday and Sunday) and if I've missed your post on or before a weekend after business hours please wait for the next following business day (Monday) and will get to your issue as soon as possible, thank you.
--
My role here is to provide guidance and assistance. I cannot provide custom code for each custom requirement. Please do not inquire me about custom development.

Please Log in or Create an account to join the conversation.

Moderators: beatnantkrileon
Powered by Kunena Forum