Issue with trying to compile a component. #1191

Open
opened 2024-11-15 21:03:01 +00:00 by sergec68 · 9 comments

Steps to reproduce the issue

After I create a component, I tried to compile it, but it didn't work.

Actual result

I get the following error message:

"Field Notice
Since you do not have Tidy extentsion setup on your system, we could not use the SimpleXMLElement class. We instead used string manipulation to build all your fields, this is a faster method, you must inspect the xml files in your component package to see if you are satisfied with the result.
You can make this method your default by opening the global options of JCB and under the Global tab set the Field Builder Type to string manipulation.
You do not have a global power plugin setup, so the powers plugin autoloader could not be added.
Dynamic folder(s) were detected.
A method (setDynamicF0ld3rs) was added to the install script.php of this package to insure that the folder(s) are copied into the correct place when this component is installed!
×
Warning
Could not delete folder. Path: [ROOT]/administrator/components/com_componentbuilder/compiler/com_recipemanager_v1_0_0__J3/admin
×
danger
Folder Path Error
The folder path: /Users/serge/Sites/gardenbis/libraries/phpspreadsheet/vendor does not exist, and was not added!
An error has occurred.
0 VDM\Joomla\Abstraction\Registry::get(): Argument #1 ($path) must be of type string, null given, called in /Users/serge/Sites/gardenbis/libraries/vendor_jcb/VDM.Joomla/src/Abstraction/Registry/Traits/VarExport.php on line 51
"

System information (as much as possible)

  • OS Name & Version: macOS X Ventura 13.7.1 (22H221
  • MySql Version: 8.0.35
  • Apache Version: 2.4.58
  • PHP Version: 8.3.9
  • Joomla Version: 5.21
  • JCB Version: v5.0.4-beta1
  • Browser: Safari Version 18.1 (18619.2.8.111.5, 18619)

Additional comments

How do I set up a global power plugin?
Do I need JCB pro version to be able to compile my component? if so, how do I get it?

### Steps to reproduce the issue After I create a component, I tried to compile it, but it didn't work. ### Actual result I get the following error message: "_Field Notice Since you do not have Tidy extentsion setup on your system, we could not use the SimpleXMLElement class. We instead used string manipulation to build all your fields, this is a faster method, you must inspect the xml files in your component package to see if you are satisfied with the result. You can make this method your default by opening the global options of JCB and under the Global tab set the Field Builder Type to string manipulation. You do not have a global power plugin setup, so the powers plugin autoloader could not be added. Dynamic folder(s) were detected. A method (setDynamicF0ld3rs) was added to the install script.php of this package to insure that the folder(s) are copied into the correct place when this component is installed! × Warning Could not delete folder. Path: [ROOT]/administrator/components/com_componentbuilder/compiler/com_recipemanager_v1_0_0__J3/admin × danger Folder Path Error The folder path: /Users/serge/Sites/gardenbis/libraries/phpspreadsheet/vendor does not exist, and was not added! An error has occurred. 0 VDM\Joomla\Abstraction\Registry::get(): Argument #1 ($path) must be of type string, null given, called in /Users/serge/Sites/gardenbis/libraries/vendor_jcb/VDM.Joomla/src/Abstraction/Registry/Traits/VarExport.php on line 51_" ### System information (as much as possible) - OS Name & Version: macOS X Ventura 13.7.1 (22H221 - MySql Version: 8.0.35 - Apache Version: 2.4.58 - PHP Version: 8.3.9 - Joomla Version: 5.21 - JCB Version: v5.0.4-beta1 - Browser: Safari Version 18.1 (18619.2.8.111.5, 18619) ### Additional comments How do I set up a global power plugin? Do I need JCB pro version to be able to compile my component? if so, how do I get it?
Author

Now I get this:

"You do not have a global power plugin setup, so the powers plugin autoloader could not be added.
Dynamic folder(s) were detected.
A method (setDynamicF0ld3rs) was added to the install script.php of this package to insure that the folder(s) are copied into the correct place when this component is installed!
×
Warning
Joomla\CMS\Filesystem\Folder::create: Could not create folder.Path: [ROOT]/administrator/components/com_componentbuilder/compiler/com_recipemanager_v1_0_0__J3/media
×
danger
Folder Path Error
The folder path: /Users/serge/Sites/gardenbis/libraries/phpspreadsheet/vendor does not exist, and was not added!
An error has occurred.
0 VDM\Joomla\Abstraction\Registry::get(): Argument #1 ($path) must be of type string, null given, called in /Users/serge/Sites/gardenbis/libraries/vendor_jcb/VDM.Joomla/src/Abstraction/Registry/Traits/VarExport.php on line 51
"

Now I get this: "_You do not have a global power plugin setup, so the powers plugin autoloader could not be added. Dynamic folder(s) were detected. A method (setDynamicF0ld3rs) was added to the install script.php of this package to insure that the folder(s) are copied into the correct place when this component is installed! × Warning Joomla\CMS\Filesystem\Folder::create: Could not create folder.Path: [ROOT]/administrator/components/com_componentbuilder/compiler/com_recipemanager_v1_0_0__J3/media × danger Folder Path Error The folder path: /Users/serge/Sites/gardenbis/libraries/phpspreadsheet/vendor does not exist, and was not added! An error has occurred. 0 VDM\Joomla\Abstraction\Registry::get(): Argument #1 ($path) must be of type string, null given, called in /Users/serge/Sites/gardenbis/libraries/vendor_jcb/VDM.Joomla/src/Abstraction/Registry/Traits/VarExport.php on line 51_"
Author

Could someoone help?

Could someoone help?
Author

Could someone please help me.

Could someone please help me.
Owner

We can take a look at this issue in the next few days (once at our next location), at the moment we (the VDM team) is traveling.

At a quick glance it seems like you’ve got the import feature turned on, just remove that, so just uncheck it in the linking of the admin view. Import and export are currently not ready. Next you can ignore the power plugin notice, everything should still work, the plugin mainly is used when sharing classes between components (an advanced feature)

If this still does not help… you need to give us more information and some time to get back to you. Lastly please use Firefox for compilations, it is the best choice at this time.

We can take a look at this issue in the next few days (once at our next location), at the moment we (the VDM team) is traveling. At a quick glance it seems like you’ve got the import feature turned on, just remove that, so just uncheck it in the linking of the admin view. Import and export are currently not ready. Next you can ignore the power plugin notice, everything should still work, the plugin mainly is used when sharing classes between components (an advanced feature) If this still does not help… you need to give us more information and some time to get back to you. Lastly please use Firefox for compilations, it is the best choice at this time.
Author

I followed your guidance and it works now. Thanks.

I followed your guidance and it works now. Thanks.

I have a similar problem: a series of errors during compilation and 100 compilations to do to have a working package because the number of lines of code is always low and different so the package is not complete.
Also in almost every compilation it "forgets" the index.html file in admin or the XML or even the XML file is empty.

The errors are similar to yours:

  • You do not have a global power plugin setup, so the powers plugin autoloader could not be added.
    Dynamic folder(s) were detected.
    A method (setDynamicF0ld3rs) was added to the install script.php of this package to insure that the folder(s) are copied into the correct place when this component is installed!
  • impossible to delete/copy files/folders.

I am on Openlitespeed with PHP 8.2.

It's a real shame: unfortunately it is almost unusable.

I have a similar problem: a series of errors during compilation and 100 compilations to do to have a working package because the number of lines of code is always low and different so the package is not complete. Also in almost every compilation it "forgets" the index.html file in admin or the XML or even the XML file is empty. The errors are similar to yours: - You do not have a global power plugin setup, so the powers plugin autoloader could not be added. Dynamic folder(s) were detected. A method (setDynamicF0ld3rs) was added to the install script.php of this package to insure that the folder(s) are copied into the correct place when this component is installed! - impossible to delete/copy files/folders. I am on Openlitespeed with PHP 8.2. It's a real shame: unfortunately it is almost unusable.
Owner
Try this: https://git.vdm.dev/joomla/Component-Builder/wiki/PHP-Settings
Owner

Hi @morphinestyle,

Thank you for bringing up your concerns. It's clear you're facing challenges, and I’d like to help shed some light on what might be causing these issues. Based on your description, it sounds like your experience is unusual compared to what we typically observe with Joomla Component Builder (JCB). Let me address this systematically:


Stability of JCB

JCB has been in active development for over a decade, and we’ve worked hard to ensure its stability and reliability. Across hundreds of projects compiled weekly by developers, the application consistently performs well. The kind of errors you’re encountering, such as incomplete packages, missing index files, or empty XML files, is not the norm. While we acknowledge that every setup may have its quirks, JCB itself has proven to be phenomenally trustworthy in most environments.

If you’re experiencing recurring issues, the root cause is likely related to your development environment rather than the application itself.


The Role of the Power Plug-In

To clarify, JCB dependant on the Power Plug-In for basic functionality. The current version automatically creates all necessary files without requiring this plug-in. The Power Plug-In is only necessary when you have multiple components that share the same powers, which is a relatively rare use case. For 99% of users, the plug-in isn't required for their projects to function properly.

However, for those who do need it, the Power Plug-In ships with a fresh JCB installation. It’s accessible under the Plug-In area of the GUI, ready to be added to your project. If you’ve performed a clean installation of JCB, you should find it there without issue.


Understanding JCB’s Complexity

JCB is an advanced and sophisticated tool designed for experienced PHP developers familiar with the Joomla API. While it significantly improves the speed and maintainability of projects, it also comes with a learning curve. For new users, this can seem overwhelming at first.

To address this, we’ve created extensive tutorials (about 80 hours of content) that explain how to use JCB effectively. While watching all of them may not be practical for everyone, they are an invaluable resource for understanding the full capabilities of the tool. Many of the issues users encounter are often due to unfamiliarity with JCB rather than issues with the software itself.


We strongly recommend using Docker to set up a unified and stable development environment. Docker allows you to mirror the exact configurations that we use internally, minimizing discrepancies and potential issues.

To simplify deployment, we’ve developed a tool called OctoJoom. OctoJoom makes it easy to deploy Joomla with Docker on Ubuntu, Mac, or other Linux-based systems. Using this setup ensures that your PHP configuration matches what JCB was designed for, eliminating many common environmental conflicts.

As an open-source project, we have limited resources and can’t guarantee compatibility with every unique development setup. By adopting Docker with OctoJoom, you can avoid many of the pitfalls that come from running JCB in custom or non-standard environments.


Encouragement for Newcomers

We understand that new users may find JCB challenging at first, and we are here to help. However, it’s important to approach this tool with a willingness to learn and invest time in understanding its functionality. JCB is not a “quick fix” solution; it is a powerful tool meant for developers who want to streamline and enhance their work.

It’s worth noting that hundreds, if not thousands, of applications are being successfully developed with JCB every week. If something isn’t working for you, it’s essential to first investigate your setup, as the software itself is stable and widely used.


Final Thoughts

We value your feedback and encourage you to keep exploring JCB. However, we kindly ask that issues not be framed as limitations of the tool unless thoroughly investigated. The community thrives on constructive discussions, and it’s disheartening to see posts that inadvertently discredit JCB when the root cause often lies elsewhere.

We invite you to dive into the tutorials, set up a Docker-based environment with OctoJoom, and take full advantage of the resources available. JCB has empowered countless developers to create outstanding components quickly and efficiently, and with some persistence, you’ll find it can do the same for you.

If you have any specific questions or need guidance, please don’t hesitate to ask—we’re here to help!

Hi @morphinestyle, Thank you for bringing up your concerns. It's clear you're facing challenges, and I’d like to help shed some light on what might be causing these issues. Based on your description, it sounds like your experience is unusual compared to what we typically observe with Joomla Component Builder (JCB). Let me address this systematically: --- #### **Stability of JCB** JCB has been in active development for over a decade, and we’ve worked hard to ensure its stability and reliability. Across hundreds of projects compiled weekly by developers, the application consistently performs well. The kind of errors you’re encountering, such as incomplete packages, missing index files, or empty XML files, is not the norm. While we acknowledge that every setup may have its quirks, JCB itself has proven to be phenomenally trustworthy in most environments. If you’re experiencing recurring issues, the root cause is likely related to your development environment rather than the application itself. --- #### **The Role of the Power Plug-In** To clarify, JCB dependant on the Power Plug-In for basic functionality. The current version automatically creates all necessary files without requiring this plug-in. The Power Plug-In is only necessary when you have multiple components that share the same powers, which is a relatively rare use case. For 99% of users, the plug-in isn't required for their projects to function properly. However, for those who do need it, the Power Plug-In ships with a fresh JCB installation. It’s accessible under the Plug-In area of the GUI, ready to be added to your project. If you’ve performed a clean installation of JCB, you should find it there without issue. --- #### **Understanding JCB’s Complexity** JCB is an advanced and sophisticated tool designed for experienced PHP developers familiar with the Joomla API. While it significantly improves the speed and maintainability of projects, it also comes with a learning curve. For new users, this can seem overwhelming at first. To address this, we’ve created [extensive tutorials](https://www.youtube.com/playlist?list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE) (about 80 hours of content) that explain how to use JCB effectively. While watching all of them may not be practical for everyone, they are an invaluable resource for understanding the full capabilities of the tool. Many of the issues users encounter are often due to unfamiliarity with JCB rather than issues with the software itself. --- #### **Recommended Development Environment** We strongly recommend using Docker to set up a unified and stable development environment. Docker allows you to mirror the exact configurations that we use internally, minimizing discrepancies and potential issues. To simplify deployment, we’ve developed a tool called **OctoJoom**. [OctoJoom](https://git.vdm.dev/octoleo/octojoom) makes it easy to deploy Joomla with Docker on Ubuntu, Mac, or other Linux-based systems. Using this setup ensures that your PHP configuration matches what JCB was designed for, eliminating many common environmental conflicts. As an open-source project, we have limited resources and can’t guarantee compatibility with every unique development setup. By adopting Docker with [OctoJoom](https://git.vdm.dev/octoleo/octojoom), you can avoid many of the pitfalls that come from running JCB in custom or non-standard environments. --- #### **Encouragement for Newcomers** We understand that new users may find JCB challenging at first, and we are here to help. However, it’s important to approach this tool with a willingness to learn and invest time in understanding its functionality. JCB is not a “quick fix” solution; it is a powerful tool meant for developers who want to streamline and enhance their work. It’s worth noting that hundreds, if not thousands, of applications are being successfully developed with JCB every week. If something isn’t working for you, it’s essential to first investigate your setup, as the software itself is stable and widely used. --- #### **Final Thoughts** We value your feedback and encourage you to keep exploring JCB. However, we kindly ask that issues not be framed as limitations of the tool unless thoroughly investigated. The community thrives on constructive discussions, and it’s disheartening to see posts that inadvertently discredit JCB when the root cause often lies elsewhere. We invite you to dive into the [tutorials](https://www.youtube.com/playlist?list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE), set up a Docker-based environment with [OctoJoom](https://git.vdm.dev/octoleo/octojoom), and take full advantage of the resources available. JCB has empowered countless developers to create outstanding components quickly and efficiently, and with some persistence, you’ll find it can do the same for you. If you have any specific questions or need guidance, please don’t hesitate to ask—we’re here to help!

Hi @Llewellyn, first of all thank you very much for developing an interesting component like JCB!
As soon as possible I will do more tests and attempts with different development environments because JCB is extremely interesting and I have to find a way to make it work at its best.

Thanks again for developing JCB!

Hi @Llewellyn, first of all thank you very much for developing an interesting component like JCB! As soon as possible I will do more tests and attempts with different development environments because JCB is extremely interesting and I have to find a way to make it work at its best. Thanks again for developing JCB!
Sign in to join this conversation.
No Milestone
No project
3 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: joomla/Component-Builder#1191
No description provided.