There is
solid documentation on performing a clean installation of XOOPS 2.3.x; however, most XOOPS users want to use the latest version with the latest capabilities, so for those who used XOOPS 2.0.x, that means upgrading what you currently have installed, and chances are, you've got a number of modules in place and a number of modifications to language files and the likes. The
upgrade documentation published with the 2.3.x release confused me a little bit -- at first, but I figured it out after working on it for awhile. The only lacking feature to the upgrade release documentation is that it assumes you don't have any modifications to your installation (core and/or modules). This document is designed to be a quickstart guide for those with "mature" installations (call them institutionalized, or whatever you want) and want to apply 2.3.x to your existing 2.0.x installations per se. This document does NOT deal with XOOPS 2.2.x branch, but should be easily adapted.
I hope this doc helps others. I'd even suggest that the documentation team take this and put it into the documentation area. I'd do it, but I've not taken the time to learn wiki language, and I don't have the time to deal with that right now, so I figured sharing here was the best solution in the short term.
Also, because the XOOPS.org site allows limited formatting, you may want to visit
my article on XOOPS 2.3.x installations and upgrades. My article also includes some other notes and information that wasn't necessarily pertinent to this upgrade process.
NotesI started this document after the release of 2.3.0 and before 2.3.2b, but didn't finish until after it's release, so this document currently focuses on the 2.3.2b release, but it should work fine for any of the 2.3.x releases. I have more than a dozen sites using XOOPS, and several more in the works, so I try to keep them all generally synchronized or it'd be a real nightmare keeping up with them as separate solutions.
InstallationClean InstallWhy reinvent the wheel? See
the official XOOPS 2.3.x Installation Notes (aka guide) posted in the Core Documentation or
the installation documentation in the wiki. I'll note that it's easy to install XOOPS the first time, especially if you've ever installed a database-driven, php-based application. I can do a new one in about 3 minutes now. It's the upgrade of mature, institutionalized installations that requires some planning (as does any CMS).
UpgradeThese instructions are valid for upgrading from the 2.0.x series starting with 2.0.14+. If you have an installation older than that (as far back as 2.0.7.x), then there are just a few more instructions to follow (use the upgrade instructions in
the release notes and/or
my older article on upgrading the 2.0.x series). Further back than that will require some legacy research on your part. Also, these instructions were not written for the newbie, so it doesn't explain everything in detail, but covers the bases to hopefully make it easier to upgrade your existing site(s).
* Backup - I backed everything up of course; you should too (files & database)
* Pre-Upgrade Instructions (per XOOPS instructions)
o Unzip XOOPS release into a temporary folder
o Delete Unneeded Files/Folders from htdocs
+ Delete install folder
+ Delete mainfile.php, favicon.ico (typically, but leave if you didn't modify)
o Protector Module
+ Copy extras/mainfile.dist.php.protector file to
upgrade/upd-2.0.18-to-2.3.0/mainfile.dist.php (I edited this for other
profile modules and my debugging script)
+ Move upgrade folder into htdocs
o AltSys Module - Prevent Admin Blank Screen (if installed)
+ Copy altsys folder in current XOOPS_TRUST folder to xoops_lib/modules folder
+ move extras/altsys_functions.php in XOOPS 2.3.x release to
XOOPS_TRUST/xoops_libs/modules/altsys/include/ directory (compare first)
+ In xoops_lib folder, make symlink of libs -> modules (for altsys compatibility)
* Merge Core/Module Modifications (if in core release)
o Merge any core files modified for your installations
+ robots.txt (only if changed)
o Merge Frameworks
+ Essentially, start with the latest Frameworks 1.22 (and/or merged with 1.35
if used), then add/overwrite files with Frameworks for XOOPS 2.3.0, then
add/overwrite files with the XOOPS 2.3.x core files. More comments in the
comments section below.
o Merge images, languages, uploads folders
o Merge WYSIWYG editor changes (I make mods to FCKeditor, restructured again)
* Copy/Move Files (over existing site)
* Perform Upgrade
o Remove files from cache and templates_c folders (keep index.html)
o Make mainfile.php writeable
o Run upgrade script (http://yoursite.com/upgrade)
+ Point to xoops_data and xoops_lib directories
o Delete upgrade folder
o Update system, protector, and other core modules if installed
o Update non-core modules individually (make sure using the latest versions)
* Post-Upgrade File Restructuring
o Move new xoops_lib and xoops_data folders into XOOPS_TRUST directory; remove
the old, unneeded files and folders
o Delete and redirect cache and templates_c folders via symbolic link
o Update mainfile.php to reflect the above changes
o Make mainfile.php unwriteable
o Module Specific Changes
o Remove old, unneeded files
o Update FCKeditor module-specific configurations in all modules (if any)
* Test - Perform integration/regression testing on all modules
o Review templates changes/updates for all modules and incorporate as appropriate
Please let me know if you have any questions, or suggestions to make this document better.