Forums / Install & configuration / Upgrading from 3.4 to 3.8

Upgrading from 3.4 to 3.8

Author Message

Stefano Guandalini

Sunday 17 September 2006 4:05:29 am

Hi,

I'm just trying to upgrade an old installation using 3.4.4 version to the latest available.
I found that there is a new interesting part in documentation so I just followed it. I downloaded 3.8.4 version, unpacked it and started the upgrading travel from 3.4.4 to 3.5.0. I updated the db and there was no problem but when i started the upgrade scripts I ran into problems:

allgrey:/var/www/ezpublish-3.8.4# php update/common/scripts/updateiscontainer.php -s ezpa
Unsuitable eZ publish version:
3.8.4

and

allgrey:/var/www/ezpublish-3.8.4# php update/common/scripts/updateniceurls.php

Fatal error: Call to a member function on a non-object in /var/www/ezpublish-3.8.4/update/common/scripts/updateniceurls.php on line 128

Fatal error: eZ publish did not finish its request
The execution of eZ publish was abruptly ended, the debug output is present below.

Suggestions?

g

Stefano Guandalini
http://www.nizan.net

Juliusz Calyniuk

Monday 18 September 2006 1:36:13 am

Hi Stefano,

Perhaps downloading 3.5 version is better idea if you want upgrade from 3.4 to 3.5 ;)

Remember that there is PHP version issue:
- PHP 4.3 for eZp 3.6 and lower
- PHP 4.4 for eZp 3.7 and higher

This is quite long way from 3.4 to 3.8.

Regards

WebStyle Systems | http://www.ws-webstyle.com

Stefano Guandalini

Monday 18 September 2006 1:50:06 am

I do not want to upgrade to 3.5 but to the latest 3.8 and 3.5.0 version is no more available to download; since I have to do all steps involved in upgrading from a version to another, I find very painful to download and install all minor revisions from 3.4 to 3.8 :-)

Also, I tried to run upgrade scripts with PHP 4.3.10 and 4.4.4 but with the same results. :-(

Thanks

Bye

g

Stefano Guandalini
http://www.nizan.net

Juliusz Calyniuk

Monday 18 September 2006 3:32:04 am

Yes, the way is long...

Upgrading with a small steps method can bring info about the problem.
After one step this is very important to test carefully all the functions and key pages.
When the website works properly on 3.6 version, PHP 4.4 should be used for upgrading to 3.7 and than 3.8 realises.

Older versions of eZ publish are available here:
http://ez.no/download/ez_publish
There is 3.5 ver between others.

WebStyle Systems | http://www.ws-webstyle.com

Diego Barcia

Monday 25 September 2006 12:33:24 am

I've almost succeded doing a direct upgrade from 3.4.4 to 3.8.4. But I started that before the upgrading docs were available, and there were some issues dangerous to be left uncertain, so now I'm taking the work of doing several upgrades. I think this is worth doing if you don't want to keep up with an old installation such as 3.4.4.

With this direct upgrade, the frontend worked, however I had several problems with the administration. This was due I guess to changes not done in .ini files (see the doc) and the is_container flag for classes in the database. (Besides, there were other issues but mainly with a phplist integration, related to some changes in the classes datatypes put into the eZ database; something only important for that particular website, but it was like a time bomb, and I'm glad I've found it thanks to doing it the step-by-step way).

Now, i'm following this:
3.4.4 > 3.5.0
3.5.0 > 3.5.2
3.5.2 > 3.6.0
3.6.0 > 3.8.0
and minor 3.8.0 > 3.8.4

I think these are the only needed updates, no 'minor' versions needed other than 3.5.0 to 3.5.2.

Just for "log", when I was in the direct path from 3.4.4 to 3.8.4, I run these updates on the db:

/update/database/mysql/3.5/dbupdate-3.4.4-to-3.5.0.sql
/update/database/mysql/3.5/dbupdate-3.5.0-to-3.5.1.sql
/update/database/mysql/3.5/dbupdate-3.5.1-to-3.5.2.sql
/update/database/mysql/3.6/dbupdate-3.5.2-to-3.6.0.sql
/update/database/mysql/3.8/dbupdate-3.6.0-to-3.8.0.sql
/update/database/mysql/3.8/dbupdate-3.8.0-to-3.8.1.sql
and etc

and these scripts:

updateiscontainer.php* (needed for upgrading to 3.5.0 or later versions)
*(DID'NT WORK: same error as you)
updatesearchindex.php (needed for upgrading to 3.5.0 or later versions)
updateniceurls.php (needed for upgrading to 3.5.0 or later versions)
updatetoplevel.php (needed for upgrading to 3.5.1 or later versions)
updateeztimetype.php** (needed for upgrading to 3.5.3 or later versions)
**(DID'NT WORK; also, this is'nt in the 3.8.4 dist, but 3.5.x)
updatecrc32.php*** (needed for upgrading to 3.5.8 or later versions)
***(did not return any output)
convertxmllinks.php (needed for upgrading to 3.6.0 or later versions)
updaterelatedobjectslinks.php (needed for upgrading to 3.6.0 or later versions)
updatemultilingual.php (this I don't recall, see the docs...)

In theory, I could modify the updateiscontainer.php script and change the ''max_version' => '3.5.0' property in the $script var, and set it higher. I did'nt, because you are at your own with this.

Also, for the updateiscontainer.php script, if you use several custom content classes, I think it's best to make a copy of this script and change the name of the eZ default classes to your own ones, and run it again. In this line:

$classList = array( 'folder', 'article', 'user_group', 'forum', 'forum_topic', 'gallery', 'weblog' );

you could replace it just for

$classList = array( 'yourclass1', 'yourclass2', 'yourclass[n...]');

This worked. I had no idea as to why the updateeztimetype.php did'nt work or why the updatecrc32.php did'nt return any output, or if it should had done so.

Bu then, there's the .ini files issues from 3.4.4 to 3.8.4. I stopped there.

Hope this helps in the upgrading. I worked hard on this and I'm very happy that the documentation is available for this issue now.

with kind regards,
diego