Its been awhile since I've given an update, but it's for good reason! I've been neck deep in improving the core CB for everyone's enjoyment. Lots of great changes are coming like improved Terms and Conditions fields, user export functionality, and more. Check out the details below.
First up is an improvement to our user params field. This is the field that outputs Joomla profile fields. We've improved it to better utilize Joomlas API so we can extend the fields output further in later releases. For now it's just been improved to be able to properly display Joomlas Privacy Consent and Terms fields powered by Joomlas respective plugins for both in Extensions > Plugins. Yes, this means users can accept the privacy policy from CBs registration.
Next up is we've significantly improved our own Terms and Conditions fields. They now keep track of the consent date stored in the database as a second column. This ensures a record of consent is kept. Additionally the consent can now have a duration. So for example consent can be configured to expire 1 year after giving consent. By default it is configured to never expire. You'll find the new parameter within your terms and conditions fields as shown below.
In addition to this our system plugin has been improved to allow verification of consent. This will check if the user has given consent and if they have is it expired. The verify consent only applies to terms and conditions fields that are marked required, display on profile edit, and if the user can access them. If the user consent verification fails they'll be sent to profile edit and be unable to leave unless they give consent. Some exceptions to the access block are CB Privacy disable me and delete me fields, ajax endpoints, terms and conditions terms URLs, and logout. You can also provide as many URLs as you like to be exempt from being blocked. Check out the new system plugin parameters below. Note this is disabled by default.
Yes this means it can verify as many terms and condition fields as you need. It also means you do not have to use Joomlas Privacy Consent or Terms plugins at all as CBs Terms and Conditions fieldtype can entirely handle the same usage.
Next but not least is import/export functionality. We're implementing the ability to import/export any backend table view directly in our XML. At first this will be pretty basic and just be users profile data, but it does include triggers for both import and export allowing plugins to extend the export data and add custom import usages. You can export in CSV, XML, and JSON formats to fit multiple data needs. Check it out below!
Import is pretty straight forward. Simply click the import button to toggle the import tools then drag and drop or click to upload your import file. The import supports the same formats as export so use exports as a sample of how you should format your data.
Again, at first this will just be basic profile data. However due to the triggers I would expect new features to come with time. For example export/import will likely be extended by CBSubs for easier import/export of subscription data for a user and more. With the implementation of this we will be integrating with Joomlas Privacy Suite so when a user data export request is made it will also properly export CB user data.
As another minor note Joomla user delete will now properly delete the CB user. This allows Joomlas Privacy Suite that handles user delete requests to also clear CB user data. It also means deleting a user from Joomla user management will also delete them from CB. This helps ensure things are a little more in sync!
That's it for now, but there's certainly more planned. We plan to integrate with Joomlas Action Log using CB Auto Actions so you can setup whatever logging you'd like on any trigger! This should completely cover Joomla Privacy Suite integration needs and help those needing to be GDPR complaint. As for when all of this will be ready; most already is. The import/export functionality is expected to be finished this week with potential release of some/all of this functionality next week.