[BUG]: JCB 4.0.0-alpha2 Import Packages view not found #1091

Open
opened 2024-03-14 14:11:14 +00:00 by fdinkler · 6 comments
Member

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

### 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
fdinkler added the
Bug
label 2024-03-14 14:11:14 +00:00
Owner

We are aware of this issue, and will fix it in the next few weeks once we have the beta versions out.

image

We [are aware](https://git.vdm.dev/joomla/Component-Builder/issues/1025#issuecomment-27760) of this issue, and will fix it in the next few weeks once we have the beta versions out. ![image](https://git.vdm.dev/attachments/7377c080-8828-406a-84cd-581bd2653801)

I have just installed 5.0.1-alpha2 on Joomla 5.1.0 and PHP 8.2.17 and I face the same issue...

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.

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?

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?
Owner

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:

  • Back up components to a repository.
  • Restore components from a repository.
  • Manage dependencies more efficiently.
  • Control component visibility (public/private repositories).

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:

  • Reduces data conflicts when transferring components between instances.
  • Allows for easier merging and migration of components across environments.
  • Ensures consistent referencing of component elements such as fields, admin views, and site views.

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:

  • Fields and field types
  • Layouts and templates
  • Site views and admin views
  • Dynamic gates and custom admin views

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:

  1. Super Power
  2. Joomla! Power
  3. Joomla! Field Types
  4. (Additional targets may be introduced in the future.)

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:

  • Increased flexibility in how Admin Views are imported.
  • Decoupling from Joomla version limitations, allowing direct imports without needing a Joomla 3 instance.
  • More programmatic control, enabling advanced users to tailor the import process to their needs.

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

  • JCB 5.1.1 will introduce the new import engine, with an initial demo component showcasing its functionality.
  • The alpha version is expected to be released this week, with a beta next week, and a stable release shortly thereafter.
  • Further refinements to the exporting functionality are planned but are not yet finalized.

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:

  • How to set up private and public repositories for component backups.
  • How to use the new import system effectively.
  • How to extend the repository system to include custom repositories.

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!

# **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: - **Back up components** to a repository. - **Restore components** from a repository. - **Manage dependencies** more efficiently. - **Control component visibility** (public/private repositories). 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: - **Reduces data conflicts when transferring components** between instances. - **Allows for easier merging and migration** of components across environments. - **Ensures consistent referencing of component elements** such as fields, admin views, and site views. 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: - Fields and field types - Layouts and templates - Site views and admin views - Dynamic gates and custom admin views 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**: 1. **Super Power** 2. **Joomla! Power** 3. **Joomla! Field Types** 4. *(Additional targets may be introduced in the future.)* 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:** - **Increased flexibility** in how Admin Views are imported. - **Decoupling from Joomla version limitations**, allowing direct imports without needing a Joomla 3 instance. - **More programmatic control**, enabling advanced users to tailor the import process to their needs. 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** - **JCB 5.1.1** will introduce the new import engine, with an initial **demo component** showcasing its functionality. - The **alpha version** is expected to be released **this week**, with a **beta next week**, and a **stable release shortly thereafter**. - Further refinements to the **exporting functionality** are planned but are not yet finalized. --- ## **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: - How to **set up private and public repositories** for component backups. - How to **use the new import system** effectively. - How to **extend the repository system** to include custom repositories. 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.

Thank you Llewellyn for a very comprehensive reply.
Sign in to join this conversation.
5 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

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