Combo Fields, Calendar Fields, JCB Package Import issues #1011

Closed
opened 2023-09-30 14:29:57 +00:00 by muneebirao · 13 comments

Steps to reproduce the issue

Fresh Install Joomla
Fresh Install JCB
Create a combo field, calendar field
Create an admin view
Assign combo field to admin view
Create a component, assign admin view to this component
compile with jcb

Also, I am unable to import ANY JCB package (neither my own, nor from JCB repository)

Expected result

Combo field value should be stored properly in database

Actual result

no matter whatever value i select, only "0" gets stored in the database.

Same is true for Calendar fields

System information (as much as possible)

  • OS Name & Version: Ubuntu 22.04
  • MySql Version:
  • Apache Version:
  • PHP Version: 7.4.28
  • Joomla Version: 3.10.11 or 3.10.12 both
  • JCB Version: 3.1.24
  • Browser: Firefox latest

Additional comments

Also, I am unable to import ANY JCB package. Neither public, nor with keys. Even I tried to export my own jcb package and tried to import it again, it simply doesn't work. It says import is successful, but nothing arrives in JCB.

### Steps to reproduce the issue Fresh Install Joomla Fresh Install JCB Create a combo field, calendar field Create an admin view Assign combo field to admin view Create a component, assign admin view to this component compile with jcb Also, I am unable to import ANY JCB package (neither my own, nor from JCB repository) ### Expected result Combo field value should be stored properly in database ### Actual result no matter whatever value i select, only "0" gets stored in the database. Same is true for Calendar fields ### System information (as much as possible) - OS Name & Version: Ubuntu 22.04 - MySql Version: - Apache Version: - PHP Version: 7.4.28 - Joomla Version: 3.10.11 or 3.10.12 both - JCB Version: 3.1.24 - Browser: Firefox latest ### Additional comments Also, I am unable to import ANY JCB package. Neither public, nor with keys. Even I tried to export my own jcb package and tried to import it again, it simply doesn't work. It says import is successful, but nothing arrives in JCB.
Owner

I am aware of the JCB package import issue, it is due to an encryption issues which we are still working on.

As for the other issues, I have many components in JCB, and they all work perfectly as compiler testing with each step we have taken... which is weird since your having issues I just never have.

Have you tried the beta-version? https://git.vdm.dev/joomla-beta/pkg-component-builder/archive/master.zip

This is the tip of the development, and is currently what I am using in all my projects.

The import is not yet resolved, but all other known issues are actually been taken care of.

As a start I usually ask if you watched all the tutorials, and then we start debugging from there.

I am aware of the JCB package import issue, it is due to an encryption issues which we are still working on. As for the other issues, I have many components in JCB, and they all work perfectly as compiler testing with each step we have taken... which is weird since your having issues I just never have. Have you tried the beta-version? https://git.vdm.dev/joomla-beta/pkg-component-builder/archive/master.zip This is the tip of the development, and is currently what I am using in all my projects. The import is not yet resolved, but all other known issues are actually been taken care of. As a start I usually ask if you watched all the tutorials, and then we start debugging from there.
Author

I have tried with master.zip and whenever I click on the "Components->My Component name->My view" it gives following error

 0 Class 'VDM\Joomla\Utilities\StringHelper' not found 

with Version3.1.24, I have tried and Combo field is not working. The issue is that I am selecting the database field type as INT and my options are 0|Option 0,1|Option 1,2|Option 2.

What JCB is doing is that it is trying to store "Option 0" in the database (but the field is INT). As far as my understanding, the display value should be "Option 0", but the value which should be stored in the database should be 0 and for Option 1, the value which should be stored in the database should be 1 and so one.

If I change the database field type to VARCHAR, it starts storing the full text as "Option 0"... "Option 1"... As far as My understanding, It should store 1 for (1|Option 1) instead of storing "Option 1".

As I am unable to import any JCB package, otherwise it would have been quite easy for me to import any JCB package and see what happens with the combo field which I compile the code at my end.

I have tried with master.zip and whenever I click on the "Components->My Component name->My view" it gives following error 0 Class 'VDM\Joomla\Utilities\StringHelper' not found with Version3.1.24, I have tried and Combo field is not working. The issue is that I am selecting the database field type as INT and my options are 0|Option 0,1|Option 1,2|Option 2. What JCB is doing is that it is trying to store "Option 0" in the database (but the field is INT). As far as my understanding, the display value should be "Option 0", but the value which should be stored in the database should be 0 and for Option 1, the value which should be stored in the database should be 1 and so one. If I change the database field type to VARCHAR, it starts storing the full text as "Option 0"... "Option 1"... As far as My understanding, It should store 1 for (1|Option 1) instead of storing "Option 1". As I am unable to import any JCB package, otherwise it would have been quite easy for me to import any JCB package and see what happens with the combo field which I compile the code at my end.
Owner

Do you have all the component-builder plugins activated?

Do you have all the component-builder plugins activated?
Author

Yes, I have verified. All plugins are enabled

Yes, I have verified. All plugins are enabled
Owner

So in your component global options you have them activated?

image

So in your component global options you have them activated? ![image](https://git.vdm.dev/attachments/b93786ef-cfd6-4bea-9cd7-6134d849cb02)
Owner

We moved JCB to PHP 8 as this is the minimum version currently supported by Joomla official containers. Can you also move to PHP 8.0?

We moved JCB to PHP 8 as this is the minimum version currently supported by Joomla official containers. Can you also move to PHP 8.0?
Author

So in your component global options you have them activated?

image

Export compiler and language packaging were not enabled. I have enabled them and it didn't make any difference. Still facing same issue.

> So in your component global options you have them activated? > > ![image](https://git.vdm.dev/attachments/b93786ef-cfd6-4bea-9cd7-6134d849cb02) Export compiler and language packaging were not enabled. I have enabled them and it didn't make any difference. Still facing same issue.
Author

We moved JCB to PHP 8 as this is the minimum version currently supported by Joomla official containers. Can you also move to PHP 8.0?

I have upgraded to Php 8.0.30, still facing same issues with combo field

> We moved JCB to PHP 8 as this is the minimum version currently supported by Joomla official containers. Can you also move to PHP 8.0? I have upgraded to Php 8.0.30, still facing same issues with combo field
Author

Please see the screenshots for the complete details how I configured a small test component and what issue actually I am facing. I hope it'll give you a complete picture about the issue which I am facing.

Please see the screenshots for the complete details how I configured a small test component and what issue actually I am facing. I hope it'll give you a complete picture about the issue which I am facing.
Author
No description provided.
Author
No description provided.
Owner

Here are some remarks:

  • You should avoid having a admin view with just a combo field, you need at least on text field as a title field, ideally.
  • The list field will be a better choice for what your doing now.
  • Remove all empty properties from the combo field.
  • Since combo fields are saved as json objects you can't use int, but should look at varchar as your datatype.
    image
Here are some remarks: - You should avoid having a admin view with just a combo field, you need at least on text field as a title field, ideally. - The **list** field will be a better choice for what your doing now. - Remove *all empty properties* from the combo field. - Since combo fields are saved as json objects you can't use int, but should look at varchar as your datatype. ![image](https://git.vdm.dev/attachments/0f2aaf4e-9306-4616-91ec-1c886566b37d)
Owner

I assume this is resolved, since no feedback for 3 weeks.

I assume this is resolved, since no feedback for 3 weeks.
Sign in to join this conversation.
No Milestone
No project
No Assignees
2 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

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