Also available in ((/Doc/Deutsch/LegacyUpgrade Deutsch)) and ((/Doc/Русский/НаследиеОбновление Русский))
Upgrade your WackoWiki from **!!(green)4.x!!** to **!!(green)5.0.x!!**.
{{toc numerate=1}}
See also the migration guides for WackoWiki versions ((/Dev/Release/R5.1/Upgrade 5.1.x)), ((/Dev/Release/R5.4/Upgrade 5.4.x)), ((/Dev/Release/R5.5/Upgrade 5.5.x)), ((/Dev/Release/R6.0/Upgrade 6.0.x)) and ((/Dev/Release/R6.1/Upgrade 6.1.x)).
===Preparations===
1. Check ((/Dev/Release/R5.0/ReleaseNotes ReleaseNotes)) for requirements
1. PHP is supported **only** up to **PHP 5.3**
* you can use ((https://sourceforge.net/projects/xampp/files/ XAMPP 1.7.7)) (PHP: 5.3.8) to upgrade your legacy application
1. **Back up your files** to save important data.
1. ((/Download Download)) the final version. **((https://bitbucket.org/wackowiki/wackowiki/get/5.0.5.zip wacko.r5.0.5.zip))**
1. pull your site in a local htdocs/test folder
1. get the database dump
1. import the database dump (e.g. via phpMyAdmin)
2. rename or remove changed default pages, the installer can only rely on the user 'WackoInstaller' in the pages table to identify and update those pages
1. remove __all__ files and folders under htdocs/test except **wakka.config.php** and **files/**
1. modify the **wakka.config.php** so it will work with your local environment (database, path, theme, etc.)
1. now pull / copy the repo head into the same folder (just the content of the **wacko/** folder)
2. check database tables for abandoned or inconsistent data
Call the URI in your browser -> the installer starts and tell you that you are upgrading from **!!(green)4.2!!** / **!!(green)4.3!!** to **!!(green)5.0.x!!**
===Installer===
* go through all steps
Now you should have your upgraded Wiki. Login as Admin and create a page called UpgradeRoutine and add there the action ##""{{adminupdate}}""## -> save (the installer will try to create this page e.g. ##/Users/WikiAdmin/MigrateDataToR50##)
===Migrate data from R4.x to R5.0===
Action: ##""{{adminupdate}}""##
**The upgrade utilities are only in this release available.**
Steps
1. convert files per page
2. move global files to new sub folder
3. migrate user settings
4. update user statistics
5. move user pages into user name space
6. set page title based on tag
7. set page depth based on tag
8. set version_id for revision
9. set new ACL permissions 'create' and 'upload'
file:/wackowiki_r50_en_adminupdate_action.png
Notices:
1. check character_set_client and character_set_connection
2. check for empty lines in the old bookmark field if conversion of user settings fails and remove them
Renamed ((/Doc/English/Actions Actions))
* ##a## -> ##anchor##
* ##comments## -> ##comment##
* ##orphanedpages## -> ##orphaned##
* ##recentchanges## -> ##changes##
* ##recentlycommented## -> ##commented##
* ##recentcomments## -> ##comments##
* ##showparagraphs## / ##p## -> ##paragraphs##
* ##tableofcontents## -> ##toc##
* ##wantedpages## -> ##wanted##
Renamed ((/Doc/English/Formatters Formatters)) ##""%%([formatter]) content %%""##
* ##comments## -> ##comment##
You can use search to find the old strings and replace each with the new one.
change user links
* ##""((/UserName UserName))""## -> ##""((user:UserName UserName))""##
* set in config/interwiki.conf %%user /Users?profile=%%
* if your Wiki does not resides in root add the folders %%user /folder_test/wacko/Users?profile=%%
Edit default menu items
* login as Admin
* via action ##""{{menu system=1}}""## you can edit the default bookmarks
===Admin Panel===
The new ((/Doc/English/AdminPanel Admin panel)) is in Beta stage.
* to login define the ##recovery_password## in the config file first
1. call ther ##""{{admin_recovery}}""## action as Admin and generate the password hash for your recovery_password
2. add the password hash: 'recovery_password' => 'add hash here',
* Don't forget to delete the **_cache/config/config.php** afterwards.
* call yourwiki/admin.php
* enter your recovery_password
If your ((/Doc/English/AdminPanel Admin panel)) gets locked, reset config/lock_ap from ##1## to ##0##.
===Captcha===
To use Captcha, you must ensure that the session settings in **freecap.php** do not differ from the default values or your config settings,
else Captcha can't pass its values to the session. In the following link you find a workaround for this from our Development-Blog:
* ((CaptchaAndSession Fixing Captcha And Session))
===Notes===
1. {{comment text="Leave a comment here"}} if something is not clear or you have further questions.
2. Do not hesitate to improve this instructions and the wording.