Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

🐛 [BUG] Fetching Extension list failed #677

Open
PKuhlmay opened this issue Dec 21, 2023 · 18 comments
Open

🐛 [BUG] Fetching Extension list failed #677

PKuhlmay opened this issue Dec 21, 2023 · 18 comments
Assignees
Labels
bug Something isn't working Needs feedback TYPO3 12

Comments

@PKuhlmay
Copy link
Collaborator

In #667 an error is mentioned: Fetching the extensions failed. Please check, if you have extensions with a valid extensionbuilder.json file.

@PKuhlmay PKuhlmay added bug Something isn't working TYPO3 12 labels Dec 21, 2023
@PKuhlmay PKuhlmay added this to the Next v12 Release milestone Dec 21, 2023
@PKuhlmay PKuhlmay self-assigned this Dec 21, 2023
@PKuhlmay PKuhlmay changed the title Fetching failed 🐛 [BUG] Fetching Extension list failed Dec 21, 2023
@PKuhlmay
Copy link
Collaborator Author

Hi @hgalt. I cannot reproduce this issue. Could you provide some more information about this?
Maybe screenshots, where is the extension installed. Is a ExtensionBuilder.json file available in the extensions root directory? What PHP are you using?

You can also send me a zip of the extension you created via Slack (Nickname: treupo)

@hgalt
Copy link

hgalt commented Dec 21, 2023

grafik
What you see are the extensions I have currently in the typo3/ext!
The 3 are started with 'hga' are some old extension of me.
'testext' ia an exension I have created wit the current version of the extension_builder!
This is the screenshoot after I have open the extension_builder and have pressed 'open' button next to the green 'Save' button.
So I cannot open the extension created with the current version of extension_builder and also not my older extensions, which was also created with an older version of extension_builder.
grafik

testext.zip

@PKuhlmay
Copy link
Collaborator Author

@hgalt Okay thanks, I need to test this. I only have a composer installation running at the moment. Your installation seems to be a legacy one. I will have a look at it soon.

@hgalt
Copy link

hgalt commented Dec 22, 2023

@PKuhlmay yes I have a lagacy installation.

@hgalt
Copy link

hgalt commented Jan 6, 2024

@PKuhlmay
grafik
The $storagePath is empty! Configuration\ExtensionBuilderConfigurationManager.php
I use mklink for index.php!

@hgalt
Copy link

hgalt commented Jan 6, 2024

grafik
It seems to be also to be a problem with the getExtensionBuilderConfiguration function.
The variable $storagePath in this function is null, but send to it.
Could it behave something to do with PHP 8?

@PKuhlmay
Copy link
Collaborator Author

PKuhlmay commented Jan 7, 2024

Hi @hgalt Thank you very much for the screenshots. This should help a lot. It could be something with PHP 8 but I am not sure. I haven't set up a legacy installation yet, only composer. I don't have too much time at the moment

@hgalt
Copy link

hgalt commented Jan 7, 2024

Hi @PKuhlmay
maybe it is not necessary that you set up a legayy installation. I can support you, if you tell me what I have to do/test.
I do a lot with PHP,but I am not a TYPO3 specialist.
Let's work together!

@hgalt
Copy link

hgalt commented Jan 7, 2024

Hi @PKuhlmay

@hgalt
Copy link

hgalt commented Jan 7, 2024

Hi @PKuhlmay
please ignore my 2 messages with the images. I used wrong error_log!
I think the problem has noting to do with PHP8 or the lagacy installation!
There is problem in the ExtensionBuilderConfigurationManager in the function mapAdvanced Mode.
On the beginning the is an array

   $fieldsToMap = [
        'relationType',
        'renderType',
        'propertyIsExcludeField',
        'propertyIsExcludeField',
        'lazyLoading',
        'relationDescription',
        'foreignRelationClass'
    ];

And in one of my extension there is the follöwing part

  'relationGroup' => array (
      'relations' => 
      array (
        0 => 
        array (
          'foreignRelationClass' => '',
          'lazyLoading' => false,
          'propertyIsExcludeField' => true,
          'relationDescription' => '',
          'relationName' => 'habit',
          'relationType' => 'zeroToOne',
          'relationWire' => '[wired]',
          'uid' => '1353817689744',
        ),

But there is no value renderType! So in the foreach loop of $fieldsToMap a error occurs and the program will be aborted!
But no PHP error is generated!
My suggestion would be, to add a default value to the $fielsToMap array and check inside the foreach lopp if a value exists and if not to write the default value.
Could you provide me with the default values, so I'm able to test it!
But there is als another problem with the $fieldsToMap array. The value propertyIsExclude Field is double and I don't know if it possible just to delete this double value or is another value missing!
If you can provide me the info, I could also change it with GitHub.
But I don't currentlydo not know, how you use it?
Is typo3-12-reactsjs your working branch?

In ExtensionBuilderConfigurationManager.php on the end of the function getExtensionBuilderJson a : ?array is missing!

It's up to you how we should continue.

@hgalt
Copy link

hgalt commented Jan 7, 2024

Hi @PKuhlmay ,
It looks like, that I would need a username and a password to download it via Github.

@ste101
Copy link
Contributor

ste101 commented Jan 9, 2024

Same problem here.
With an ext for TYPO3 8.7 no ext will be found.
Exts for 11 and 12 can be selected.

@PKuhlmay
Copy link
Collaborator Author

@ste101 Just to be clear and to be sure if I understand you correctly, you want to load an extension into the new TYPO3 12 version which you created in TYPO3 8? This is not officially supported.

@DavidBruchmann
Copy link
Contributor

if a combination like that can be even installed without any code changes, then there'd be a fundamental flaw, but I can't imagine that it's usually even possible.

@ste101
Copy link
Contributor

ste101 commented Jan 10, 2024

If there is an older EXT even not installed the extension_builder does not find any EXT.
For me this is an error.

I would like to open an older EXT in the latest extension_builder and then save it again to make it compatible with e.g. Version 12.
This worked always till the latest version I think.

Or think about an older EXT which was updated manual or via Rector an still has the original ExtensionBuilder.json.

@PKuhlmay
Copy link
Collaborator Author

Loading an extension from (at least) v10 worked for me. Only the modules are missing, because of the missing information in the JSON file, which are added in TYPO3 12. When saving, all the classes etc are removed, because of the missing modules in the React Flow component.

It could be possible to open older extensions, but for that, all the missing information must be generated while opening the extensions. This could be an issue for the future.

@ste101
Copy link
Contributor

ste101 commented Jan 11, 2024

But why are the modules missing.
I can't see much difference within the ExtensionBuilder.json.
Creating the module is the biggest part in creating an EXT.

So it is nearly unusable to update an older EXT.

@PKuhlmay
Copy link
Collaborator Author

Because the whole UI changed and it was not possible to load the required nodes (which are used inside the React Flow component) with the information from the ExtensionBuilder.json file. Therefore there is a new array inside the .json file which contains all the information.

You can always upgrade an extension with Rector, which is recommended.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working Needs feedback TYPO3 12
Projects
Status: To do
Development

No branches or pull requests

4 participants