Many problems with oxid eshop

Hello, I speak better english than german, but will be also happy if somebody can react in german.

After spending more than 1 week all evenings and nights with oxid eshop, reading manuals, following procedures etc. I am still getting problems and seriously stucked with my eshop.

So far I was 7+ years using 4.5.0 installed by myself without any problem. The eshop is still working 100% although very old.

With new year coming I decided to update my wamp server for latest version, that means also new versions of apache, php, mysql/mariadb.

Among other virtualhosts running on old server it showed the only very big problem is to migrate the perfectly working 4.5.0 under new environment. Why there cant be simple button in oxid administration to do all the update stuff itself completely or with some easy manual if my input is needed.

During last days I tried many scenarios - backup entire db and import into new shop, backup and import only some essential tables with articles, users, categories etc, tried to migrate old 4.5.0 into different machine (lost products thumbnails unfortunately although copied all files and db) and there to apply updates without success…

Simply nothing works, everything has many errors, everything consumes plenty of time and it looks I had very bad idea trying to upgrade my machine and update shop to latest modern version. Why is this so big trouble and so much complicated?

Anyway, I am out of ideas now and do not know how to continue, therefore came here to kindly disturb you after almost 50 hours spent with oxid in last week for nothing.

Can someone help me with best steps to 100% migrate my old 4.5.0 oxid CE to newest version? I am using basic template so nothing special.

When I tried update from this page: GitHub - OXIDprojects/ancient-update-packages: ancient update packages for OXID eShop
I end with errors during the first from many updates on the way to latest version.
That means UPDATE_OXID_ESHOP_CE_V.4.5.0_34568_TO_V.4.6.8_88988.zip ended with no luck and not even talking about many other updates needed for my shop to become latest version.
Additionally I assume even if the updatepp would work I will soon have problems with old versions of mysql and php… Correct?

Based on all above, please how to proceed correctly? And is it worth to spend plenty of time with so many update packages producing plenty errors and face other possible errors while updating mysql and php during this long journey?

Isnt there simple solution for my plan?

Or should I rather migrate from oxid to any better shop where updating is much easier during automated process inside admin background?

Thank you for your replies and recommendations. It is a pitty oxid is so complicated and zero automated.

Ahoi!

Honestly, I would go for another, simpler shop software. Maybe WooCommerce or Shopify?
In latest version OXID became somewhat overcomplicated at some points, leaving all small shop users behind.

2 Likes

Or just get some professional help. Updating from such an old version like 4.5.0 doesn’t seem to be an easy task.

3 Likes

Thank you for your time and answers.
I have no problem to go for some simpler shop software, the only requests are it has to be free solution like oxid CE and it should be compatible somehow with structures of products or some migration tool available.
The shop is small, not producing big money, therefore trying on my own without expensive professional help/maintenance.

The updating procedure makes sense from those tons of docs I read, still when following the path exactly step by step it doesnt work.
I was thinking the way I will update 4.5.0 to 4.6.8 and later to 4.7.0 then to 4.9.11 followed by 4.10.8 and finally from 4.10.8 to 6.x
Although plenty of work I said myself ok I will do it after I tried to directly import tables into brand new installation of 6.1.5 without success.

Now it looks I am out of options what else can be done. Therefore asking here what could be the best step by step to reach my goal.
Should I keep trying with that time consuming update procedures, or simply export some basic tables e.g. products and users and import into different shop software? If export, should it be sql, or e.g. csv to gain better compatibility?

I agree 4.5.0 is very old, but so far it works really nice so I didnt update anything to not harm something when I realized there are no automatic update procedures like e.g. in wordpress and I would have to do many stuff manually where there will be plenty of space for errors.

If you think I should forget about that crazy update procedures in oxid, could you please recommend some free shop software with the best compatibility with oxid?

I also saw some migration tools (unfortunately paid) to migrate oxid to plenty of other shop software. Still not sure if this would be valuable and without problems/errors and still more happy with some free alternative.

Thank you.

Can you estimate, how much time would you need to get you products into a freshly installed shop instead of upgrading?

1 Like

If everything works well, exporting products and users is matter of 1-2 minutes and importing into new shop db about same time. The additional settings take some time too, but no problem when I know I will reach my goal.

Same for updating old shop with those manual updates one by one. I will be happy to invest my time to reach my goal.

Unfortunately after I tried many different scenarios and all of them without success while time spent counts in higher tens of hours, I am really not sure the ways I tried were the best ways how to reach my goal.

I wanted to stay with oxid, I only wanted to run latest version with my products and users migrated under 6.1.5 + new php + new mysql or mariadb if supported.

Now this small goal looks like nighmare and mission impossible. Unfortunately.

Ah sorry, you mean to manually add them under new shop. Well, during the years I accumulated 4000+ products with variants, photos and documentations.

There would be a way to copy/paste this all into brand new installation, maybe csv import could help. The worse I see to pair with pictures pdf manuals etc. Am I wrong?

By the way, is template structure of 6.1.5 a big different from basic template in 4.5.0? Maybe I could import csv in admin background only? Not sure. Still I read something new and changes about pictures handling…

So it looks it could be a new nightmare and therefore I told myself I will try to follow update procedure to let “updateapp” do its work and apply necessary changes to old structures, bringing me one-by-one update to newest oxid.

ok, i expected something like 10-15 products, when you meintioned “small shop”.
In this case updating seems to the only reasonable way without involving external tools like inventory management software or premium migration scripts.
Therefore we need the exact error messages, like blank white page or error 500 etc. Otherwise its like going to a doctor and saying “it hurts” without any further information what actualy hurts.
You also need a functional shop for making updates, e,g. you can’t throw a 4.5 shop files on a php 7.4 webserver and run updates, because oxid 4.5 does not support php 7.4.

It’s not impossible. But, you can not use any modules from 4.5 and you can not use the template from 4.5. You need a fresh install twice, one for 4.7 and one for 6.x. The installation and maintenance of Version 6.x is done by composer via SSH, this might be challenging.

The upgrade can either be done online or with a local copy of the shop. If you do it online, it’s good to have 2 databases available.

Either way, before you start the upgrade you should make shure your shop is 100% unmodified (check with oxchkversion) standard theme is selected and all modules are switched off. You probably will not have any trouble with mysql and php version, you can do the switch to php 7 when you’re installing the oxid 6 shop.

Thank you for your answers.

If the long update journey is the only best way, I can try it all again from scratch - copy existing db + files from live 4.5.0 to different virtual machine and paste here the error.

This will be time consuming, without knowledge of how many errors awaiting during the journey with shop updates and later with php+mysql updates (not sure now when exactly to swap php+mysql during the journey to minimize negative impact).

Assuming after couple of days/weeks of hard work the migration is successfully done. Now reading the installation and maintenace by composer via SSH might be challenging - that means more possible errors or how to interpret?
Here I have to say I already used composer during last days while trying to install fresh new 6.1.5 on different machine and no problem while following manuals.
4.5.0 shop is running 7+years on windows (wamp server) like a charm without problems. Should I expect problems in 6.x and future versions with composer/ssh?

Based on this, would be better to change for any other free shop software, ideally any with easy update e.g. one-click update as CMSs have?

Oxchkversion I already used - first problem was my 4.5.0 was originally downloaded from cz page with implemented czech language and maybe some other changes (not sure), however build was not original 34568 but 41909. Based on this I realised partial updates wont work for me (tested with errors before I hit Start button). So I installed on another machine fresh 4.5.0 original build 34568 - oxchkversion passed saying my eshop is unmodified. Then I created new language (cz) with language files from 41909 - shop switched to cz perfectly so I gained the copy of my eshop on different machine in same language, the only 2 differences:
1, on new machine it was running under original build 34568
2, product image thumbnails set to no_pic while product detail image ok (didnt find why thumbnails got broken)

Under this new shop I run oxchkversion again - again passed and green, only 8 unknown = language related files.
In this shape I told myself finally I am able to run the first update package from 4.5.0 to 4.6.8
Here I did exactly as written in manual, overwrite files and run shop/updateapp - page loaded without errors, I hit start, was asked if pictures should be moved under new picture system, selected yes, finally it started working, log showed couple of minutes same action like rebuilding or something and then threw an error before the procedure finished completely.

Based on all above and your responses - I am able to invest time to get to the same point of update and copy here the error.
Still I will be happy if you can evaluate and give advice if I am not spending plenty of time for nothing and if any other free eshop wouldnt be better for me in regards to future updates etc.

For the theme comment - as written above, I am using basic template in 4.5.0 althouth there is installed also Azure template.
I am not saying I wouldnt be happy to switch to modern template I saw in empty 6.1.5 shop after installation, but I guess this would bring even more problems?
By the way, while I was installing fresh 6.1.5 on new machine during the installation was checking components everything was green, but after the installation before I had chance to change anything I saw a red flag in administration for ini_set - again not sure why as at the beginning of installation everything was fine and without any change this component turned red warning me in admin background the shop maybe doesnt work good and I should focus on problems highlighted under System check tab. Strange, isnt it?

PHP/Mysql shouldn’t be a problem, before each step check the requirements of the new version. When upgrading from 4 to 6 you need a fresh installation of OXID 6, this installation should run with PHP 7.

In fact less errors but you need to use composer on the command line, that’s all. Updates run much smoother in V6.

I think if you can get along with V6 and composer (which you probably do because you already installed it) then it is totally worth it. You need many updates but in fact this is not so much work because you do not have to care about modules and theme, you can just proceed until the newest version.

No problem.

Yes that’s a known bug, you can ignore it.

Ok so I gave it another try today - took copy of existing shop to different machine with same setup - everything works ok in copied shop except of thumbnails as described in previous comments.

Steps I did:

Oxchkversion:

oxchkversion v 3.2.1 at 2020-01-21 11:25:44

Edition CE
Version 4.5.0
Revision 34568

Summary

OK 1310
Modified 0
Version mismatch 0
Unknown 13
Number of investigated files in total: 1323

This OXID eShop was not modified and is fully original.

Those 13 unknown are lang files.

Unpacked UPDATE_OXID_ESHOP_CE_V.4.5.0_34568_TO_V.4.6.8_88988
Copy_this copied.
Updateapp copied and run from browser.
Updateapp loaded properly and asked to relocate images - selected Yes.
Couple of minutes same output:
[exec:] rev: 34568 action: relocateImageFiles
Then last records in update log:

  • [exec:] rev: 34568 action: relocateImageFiles
  • [exec:] rev: 34568 action: renameFileUploadFolder
  • [exec:] rev: 34568 action: updateHtaccess

And error stopping updateapp:

Notice: Undefined offset: 2 in C:\eshop\core\oxutils.php on line 683
oxConnectionException—!–NOT CAUGHT–!--oxException (time: 2020-01-21 12:03:15): [1062]: mysql error: [1062: Duplicate entry ‘79e417a442934fcb9.117331841’ for key ‘PRIMARY’] in EXECUTE (INSERT INTO oxconfigdisplay VALUES(‘79e417a442934fcb9.117331841’, ‘theme:basic’, ‘bl_perfLoadCatTree’, ‘navigation’, ‘’, 410), ) with user eshop Stack Trace: #0 C:\eshop\core\adodblite\adodbSQL_drivers\mysql\mysql_driver.inc(369): adodb_throw(‘mysql’, ‘EXECUTE’, 1062, ‘Duplicate entry…’, ‘INSERT INTO ox...', false, Object(object_ADOConnection)) #1 C:\eshop\core\adodblite\adodb.inc.php(316): mysql_driver_ADOConnection->do_query('INSERT INTO ox…’, -1, -1, false) #2 C:\eshop\core\oxlegacydb.php(203): ADOConnection->Execute(‘INSERT INTO ox...', false) #3 C:\eshop\updateApp\core\updateBase.php(147): oxLegacyDb->execute('INSERT INTO ox…’) #4 C:\eshop\updateApp\updates\php\34568.php(553): updateBase->updateSql(0) #5 C:\eshop\updateApp\core\updateBase.php(88): update_34568->updateSql(0) #6 C:\eshop\updateApp\core\updateProcess.php(163): updateBase->update(‘updateSql’, 0) #7 C:\eshop\updateApp\ui\http\ajax.php(37): updateProcess->runStep() #8 {main} Connection Adress --> Connection Error -->

Error: script did not finish successfully.
Please check oxupdatetrack database table for executed actions.

I am completely lost whats wrong and of course copy of eshop completely messed up and not functional now.

Anyone who could help? Otherwise unfortunately step by step update to newest version is not for me.
Thanks in advance.

An SQL Statement failed: Duplicate entry ‘79e417a442934fcb9.117331841’ for key ‘PRIMARY’] in EXECUTE (INSERT INTO oxconfigdisplay VALUES(‘79e417a442934fcb9.117331841’, ‘theme:basic’,

“Duplicate entry” means an entry already exists with the same key. So you can have a look which SQL Statement is causing this, what is it trying to achieve, which key is it complaining about and why do you already have this entry in your DB, e.g. maybe someone ran the update before. Resolution is to either modify your DB (delete the existing entry) or modify the file with the SQL-commands in the update package (delete or comment out the statement), then run the update again.

Make a backup or snapshot before applying the update so you can always go back to previous state, resolve the error cause and run the Update again. In case of UpdateApp failing you only need a DB Backup which you can restore.

If I understood correctly, I have to delete entry 79e417… from oxconfigdisplay before I run the updateapp? Is this safe? What if I run then into error for different entry? I am only asking if this wouldnt be another nigtmare… Still assuming I cannot truncate whole oxconfigdisplay.
The details of the entry is this if it helps:

OXID OXCFGMODULE OXCFGVARNAME OXGROUPING OXVARCONSTRAINT OXPOS
79e417a442934fcb9.117331841 theme:basic bl_perfLoadCatTree navigation 410

Of course I have backup of whole eshop directory and whole DB on the different machine where I am simulating update procedure but still this is very frustrating and time consuming. Ok I will try now only to restore DB before another updateapp try.

Of course it is safe, “theme:basic”, you will for shure not need this in 6.x, will you? Looks like your DB is partially not 4.5.0 but 4.5.1, for whatever reason, so you might have a look in 34568.sql and see if the other inserts are also already present in your DB and if so, just comment them out.

Ok so I deleted mentioned row directly in DB. Run updateapp again, this brought me to another error for different entry in same table. This repeated cca 10 times, I deleted all mentioned rows from error messages one by one manually, leaving the rest of table untouched.

Then I was facing different errors in oxseo. Again deleted mentioned records. Run updateapp again, finally moved to next steps and updateapp finished successfully.

I deleted all files in /tmp following update instructions and also I updated views through admin background.

I tried eshop website (frontpage), looks ok and also thumbnails somehow repaired - great.

Now question before I move to any next step - I run oxchkversion with these results:

Notice : Undefined index: OBSOLETE in C:\eshop\oxchkversion.php on line 614

oxchkversion v 3.2.1 detected at 2020-01-21 14:28:22

Edition CE
Version 4.6.8
Revision e2f1a0e0287ce7674cf00eccb02171ad67942c91

Summary

OK 1018
Modified 0
Version mismatch 0
Unknown 13
Number of investigated files in total: 1405

This OXID eShop does not fit 100% CE_4.6.8_e2f1a0e0287ce7674cf00eccb02171ad67942c91.

As I checked “List files” checkbox for the check procedure I can see now really many files with flag Obsolete while many others with OK.

Does this has anything to do with last update step: 5, adjust templates and changed_full directory? Not sure if I have to copy content of changed_full into updated shop to not harm it after I finally moved to 4.6.8
Also not sure if I have to take care about templates and /changed_full directory at all when I am about to perform other updates to get slowly and painfully to 6.1.5

Please advise.

As you asked for the “theme:basic” I am not sure if I need it under 6.1.5 when finally moved there - not sure if current objects will fit well into 6.1.5 basic template and dont need any sophisticated template. Will be happy if products are still well sorted and displayed under some basic view/template.

Yes just copy it and proceed.

No, you will not need it, it is not supported, just use the latest theme available.

Forget about it, you will install a vanilla version anyway while updating to 4.7.

Thanks for your comments. Well after so many problems and errors I wanted to check if ready for next update using oxchkversion.

Now copied over the content of changed_full and shop still working. Only lost some czech translations or those are missing in old lang files - never mind, hopefully I can find cz files for 6.1.5 once there or I will add missing translations later manually.
Now still many obsolete in version checker and still shop doe not fit 100% to version 4.6.8 but not so many obsolete compared to situation before /changed_full copy.

Eshop working now with 4.6.8 so I believe I can perform next step. Unfortunately I found there is some Special Update procedure from 4.6.x to 4.7.0 with note full installation of 4.7.0 needed. Going to read manuals, looks a bit overcomplicated.
Still I dont understand why I cant generate one big update file from 4.5.0 to 6.1.5 and have to do so many steps. Anyway, wish me luck. Going to figure out what is needed to get from 4.6.8 to 4.7.0 now.