Skip to Content Skip to Menu

[SOLVED] What happened to Force Edit in CB Progress Field?

  • krileon
  • krileon
  • ONLINE
  • Posts: 48482
  • Thanks: 8283
  • Karma: 1443
9 years 10 months ago #255868 by krileon
There is no trigger that fires on every page. There's only a few Joomla events that do that, which CB Auto Actions can't act on.


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.

  • softforge
  • softforge
  • OFFLINE
  • Posts: 129
  • Thanks: 21
  • Karma: 12
9 years 10 months ago #255895 by softforge
OK, thanks. I'll build a Joomla system plugin for this purpose.

If you like our plugins, please consider writing a review on the Joomla Extension Directory or the Community Builder Directory ...

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

  • krileon
  • krileon
  • ONLINE
  • Posts: 48482
  • Thanks: 8283
  • Karma: 1443
9 years 10 months ago #255903 by krileon
CB Progress Field used to have one. It kills performance as you'll be checking all of those fields and their values on every single page load. In addition to that if you don't check for format correctly you'll completely break all Ajax endpoints. I recommend against it.

My advice to everyone is ask what you need at registration and not later. If you ask later expect some users to never provide it and design around that choice. Redirect on login using CB Auto Actions as needed to profile edit and ask them to fill out the information (do this on every login until they provide what you want, but don't be any further intrusive). If you intrusively force them to profile edit on every page load then you're pretty much guaranteed to lose that user.


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.

  • softforge
  • softforge
  • OFFLINE
  • Posts: 129
  • Thanks: 21
  • Karma: 12
9 years 10 months ago #255910 by softforge
Thanks for this Kyle, you make some very good points!

We are actually developing a service that we require people to use in conjunction with changing their password before they can access the site. The user needs to have an ID to use the service so it cant be done at registration so this is like part 2 of the registration.

It's a unique requirement so I didn't expect CB to completely handle it out of the box and we need a system plugin for other purposes so I'll have a good think about how to make this check as lightweight as possible.

If you like our plugins, please consider writing a review on the Joomla Extension Directory or the Community Builder Directory ...

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

  • krileon
  • krileon
  • ONLINE
  • Posts: 48482
  • Thanks: 8283
  • Karma: 1443
9 years 10 months ago - 9 years 10 months ago #255917 by krileon
To be as lightweight as possible you could use a CB Progress Field to track the field values then use getFields to grab the PHP value of the CB Progress Field. PHP output is between 0-100 for CB Progress Field (percent complete). CB Progress Field has caching built into it so it'll at least be lightweight and respect field access so it's not telling them to complete a field they can't even access.

Another way to do this is a simple field toggle. After profile update trigger check if they supplied what you needed. If they did set a checkbox field to 1. If they didn't set it to 0. Next in your system plugin check if the field is 1 (you can do this with a simple lightweight database query using the viewing users user id) and if it isn't then redirect. This is probably the most performance optimal solution.


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.
Last edit: 9 years 10 months ago by krileon.

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

  • softforge
  • softforge
  • OFFLINE
  • Posts: 129
  • Thanks: 21
  • Karma: 12
9 years 10 months ago #255918 by softforge
The simple SQL query approach was exactly what I was thinking, thanks!

The CB Progress Field also looks interesting, I will experiment...

Thanks again! :)

If you like our plugins, please consider writing a review on the Joomla Extension Directory or the Community Builder Directory ...

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

Moderators: beatnantkrileon
Powered by Kunena Forum