Note: This documentation is still in progress, not reviewed properly, and might contain some errors or outdated images. It's intended for the upcoming 4.0.0 release, so configuration settings might be different from previous versions.

Upgrading to v3.2.0

Overview

Version 3.2.0 introduces a comprehensive logging system for tracking user and zone changes, enhances the user interface with multiple display options, and improves overall system security through better audit trails.

Upgrade Instructions

  1. Download latest tarball from GitHub
  2. Backup your files and database before proceeding
  3. Replace all files with content from the downloaded archive
  4. Restore your configuration file (inc/config.inc.php) from backup
  5. Update database structure based on your database type:

MySQL

CREATE TABLE `log_users`
(
    `id`         int(11) NOT NULL AUTO_INCREMENT,
    `event`      varchar(2048) NOT NULL,
    `created_at` timestamp     NOT NULL DEFAULT current_timestamp(),
    `priority`   int(11) NOT NULL,
    PRIMARY KEY (`id`)
) ENGINE=InnoDB;

CREATE TABLE `log_zones`
(
    `id`         int(11) NOT NULL AUTO_INCREMENT,
    `event`      varchar(2048) NOT NULL,
    `created_at` timestamp     NOT NULL DEFAULT current_timestamp(),
    `priority`   int(11) NOT NULL,
    `zone_id`    int(11) DEFAULT NULL,
    PRIMARY KEY (`id`)
) ENGINE=InnoDB;

PostgreSQL

CREATE SEQUENCE log_users_id_seq INCREMENT 1 MINVALUE 1 MAXVALUE 2147483647 CACHE 1;

CREATE TABLE "log_users"
(
    "id"         integer   DEFAULT nextval('log_users_id_seq') NOT NULL,
    "event"      character varying(2048),
    "created_at" timestamp DEFAULT CURRENT_TIMESTAMP,
    "priority"   integer,
    CONSTRAINT "log_users_pkey" PRIMARY KEY ("id")
) WITH (oids = false);

CREATE SEQUENCE log_zones_id_seq INCREMENT 1 MINVALUE 1 MAXVALUE 2147483647 CACHE 1;

CREATE TABLE "log_zones"
(
    "id"         integer   DEFAULT nextval('log_zones_id_seq') NOT NULL,
    "event"      character varying(2048),
    "created_at" timestamp DEFAULT CURRENT_TIMESTAMP,
    "priority"   integer,
    "zone_id"    integer,
    CONSTRAINT "log_zones_pkey" PRIMARY KEY ("id")
) WITH (oids = false);

SQLite

CREATE TABLE log_users (id integer PRIMARY KEY, event VARCHAR(2048) NOT NULL, created_at timestamp DEFAULT current_timestamp, priority integer NOT NULL);

CREATE TABLE log_zones (id integer PRIMARY KEY, event VARCHAR(2048) NOT NULL, created_at timestamp DEFAULT current_timestamp, priority integer NOT NULL, zone_id integer);
  1. Add the following new configuration options to your inc/config.inc.php file:
'interface' => [
    // ... existing configuration ...
    'index_display' => 'cards',  // Options: 'cards', 'list' (added in 3.2.0)
    // ... existing configuration ...
],

'logging' => [
    // ... existing configuration ...
    'database_enabled' => false,  // Enable logging zone and record changes to the database (added in 3.2.0)
    // ... existing configuration ...
],

New Features

Database Logging System

  • Comprehensive activity logging for user actions and zone changes
  • New tables for storing user and zone logs with timestamps
  • Administrative interface for viewing, searching, and filtering logs
  • Zone logs include references to specific zones for targeted filtering
  • User logs track authentication and user management activities

User Interface Improvements

  • Two display modes for the main dashboard:
  • 'cards': Modern card-based layout (default)
  • 'list': Traditional list view
  • New log viewing interfaces for administrators
  • Enhanced navigation and user experience

Security Enhancements

  • Improved audit trail capabilities for security monitoring
  • Better tracking of user authentication attempts
  • Detailed logging of zone and record modifications
  • Only users with administrative privileges can access log views

Notes

  • Database logging is disabled by default. Enable it in the configuration if needed.
  • Older logs will not be available after upgrade - only new activity will be logged.
  • Regular database maintenance may be needed if logs accumulate in high-traffic environments.
  • Consider implementing a log rotation policy for long-term use.