firebearstudio/importexportfree

ConsoleOutput in Model/Product causes 500 errors

Closed this issue · 10 comments

The Product import model writes to STDOUT through the ConsoleOutput class. This causes the ->writeln calls to be output as headers when importing through the admin panel.

For some installations, this results in a 500 error.

I'm getting 500 errors trying to import after installing.

.../admin/import/validate/key/f616080bc3b170bfd51114b68dda64c3c82c79ab4fd71d61c254990a08fe735b/?form_key=fLdcaQBHODRTLoo1

[ReflectionException]
Class Firebear\ImportExport\Model\JobFactory does not exist

The module fixed. Please, upgrade module via Composer and check.

I reinstalled version 1.0.5, and still experience the same error:

validation.js:168 POST https://moto-heaven.com/admin123/admin/import/validate/key/302b615e6d230296e382eff82fab141e8a150ab166bbd27889712952d714a7f4/?form_key=lCA3gQZThyjkPTmG 500 ()
_submit @ validation.js:168
(anonymous) @ jquery-ui-1.9.2.js:432
proxy @ jquery.js:529
handle @ jquery.validate.js:75
(anonymous) @ jquery.validate.js:95
dispatch @ jquery.js:5226
elemData.handle @ jquery.js:4878
trigger @ jquery.js:5130
jQuery.event.trigger @ jquery-migrate.js:493
(anonymous) @ jquery.js:5860
each @ jquery.js:370
each @ jquery.js:137
trigger @ jquery.js:5859
_submit @ form.js:188
(anonymous) @ jquery-ui-1.9.2.js:432
proxy @ jquery.js:529
dispatch @ jquery.js:5226
elemData.handle @ jquery.js:4878
trigger @ jquery.js:5130
jQuery.event.trigger @ jquery-migrate.js:493
(anonymous) @ jquery.js:5860
each @ jquery.js:370
each @ jquery.js:137
trigger @ jquery.js:5859
varienImport.postToFrame @ (index):576
onclick @ (index):267

I'm trying to import a csv file for product inventory. There is nowhere to map what columns I need to sync. Is this just a limitation of the free version?

Thanks!

@JVKeller Mapping available on on paid full version https://firebearstudio.com/improved-import.html and we also provide quick free support for that version

Regarding error 500 which you are get - we are unable to reproduce it, can you please provide exact steps how did you get and which bash commands was running after the installation of free version by composer.

Thanks and looking forward to hear from you!

@navarr thanks for point that issue , can you please share more details? on which cases this cause the issue? we are trying but unable to reproduce so far. Thanks in advance for any info!

@biotech It's very hard to reproduce - we only had it on one of our environments and it drove me crazy trying to debug it. It is very dependent on server configuration.

The best I can give you is that $this->output = new ConsoleOutput(); should be removed and replaced with a Magento logger. ConsoleOutput just causes problems in some environments when data is being output through it. I presume it would be b/c it skips PHP's basic output buffering and instead just writes directly to STDOUT.

Since it's temp anyway, replacing it with a Magento logger will clear up the issue.

@navarr thank you for details , we will do that!

I think my issue might be unrelated to navarr's.

I just installed and tried to run a test file, but the test file didn't have standard Magento 2 csv headers so I think the import just didn't know what to do?!

I'll modify the csv and try again.
I purchased a different import tool before I found this one. I'm about to demand a refund and get this one instead!

Yes sure, lite version will works only with default Magento 2 csv ;) looking forward to your purchase and we would be happy to help you with any issues!

@JVKeller I replaced to Magento logger. Please, check