JCB 3.2.0 compile error : missing global privacy plugin #1070
Labels
No Milestone
No project
No Assignees
2 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: joomla/Component-Builder#1070
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Steps to reproduce the issue
Fresh install of Joomla 3.10.12
Fresh install of pkg-component-builder-v3.x.zip (3.2.0)
Edit Options to fulfill mandatory fields & save
Compile Demo (public)
Change compiler options "Global powers = No" - this will throw a second error if selected Yes
Compile Demo (public) for Joomla 3
Expected result
Successful compile
Actual result
Error
"You do not have a global privacy plugin setup, so the integration with Joomla privacy suite could not be build."
I installed the compiled Demo component anyway - both Site and Admin views are blank - system debug info is not rendered in either case
System information (as much as possible)
OS Name & Version: Ubuntu 22.04.4
MySql Version: 8.1.27
Apache Version: Apache 2.4.58
PHP Version: 8.1.27
Joomla Version: 3.10.12
JCB Version: 3.2.0
Browser: Firefox 123
Additional comments
Installed the compiled Dem component anyway -
threw error Class "Super___1f28cb53_60d9_4db1_b517_3c7dc6b429ef___Power" not found when executing component
JCB 3.2-beta5 compile error :missing global privacy plugin"to JCB 3.2.0 compile error : missing global privacy pluginReconfirmed that this error remains in the latest 3.2 JCB release.
This "privacy plugin" is now in the newer packages. So if you do a fresh install it should be there. But only in fresh installs.
So just open the privacy plugin and select it:
But even without it you component will work, it should really be a notice, or warning... not error. I must still deescalate that notice.
What I really think, is that the missing
Super___1f28cb53_60d9_4db1_b517_3c7dc6b429ef___Power
is your problem. This happens when JCB can't fetch theabstract class StringHelper
power from this repository: https://git.vdm.dev/joomla/super-powers/src/branch/master/src/1f28cb53-60d9-4db1-b517-3c7dc6b429efSo if you go into the powers area and click on [init] what happens?
Once JCB has all the powers it needs your component should work. So normally during the compilation of your component JCB will automatically fetch only those powers it needs, and that will only be done the first time for each power, for there after it will pull it from your own database. There are many reasons this can fail...
There might be more... when we build this (super powers) area we took serious care to do it right, and yet it seems more care is needed, but where? So if you can give us more info, or underline what solved the issue for you.
I just again and again and again... installed JCB 3.2.0 on a Joomla 3 (blank, like in fresh docker image each time) and I am not getting this issue.
Llewellyn - thanks for the details. The plugins were installed, as you suggested.
I configured the Plug-in.
The Init on Powers took a few minutes but completed successfully.
I then attempted another compile of Demo, target = J3
The compiler threw this error almost immediately...
VDM\Joomla\Utilities\String\PluginHelper::safeLangPrefix(): Argument #2 ($group) must be of type string, null given, called in /var/www/html/libraries/jcb_powers/VDM.Joomla/src/Componentbuilder/Compiler/Joomlaplugin/Data.php on line 322
I'm still missing a setting somewhere...
Fred
This is a new issue actually...
Can be viewed here: Data.php#L322
As you can see the only way that error will occur is if the second argument
$plugin->group
is null, and not a string. So can you confirm that the plugin has a group selected?I quickly had a look on our testing system and found the issue...
Since the plugin data is added to the install package... we did not add the corresponding
Boilerplate
values and so... during the compiling of the packages those values could not be found.SO I clicked the
get Boilerplate
and while it failed it retrieved enough data so that the plugin groups where not there.So yes this is a oversight "bug" thanks for reporting it.
So while I explained that you can ignore the missing plugin warnings... it seems adding it caused this issue.