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, 2024

Description 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

#1

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?

#2

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

#3

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?

#4

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

#5

BoldMinded (Brian)

Comment has been marked private.

#6

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?

#7

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?

Login to reply