[BUG]: JCB 4.0.0-alpha2 Import Packages view not found #1091
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?
What Happened?
Installed pkg-component-builder-v4.0.0-alpha2.zip
Edited and saved Options
Clicked Import Packages icon
404: View not found [name, type, prefix]: import_joomla_components, html, Administrator
Steps to reproduce the Bug
Install pkg-component-builder-v4.0.0-alpha2.zip
Edit and save Options
Click Import Packages icon
Which Joomla version are you compiling in?
v4.4.3
Which PHP version are you compiling in?
8.3.2
Which Joomla versions are you targeting?
n/a
Which PHP version are you targeting?
n/a
Which Web server is JCB running on?
Apache 2.4.58
Which Relational Database is JCB running on?
MySQ: 6.0.36
Which OS is JCB running on?
Windows/Wamp Server
Which JCB version are you using?
v4.0.0-alpha2
Which Joomla version is JCB installed on?
Joomla 4
Where in JCB did this issue occur?
Dashboard(admin_view)
On which browsers did you encounter the issue?
Firefox
Additional Comments
Call stack
Function Location
1 () JROOT\libraries\src\MVC\Controller\BaseController.php:837
2 Joomla\CMS\MVC\Controller\BaseController->getView() JROOT\libraries\src\MVC\Controller\BaseController.php:615
3 Joomla\CMS\MVC\Controller\BaseController->display() ROOT\administrator\components\com_componentbuilder\src\Controller\DisplayController.php:43
4 VDM\Component\Componentbuilder\Administrator\Controller\DisplayController->display() JROOT\libraries\src\MVC\Controller\BaseController.php:693
5 Joomla\CMS\MVC\Controller\BaseController->execute() JROOT\libraries\src\Dispatcher\ComponentDispatcher.php:143
6 Joomla\CMS\Dispatcher\ComponentDispatcher->dispatch() JROOT\libraries\src\Component\ComponentHelper.php:361
7 Joomla\CMS\Component\ComponentHelper::renderComponent() JROOT\libraries\src\Application\AdministratorApplication.php:143
8 Joomla\CMS\Application\AdministratorApplication->dispatch() JROOT\libraries\src\Application\AdministratorApplication.php:186
9 Joomla\CMS\Application\AdministratorApplication->doExecute() JROOT\libraries\src\Application\CMSApplication.php:293
10 Joomla\CMS\Application\CMSApplication->execute() JROOT\administrator\includes\app.php:61
11 require_once() JROOT\administrator\index.php:32
We are aware of this issue, and will fix it in the next few weeks once we have the beta versions out.
I have just installed 5.0.1-alpha2 on Joomla 5.1.0 and PHP 8.2.17 and I face the same issue...
If I'm correct Llewellyn commented in another thread that he was working on this exporting/importing.
I have just installed both 4.03 and 5.1 on Joomla 4 and Joomla 5 sites and this problem exists in both of these versions. Is there a new solution to importing packages?
JCB's New Approach to Component Distribution and Import Engine
Introduction
Joomla Component Builder (JCB) is undergoing a significant transformation that will redefine how components and their dependencies are distributed, stored, and imported. The upcoming changes introduce a Git-based repository approach, enabling seamless backup and restoration of components. This shift aims to simplify component management, enhance scalability, and remove previously complex migration requirements.
Additionally, JCB is implementing a new import engine for admin views, introducing greater flexibility while maintaining robust functionality. Below, we outline these major changes in detail, including the rationale behind them, how they will be implemented, and what to expect moving forward.
Git-Based Component Distribution and Dependency Management
Key Changes
JCB is moving towards a Git or Gitea-based approach for distributing components, allowing developers to:
This new approach will eliminate the need for encryption within component storage, making parsing and future transitions more seamless.
The Role of Global Unique IDs (GUIDs)
To facilitate this transformation, JCB has replaced internal ID-based linkages with global unique identifiers (GUIDs). This change is crucial as it:
With nearly 99% of all internal linking in JCB now using GUIDs, we are better positioned to handle complex component structures without ID conflicts.
Backup and Import Process
This new system extends beyond just components. Developers will be able to back up and restore individual aspects of their components, such as:
By modularizing component storage and dependencies, JCB will allow greater flexibility in component development, making it easier to build and maintain highly dynamic Joomla applications.
Initial Implementation
The transition to this new model will be gradual, beginning with layouts and other lower-level structures before extending to full component backups.
Currently, Joomla! Powers and Super Powers already implement the push, init, and get features, which function similarly to how the broader repository system will work. The
init
command will always fetch a generic, default set that ships with JCB, while developers can extend this by adding their own repositories.Repository Structure and Targets
At present, the repository system supports four targets:
The Field Types target already utilizes this new approach, allowing developers to back up, restore, and reset field types from global repositories. This structure will serve as the foundation for future package management and distribution within JCB.
New Import Engine for Admin Views
Key Differences from Previous Import-Export System
The new import engine for Admin Views is a significant departure from JCB’s previous system. The old method, which required a Joomla 3 instance for importing and migrating JCB packages, is being replaced with a far more advanced and versatile solution.
Key improvements:
However, the new import engine requires PHP skills, at least in its initial phase. Future enhancements may simplify this process, potentially reducing it to a checkbox selection or other streamlined UI-based workflow.
Implementation Timeline
Future Prospects and Documentation
These changes mark a pivotal moment in JCB’s evolution. By introducing a Git-based component management system and a more robust import engine, JCB is transitioning from a component builder to a holistic, scalable development platform for Joomla.
To ensure a smooth transition, detailed documentation will be provided, covering:
As these features are rolled out, the documentation team will provide step-by-step guides and best practices to help users adopt the new methodologies efficiently.
Conclusion
The upcoming changes in JCB are transformative and will dramatically improve how components are stored, distributed, and imported. By adopting a Git-based repository system, decoupling dependencies with GUIDs, and introducing a flexible import engine, JCB is positioning itself as the most advanced component development tool for Joomla.
We encourage developers to stay updated with the upcoming JCB 5.1.1 release and to participate in testing and providing feedback. These innovations will not only enhance component portability and scalability but also pave the way for automated component development, making Joomla extension development more powerful than ever.
Keep an eye out for further announcements and documentation updates as we move toward this next-generation JCB architecture!
Thank you Llewellyn for a very comprehensive reply.