It's that time again! I've begun major work on the next plugin on my task list. Currently it's CB Auto Actions. It is undergoing its major rewrite finally as version 7.0.0. A lot of improvements are on the way. From UX improvements, performance improvements, new functionality for actions, and more. Check out some of the details below.
Ok, so the first major change is the API has been properly pulled apart and placed into namespaced autoloader classes. It will no longer load every single modal PHP file when the plugin it self loads, which was draining a lot of memory for no reason. They are all loaded on demand only now. The same applies for the XML, which powers the parameters during auto action edit. It previously loaded all the XML views instead of only what it needed. The result is frontend and backend significant performance improvements.
Next up is an improvement to several actions to target a user other than the user who triggered the action. This means access and condition checks against one user, but substitutions from another. There's a lot of ways this can be utilized for example a field action that has User set to User and Access set to Moderators Only, BUT with the new action User parameter set to [var1_id]. What that means is the action will only change the fields value IF the user triggering the action is a moderator, BUT it will change the field value of the user being edited and not the moderator! This type of usecase can be applied to several other action types as well due to these new parameters.
As triggers become more complex they gain more variables so the 1-10 variable limit has been increased to 1-15 to accommodate more complex triggers. Another big change is how actions output their results. Currently usage output handling is hardcoded into a per-action basis. This will change with 7.0.0. Output will become a part of the auto action instead of the action. This will make it easier to determine if an auto action should echo, print, etc.. its results. In addition to this new behavior is being introduced to be able to insert new tabs into various plugins. For example CB GroupJive group display trigger includes its tabs object. CB Auto Actions will be able to detect this and allow a new tab to be inserted.
So far that's the current progress, but a lot more is planned. Check out what to expect from CB Auto Actions 7.0.0.
https://forge.joomlapolis.com/projects/cb-cbautoactions/issues
There should not be any backwards compatibility issues this release, but as always everyone will be encourage to make a backup and test test test to make sure everything continues to behave as expected once released.