EE4 compatibility updates:
- Publisher is EE4 and EE5 compatible, but it does not currently support the Fluid field (it's in the works).
- Reel is EE4 and EE5 compatible, but it does not currently support the Fluid field.
Ticket: Get PHP errors related to settings when creating a new import.
Status | With Customer |
Add-on / Version | DataGrab 5.2.2 |
Severity | |
EE Version | 7.4.11 |
Images |
rkern
Sep 01, 2024Description of the problem
Error Messages
Warning Undefined array key "type" user/addons/datagrab/mcp.datagrab.php, line 371 Severity: E_WARNING Warning Undefined array key "" user/addons/datagrab/mcp.datagrab.php, line 371 Severity: E_WARNING Error Caught Call to a member function getErrors() on null user/addons/datagrab/mcp.datagrab.php:385 Stack Trace: Please include when reporting this error #0 [internal function]: Datagrab_mcp->check_settings() #1 ee/ExpressionEngine/Controller/Addons/Addons.php(1592): call_user_func_array() #2 ee/ExpressionEngine/Controller/Addons/Addons.php(868): ExpressionEngine\Controller\Addons\Addons->getModuleSettings() #3 [internal function]: ExpressionEngine\Controller\Addons\Addons->settings() #4 ee/ExpressionEngine/Core/Core.php(268): call_user_func_array() #5 ee/ExpressionEngine/Core/Core.php(124): ExpressionEngine\Core\Core->runController() #6 ee/ExpressionEngine/Boot/boot.php(184): ExpressionEngine\Core\Core->run() #7 admin.php(139): require_once('...') #7 admin.php(139): require_once('...')<!--Include the full stack trace here inside the code block.-->
Screenshots / Videos / Template Code VIDEO https://www.dropbox.com/s/bghlbdli3a0yu1f/REC-20240901171149.mp4?dl=0
Environment Details: - Version: [e.g. 5.0.1] - PHP Version [8.1] - MySQL Version [8] - OS: [e.g. Linux,] - Web Server: [nginx,.]
Possible Solution
Additional context
BoldMinded (Brian)
Does this happen every time? Have you tried a different browser or tab? Do you have DataGrab opened in more than one tab?
rkern
Yes. Everytime I try to create a new Import. I also can’t access the settings of an existing one (aside from the page that allows you to edit the name of the import) I only have a single tab open. Using Chrome. I just tried Safari with the same result. I am using Datagrab version 5.2.2.
A little new info… I was working on a development server before… I just tried on my production server & was able to set this up without issue. However, I thought I had tried that before I opened the ticket … but maybe not. PHP is 8.1 on both servers (they are different). I also recently did the setup of my licenses on EE.com (I think after I opened this ticket). Do I need a development server listed if I want to use it on one? I have the Production server listed but not the Dev.
I’ll also try reuploading Datagrab to the Dev server… maybe something didn’t update correctly. R
BoldMinded (Brian)
A couple of things:
1) I think you need to keep the trailing slash after {base_url} in the import settings.
2) I’m not even sure how this is happening because when creating an import there are no settings yet, so it shouldn’t even be attempting to call that code. I tested this locally and set a break point on the line reported in your error and that line of code does not get called at all when configuring a new import.
If it works on your production site but not locally, then that is usually a sign something is off. Is your site under version control? Do you have the exact same files on both servers?
rkern
OK…yeah, very weird. My Dev site isn’t local … it’s actually on a subdomain (final checks & close to launch). The Subdomain is on a Digital Ocean droplet being managed by Forge. Live site is on a cPanel VPS. Sites are moving to the Forge managed DO droplet when we launch this. The versions are the same. I deleted the copy on my development site & uploaded the latest 5.2.2 and made sure they were the same on both.
My site is configured to have the Trailing slash … so {base_url} should have it already. I’ve tried pretty much everything I know to do. Not sure if the additional info above is helpful or not.
It IS working on my Production site so that is good.
R
BoldMinded (Brian)
Comment has been marked private.
rkern
HI, I tried this but it didn’t make a difference. I find it weird that the Live and the Dev have the same version of everything but I don’t have the issue on my live. It makes me think that maybe this is related to my Dev server, which is on a different service. Could there be anything missing from my php install that would cause this?
BoldMinded (Brian)
I have no idea what is going on. DataGrab uses the PHP Session heavily when navigating between it’s pages in the control panel, so maybe something on your dev server that handles sessions is configured oddly?