Upgrade an existing phpWCMS installation

Because there were so many changes changes with phpwcms, here are now the upgrade / update descriptions.

The effort differs. The older the installed version is, the more effort is necessary for the upgrade to the actual version. But if you stay with the order of the upgrade description, you shouldn't have big problems.

In "Update from RC 1.1 till 1.2.9 to 1.3.x" a universal upgrade description has been written that should make it possible to succeed with an upgrade to the actual phpwcms version 1.3.3.

An upgrade description für the versions beginning from 1.2.9 will follow shortly.

Download: - Latest Version (http://www.phpwcms-docu.de/download-dev-versions.phtml)
Docu: - Installation & Update (not yet, german only)
List of changes: - Ongoing improvements / changes (Dec. 18.-2011)

For non-experienced users, we recommend a parallel installation. (Also you will have the advantage that you are completely at rest as a new design build or merge changes / improvements can not come under stress, as the old site will remain untouched).

01. The current version of push in a subdirectory. (FTP download and reupload into the new folder)
01.a Find my current version

In old versions you have an entry in include/inc_lib/default.inc.php at the end of the file called:

$phpwcms["version"] = Version No.

In newer versions there is an entry in include/inc_lib/default.inc.php around line 135 called:

$phpwcms["release"] = Release No.
$phpwcms["release_date"] = Release date

In brand new versions there is an entry in include/inc_lib/default.inc.php around line 245 called:

$phpwcms["release"] = Release No.
$phpwcms["release_date"] = Release date
$phpwcms["revision"] = Revision

02. The existing DB backup DB and bringing in a second DB - the working DB, then copy. (PhpMyAdmin - http://de.wikipedia.org/wiki/PhpMyAdmin>).
- Before you export the contents of the following tables perhaps might be be emptied to reduce the DB size:
First phpwcms_bad_behavior empty
Second: phpwcms_cache empty
third : phpwcms_formtracking empty if available
(Left the table phpwcms_bad_behavior select -> select top view -> select all down -.> Delete selected (run several times, depending on the number of display pages (the same for phpwcms_cache, phpwcms_formtracking).

fourth: Check tables for errors and optimize if necessary / repair.

- The newer phpMyAdmin basically export in UTF-8 format.
- The new DB is created with the appropriate collation phpMyAdmin for the MySQL connection.
(For earlier DB is swedish_latin1_ci to 99%)
- In the new DB is now exported with the default character encoding UTF-8 import.
If you're using an ISO charset, it may be necessary to convert before importing the SQL file to ISO. It goes quite well with the below mentioned editor.
-> Load SQL text file into the editor, under "Format" ISO8859-2 to select and save with a new name. The ISO file is now encoded before.
(But please first try a simple export / import with identical settings (character encoding) !!!).

03. The existing conf.inc.php in the new installation copy and compare them with the existing dist.conf.inc.php there.
This course is also registered with the new DB collation and the charset and the subdirectory in which the new system is running.
-> It would be better if you could set up specifically to a subdomain instead of the installation with a subdirectory name to speak.

04th File and directory permissions set as stated in the Docu. http://www.phpwcms-docu.de/download-dev-versions.phtml (Adjusting the file and folder rights)

05th Call setup -> Update
- Note Depending on the version level, the first points and run.
- DB updates can be run sequentially and check for error: (Always the entire output field to scroll down!)
> (This of course is the entry point to be noted that as the version 1.2.8 is the update begins with "15__1.2.7-DEV_to_1.2.9.sql"!)
-------------------------------------------------- ---
- 13__1.2.5-DEV_to_1.2.6-DEV.sql (from v1.2.5)
- 14__1.2.6-DEV_to_1.2.7-DEV.sql
- 15__1.2.7-DEV_to_1.2.9.sql
- 16__1.2.9-DEV_to_1.3.0.sql
- 17__1.3.0_to_1.3.2.sql
- 18__1.3.2_to_1.3.3.sql

- 19__1.3.3_to_1.3.4.sql (from V1.3.3)
- 19__1.3.4_to_1.3.5.sql
- 20__1.3.5_to_1.3.5.1.sql
- 21__1.3.5_to_1.5.sql
- 22__1.4_to_1.5.sql (from V1.4.x)
-------------------------------------------------- ---
-> The last update, it will likely lead to errors:
- Error: The table does not exist phpwcms_categories - ignoring> as a shop update, but the shop still exists when you do not
- Error: The table already exists phpwcms_log - ignoring> as this table is not used in the new form

05.1 Duplicate indexes in several DB tables

- It may happen that there are duplicate indexes in the tables.

- PhpMyAdmin> call
-> Select DB
-> Select Table
- Delete roles> down to the indexes (all indexes, where you can have a "_1 _2 _3 etc." at the end.
(PhpMyAdmin should you when you call the table also indicate that duplicate indexes are available)
! Look through All tables!

06th If the shop is not needed then please delete the entire path / include / inc_module / mod_shop /

07th The contents of the folder / file archive (phpwcms_filestorage) / the old version in the folder / file archive / copy the new version (with the same data in / picture / * if used)
- Changed directory name
OLD. . . . . . . . . . . . . . . . . NEW. . . . .
phpwcms_filestorage ->. . . . filearchive
phpwcms_ftp ->. . . . . . . . . upload
phpwcms_template ->. . . . . template

08th The existing file / config / phpwcms / conf.template_default.inc.php the old version with the new Syndicate

09th If you've called home differently, then please also synchronize the file / config / phpwcms / conf.indexpage.inc.php

10th The existing modified CSS file under / template / inc_css / from the old version compare with the corresponding new css files

11th Changing the existing template files / template inc_cntpart / / * from the old version compare with the corresponding new files
(When I say match, I always think that the new files will be supplemented with entries from the old one)

12th Browser cache -> call back log, can not access the site!! (Because if you Google or tracker stuff've installed this should be disabled before calling first page in this development, installation (If later re-activated upon completion of the page)).

13th Disable in the existing template the tracking code!!

14th If the backend will work, then please delete the / setup / * or rename a meaningless string.

15th The system should now be running. The rebuilding of the images can lead to a quasi-standstill of the system, not frighten. (Multiple call one after the file center, if the message comes as a timeout).
(You can also copy the contents of the folder / content / images / * from the old system, but is usually not necessary as the system builds an index of thumbs / smaller pictures / new files).

There are of course still some adjustments to accomplish such the <META ...> XHTM tags fixed to make:
<Meta .... /> If so, however, odds and ends and has to do with the update basically nothing.

The procedure for this scheme has the advantage that the old page remains untouched, and you with the new system, eg the layout and other changes can develop in peace.
After completion of the work, the old system will be deleted and the new version is pushed to this site or the domain bent on it.

Important: The updated stress is largely caused by a careless handling of the CSS and template files.
Principle 1: Always own name for use in CSS and template files that are in use, they are not affected by an upgrade.
Principle 2: If possible, for the base system, the layout and navigation separate CSS files.
e.g. frontend01.css, layout01.css, navi01.css

For **** or for the editing of all files can eg The editor PSPad and its FTP mode. Be used (direct access from the editor).
This editor is combined with total commander (free for non-commercial sites) really useful.
As an alternative to total commander can also e.g. http://www.filezilla.de/ be used. (If the FTP area clearly superior).
Suggestion: A DIFF. Create with total commander