R6.0 Release Notes

R6.0

(12.11.2019) Revision:4885 -> Rc1 (Change Log)


As work on WackoWiki 6.0 is still underway, this is an incomplete list of changes.



This is a major release.
The 6.0 release serves mainly two purposes: Migration to Unicode and PHP 7.4/8.0 compatibility.


Unicode

1. Notable in this release

  1. added support for UTF-8
    • यूनिकोड, Юникод, ইউনিক’ড
  2. complete PHP 7.4 compatibility

milestones

  • beta1 – 13.10.2019
  • rc1 – 12.11.2019

2. Download


Please note, this is BETA software.


wacko.r6.0.rc1.zip

  • SHA1: e4b5860d464c6f3262fe05286f977ec71ec7b83a
  • File updated to change set 4885 – 715ebb8

Repo files (including community folder)


Clone repo (see Repository)

hg clone https://bitbucket.org/wackowiki/wackowiki-stable -r 6.0.rc1

3. Upgrade path

R4.x –> R5.0 (requires PHP 5.2 / 5.3)
R5.x –> R5.5 (requires PHP >= 7.0)
R5.5 –> R6.0 (requires PHP >= 7.2)


Please read the upgrade notices carefully.

4. Installation

Installation guide

4.1. Requirements

requires now

  • PHP >= 7.2 (PHP 7.3 recommended)
  • PHP Extensions
    • bcmath, ctype, gd, iconv, intl, json, mbstring, openssl, pcre, spl 
  • Apache >= 2.4
    • mod_rewrite (recommended)
  • SQL database system, one of:
    • MariaDB >= 10 (10.2.2 recommended)
    • MySQL >= 5.6 (5.7.7 recommended)

Step by step as Installer Screenshots.


Preparing the Database for Installation

CREATE DATABASE db_name CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_520_ci;


4.2. File Permissions

Change the permissions on the following directories to be writable
touch config/config.php
chmod 666 config/config.php


Example:
chmod 0755 _cache/config/ _cache/feed/ _cache/page/ _cache/query/ _cache/session/ _cache/template/ file/backup/ file/global/ file/perpage/ file/thumb/ xml/


chmod 0660 config/lock config/lock_ap sitemap.xml


reset after installation / upgrade
chmod 644 config/config.php

4.3. Path for session values

Check if the provided path for CACHE_SESSION_DIR is correct. The default value is /tmp but may vary in your environment.
Furthermore you may want to change this to a custom folder for the application (e.g. _cache/session) .


constants.php:

 define('CACHE_SESSION_DIR',		'/tmp');

4.4. RewriteBase

If your webserver's URLs are not directly related to physical file paths, you will need to use RewriteBase in every .htaccess file where you want to use RewriteRule directives.

RewriteBase /folder/

4.5. New config settings


Please check the Change Log for more details.

5. Admin panel

  • to login define the recovery_password in the config.php file first
    1. call the {{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.
  • you must be logged in as member of the Admin group in the first place to access the admin panel
  • call yourwiki/admin.php
  • enter your recovery_password

If your Admin panel gets locked reset config/lock_ap from 1 to 0

6. Themes

If you want to keep your layout, you have to use a program like Meld or WinMerge to merge your CSS and other theme files with the new files in the folder wacko/theme/default.


A Guide for the new template engine will hopefully follow soon. Nevertheless you can write or adapt your theme without using the template engine.


-> Themes

7. Extensions

8. Backwards Compatibility

We dropped compatibility code for older PHP and MySQL versions. R6.0 requires at least PHP 7.2 and MySQL 5.7. To use WackoWiki with older PHP or MySQL versions, use the older (but still maintained) branch of 5.5.x releases, which you can find on the download page.

9. Known Issues

All known issues are tracked in our Bug Tracker.

  1. Session duration issue
  2. Missing route cases (needs fix)
    1. CSS files in RECOVERY mode

10. Developers

Ensure that the function or filter you use supports Unicode when you need to process Unicode strings. Missing Unicode support will be added as needed, please provided us with feedback.

10.1. Debug functions

  1. to write a parameter in the debug log 
    • Ut::dbg('debug_variable', $parameter);
  2. add debug output to DEBUG file and popup-window in browser
    • Diag::dbg($parameter);
    • to highlight the debug output in the console add '[BLUE|GOLD|ORANGE|RED]' as the first argument
      • e.g. Diag::dbg('GOLD', $parameter);

In both cases it writes the $parameter to the log in the main directory wacko/DEBUG when the config debug is enabled.
Be aware the log isn't emptied automatically. Ensure that the file wacko/DEBUG can be created and is writable.

touch DEBUG
chmod 0664 DEBUG

11. Documentation

12. What's Planned

WackoWiki is pretty usable now. There are of course few peculiarities and bugs, some old ones and some new ones which are waiting to be fixed. Now the main task is to make the Wiki engine better, reduce bugs and make it more stable.


Apart from that following features are planned to be implemented:

  1. extended ACLs
  2. WackoFormatter rewrite
  3. responsive device-agnostic theme
  4. improve GUI usability
  5. filters for lists
  6. faceted search
  7. Libsodium, Argon2 Password Hash
  8. archive table
  9. guest settings

13. Contribute

Those interested in following and contributing to the development of WackoWiki can check out the hg repository, and participate in the discussions on the WackoWiki Development and contribute patches. Policies and the current state of the project and plans are available in the Dev section of the wiki.


14. Feedback

Leave a comment here

if something is not clear or you have further questions.

15. Credits


  • RideSnowNow — developer, translation
  • 王彥傑 (Yan-Jie Wang) – initial Unicode fork
  • Raysir — testing, translation
  • Elar9000 — developer, translation, support
  • EoNy — translation, documentation, screenshots, support
  • KlePy — Spanish translation
  • Abram4 — Russian translation, testing