Loading...
 

Automatic updates

This is the recipe for 1-click updates/upgrades starting in Tiki25.

  • Updates are in the same branch: 24.1 -> 24.2
  • Upgrades are different branches: 21.3 -> 22.0 or 21.3 -> 24.1

Context

1-click updates/upgrades is a highly-requested capability which is tricky to do right. Risks include:

  • broken updates/upgrades
  • time-outs
  • browser disconnection (user closes browser during an upgrade or Internet access is lost)
  • loss of local modications
  • lower security on file permissions
  • issues if self-update conflicts with external installer tool
  • The upgrade succeeded but the user wants to restore previous version (regression bug, change of behavior, etc.)

Requirements

  • Command line access
  • Cron jobs
  • Tiki Manager dependencies, or the capability to install them. See the Tiki Manager section of Tiki Check
    • rsync
    • git
    • etc.

High-level

Once set up, Tiki will update Tiki Manager, and Tiki Manager will update/upgrade Tiki. Steps:

  1. Install Tiki from Git, either
  2. Set up the cron job for Tiki Scheduler (which will be used so operations are background processes)
  3. Install the Tiki Manager Package
  4. Use Tiki Manager to update/upgrade Tiki on demand (web or command line) or update automatically (via a cron job)

Benefits

While tools have been available for years for updates/upgrades, they required using the command line. Starting in Tiki25, the command line will only be required for the initial setup.

Code directly from Git sources

  • Can get any revision, and not just released versions
  • Can efficiently maintain local modifications
    • Before updates/upgrades, there is a check to detect conflicts
  • Can use your own Git branch
  • Can use merge requests / branches
  • If a file is removed from the official source code, it will be removed. If you install over an older via a zip, you will have leftover files which can cause issues.

Pick your preferred lifecycle

  • Pick any version: Bleeding edge, stable, Long Term Versions (LTS), etc. See: Versions

Sensible file permissions

Since Tiki Manager is not ran by the web user (like Apache or www), it can set safer file permissions

Background process

Since Tiki Manager is not ran by the web user (like Apache or www), it is not prone to time-out errors

Testing on clones

  • Thanks to Tiki Manager, you can clone, clone-and-update or clone-and-upgrade to have a test environment. Within Virtualmin, this is even easier with the GUI to create a web space with a database, and clone from one to another, as seen here: https://wikisuite.org/Virtualmin-Tiki-Manager

A Tiki instance can be managed by more than one Tiki Manager

  • So for example, a hosting company could handle updates for security issues via a remote Tiki Manager, while the site manager uses the local Tiki Manager for other updates/upgrades like testing new features.

Tons of other features

Before Tiki25 via command line

Tiki Manager

Recent versions of Tiki Manager use Git, but previously, it was SVN

svnup.php

svnup.php which is bundled starting in Tiki17

An example of this script on a daily cron job
0 0 * * * cd /var/www/html/;  php doc/devtools/svnup.php



doc.tiki.org

Get Started

Admin Guide User Guide Bootstrap in Tiki

Keywords

Keywords serve as "hubs" for navigation within the Tiki documentation. They correspond to development keywords (bug reports and feature requests):

Accessibility (WAI and 508)
Accounting
Articles and Submissions
Backlinks
Banners
Batch
BigBlueButton audio/video/chat/screensharing
Blog
Bookmark
Browser Compatibility
Link Cache
Calendar
Category
Chat
Clean URLs
Comments
Communication Center
Compression (gzip)
Contacts (Address Book)
Contact us
Content Templates
Contribution
Cookie
Copyright
Credit
Custom Home and Group Home Page
Date and Time
Debugger Console
Directory of hyperlinks
Documentation link from Tiki to doc.tiki.org (Help System)
Docs
Draw
Dynamic Content
Dynamic Variable
External Authentication
FAQ
Featured links
File Gallery
Forum
Friendship Network (Community)
Gmap Google maps
Groups
Hotword
HTML Page
i18n (Multilingual, l10n, Babelfish)
Image Gallery
Import-Export
Install
Integrator
Interoperability
Inter-User Messages
InterTiki
Kaltura video management
Karma
Live Support
Login
Logs (system & action)
Look and Feel
Mail-in
Map with Mapserver
Menu
Meta Elements
Mobile Tiki and Voice Tiki
Mods
Module
MultiTiki
MyTiki
Newsletter
Notepad
Payment
Performance Speed / Load
Permissions
Platform independence (Linux-Apache, Windows/IIS, Mac, BSD)
Polls
Profiles
Profile Manager
Report
Toolbar
Quiz
Rating
Feeds
Score
Search engine optimization
Search
Search and Replace
Security
Semantic links
Shadowbox
Shadow Layers
Share
Shopping cart
Shoutbox
Slideshow
Smiley
Social Networks
Spam protection (Anti-bot CATPCHA)
Spellcheck
Spreadsheet
Stats
Surveys
Tags
Task
Tell a Friend, alert + Social Bookmarking
TikiTests
Theme CSS & Smarty
Tiki Manager
Trackers
Transitions
User Administration including registration and banning
User Files
User Menu
Watch
WebDAV
Webmail
Web Services
Wiki History, page rename, etc
Wiki Syntax
Wiki structure (book and table of content)
Workspace
WSOD
WYSIWYCA
WYSIWYG
XMLRPC

Tiki Newsletter

Delivered fresh to your email inbox!
Newsletter subscribe icon
Don't miss major announcements and other news!
Contribute to Tiki