Upgrade Guide

This guide provides step-by-step instructions for upgrading your SLAED CMS installation to the latest version while preserving your data and customizations.

Preparation

Before You Begin

Before upgrading your SLAED CMS installation, ensure you have:

  • Administrative access to your server
  • FTP/SFTP access to your website files
  • Database access credentials
  • Sufficient disk space for backups
  • Knowledge of your current SLAED CMS version

System Requirements

Check that your server meets the requirements for the new version:

  • PHP Version: 8.0 or higher
  • Database: MySQL 5.7+ or MariaDB 10.3+
  • Web Server: Apache 2.4+, Nginx 1.14+, or IIS with PHP support
  • Required PHP Extensions: mysqli, gd, zip, mbstring, curl

Backup

Database Backup

Create a complete backup of your database:

# Using mysqldump
mysqldump -u username -p database_name > backup_$(date +%Y%m%d).sql

# Using phpMyAdmin
# Navigate to your database > Export > Quick export method > Go

File Backup

Backup your entire SLAED CMS installation:

# Create a compressed archive of your installation
tar -czf slaed_backup_$(date +%Y%m%d).tar.gz /path/to/slaed/installation

# Or using zip
zip -r slaed_backup_$(date +%Y%m%d).zip /path/to/slaed/installation

Configuration Backup

Specifically backup your configuration files:

  • config/config_core.php
  • config/config_db.php
  • Module configuration files in config/

Compatibility Check

Module Compatibility

Check if your installed modules are compatible with the new version:

  1. Review the release notes for breaking changes
  2. Check module documentation for version compatibility
  3. Identify any modules that may need updates

Theme Compatibility

Verify your custom themes will work with the new version:

  • Check for deprecated template functions
  • Review CSS class changes
  • Test custom templates with new API

Custom Code Review

If you have custom modules or modifications:

  • Review custom code for deprecated functions
  • Check database schema changes
  • Test custom integrations

Upgrade Process

Method 1: Manual Upgrade

For complete control over the upgrade process:

  1. Put site in maintenance mode
    // Add to config/config_core.php
    $conf['site_maintenance'] = 1;
    $conf['maintenance_message'] = 'Site is currently under maintenance. Please check back later.';
  2. Download the latest version
    wget https://github.com/slaedcms/slaed/archive/latest.zip
    unzip latest.zip
  3. Upload new files

    Upload all files except:

    • config/ directory (keep your configurations)
    • uploads/ directory (your uploaded files)
    • templates/ directory (your custom themes)
  4. Run database updates

    Navigate to http://yoursite.com/admin/upgrade.php and follow the prompts

Method 2: Incremental Upgrade

For large version jumps or when experiencing issues:

  1. Upgrade to intermediate versions first
  2. Apply database updates for each version
  3. Test functionality at each step

Post-Upgrade Steps

Configuration Updates

Review and update your configuration files:

// Check config/config_core.php for new options
// Example of new configuration options in version 2.5
$conf['new_feature_enabled'] = 1;
$conf['performance_optimization'] = 2;

Module Updates

Update or reinstall modules as needed:

  1. Check module compatibility with new version
  2. Update modules through admin panel
  3. Reinstall incompatible modules

Theme Verification

Verify your themes work correctly:

  • Check template rendering
  • Verify CSS styling
  • Test responsive design

Performance Optimization

Take advantage of new performance features:

  • Enable new caching options
  • Configure OPcache settings
  • Optimize database indexes

Troubleshooting

Common Issues

White Screen or Errors

// Enable error reporting in config/config_core.php
$conf['debug_mode'] = 1;
error_reporting(E_ALL);
ini_set('display_errors', 1);

Database Connection Issues

Verify your database configuration in config/config_db.php:

$dbhost = 'localhost';
$dbuname = 'your_username';
$dbpass = 'your_password';
$dbname = 'your_database';

Missing Functions or Classes

Check for deprecated functions and update your code:

// Old function (deprecated)
old_function_name();

// New function (replacement)
new_function_name();

Log Analysis

Check logs for detailed error information:

  • storage/logs/error.log - General errors
  • storage/logs/security.log - Security events
  • storage/logs/performance.log - Performance issues

Version-Specific Notes

Upgrading to 2.5.x

Key changes in version 2.5:

  • PHP 8.1+ requirement
  • New database abstraction layer
  • Enhanced security features
  • Improved template system

Upgrading to 2.4.x

Important changes in version 2.4:

  • Updated admin panel interface
  • New module API
  • Improved caching system
  • Enhanced mobile responsiveness

Upgrading to 2.3.x

Major changes in version 2.3:

  • Complete rewrite of user authentication
  • New permission system
  • Updated database schema
  • Modernized admin interface

Rollback Procedure

If you encounter issues after upgrading:

  1. Restore your database backup
  2. Restore your file backup
  3. Revert configuration files
  4. Test the restored installation

Getting Help

If you need assistance with upgrading:

Following this guide will help ensure a smooth upgrade process for your SLAED CMS installation. Always test upgrades on a development environment before applying them to your production site.