Обновление

Имеется также Deutsch, English и Français


Обновите WackoWiki с 5.5.x до 6.0.x.



См. также руководство по миграции WackoWiki версии 5.0.x.
Unicode

1. Подготовка

  1. Проверьте информацию о релизе на предмет соответствия сервера системным требованиям.
  2. Выполните резервное копирование данных:.
    1. сохраните базу данных wiki (например, через phpMyAdmin или модуль резервного копирования) в Панели администратора),
    2. сохраните папку wiki.

ВАЖНО
Выполните резервное копирование данных! Прежде чем что-либо делать, создайте резервную копию существующей базы данных и файлов. Также убедитесь, что во время миграции никто не использует базу данных, так как это может привести к потере данных.
  1. Очень важно, чтобы вы сделали резервную копию своей базы данных WackoWiki перед обновлением.
  2. Процедура обновления переносит данные экземпляра установки со старой версии на новую. Миграция с новой версии на старую не поддерживается.


2. Процедуры перед обновлением до R6.x


Убедитесь, что вы запустили последнюю версию R5.5.17 ветки R5.5, обновление с более ранних версий не поддерживается. Перед обновлением до R6.0.x выполните следующие действия в WackoWiki R5.5.17.

2.1. Преобразование таблиц базы данных из MyISAM в InnoDB

Если у вса используются таблицы MyISAM, вам нужно преобразовать их в InnoDB следующим способом:

  • Admin Panel -> Database -> Convert

2.2. Преобразование базы данных в UTF-8

database UTF-8 conversion script

Первая часть процедур должна быть выполнена до перехода на R6.0.x.

3. Обновление файлов

  1. Скачайте wacko.6.0.x.zip
  2. Распакуйте архив
  3. Удалите на серере все папки и файлы, относящиеся к вашей текущей установке WackoWiki, за исключением
    • config/config.php
    • file/ (переименуйте существующую папку files в file)
    • замените старые файлы .htaccess из оставшихся папок новыми файлами из дистрибутива
  4. Скопируйте новые файлы wacko.6.0.x в папку вашей установки WackoWiki на сервере
  5. Проверьте разрешения

Если в старой версии WackoWiki вы создавали новые темы, действия (экшены), обработчики (хендлеры) или форматтеры, то вам придется восстановить их из созданной на начальном этапе резервной копии. Проверить их совместимость и исправить при необходимости.

4. Инсталляция


Откройте URL-адрес вашей WackoWiki в веб-браузере. Программа установки запустит и сообщит вам (ВАЖНО), что вы обновляетесь с 5.5.x до 6.0.x

  • пройдите все этапы
  • Конфигурация базы данных: Если программа установки запросит у вас кодовую страницу, выберите соответствующий набор символов.
    • utf8mb4 Unicode
  • Снимки экрана из процедуры обновления

5. После обновления

Переход на Юникод – это процесс. Он может потребовать ручной настройки в течение более длительного периода времени. Ниже мы поделимся нашим опытом, результатами и возможными решениями.

5.1. Конфигурация

Если вы установили пользовательские значения в constant.php, router.conf, csp_custom.conf или где-то еще, вы должны установить эти значения снова. Для этого можно сравнить новые файлы со старыми.

5.2. Ресинхронизация данных

После успешного обновления вы можете выполнить ресинхронизацию всех внутренних ссылок для обновления записей таблицы page_link и file_link.

  • Admin Panel -> Synchronizing data -> Wiki-links

tune the re-rendering settings to avoid timeouts or reaching the memory limit

Вы можете изменить настройки ресинхронизации, чтобы избежать таймаутов или исчерпания доступного объема памяти. Это особенно интересно для виртуального хостинга или серверов, которыми вы не управляете. Без этого сервер завершает работу скрипта без предварительного уведомления.


Если ресинхронизация не удается, просто уменьшите количество страниц, которые обрабатываются за один шаг. Лимит перенаправлений установлен на 10. Если вы достигнете лимита перенаправлений, скрипт выдаст вам ссылку Next », по которой вы должны кликнуть, чтобы обработать следующие партии страниц. Кроме того, избегайте возможных таймаутов сессии во время работы скрипта.

5.3. Замена старых транслитерированных ссылок и ссылок с надписями

UPDATE prefix_page SET body = REPLACE(body, '/Doc/Русский/Obnovlenie', '/Doc/Русский/Обновление');


Возможные случаи
  1.  ((!/el ÅëëçíéêÜ @@el)) -> ((!/el Ελληνικά))
  2.  ((/Doc/Русский/Obnovlenie ru)) -> ((/Doc/Русский/Обновление ru))
  3. file:/forum/discussion/ifmodifiedsinceheaderdoesnotworks/403_network_analysis.png
     -> 
    file:/Forum/Discussion/If-Modified-SinceHeaderDoesNotWorks/403_network_analysis.png

Возвращает назад body_r, поэтому парсер переотправляет страницы с измененным содержимым.
UPDATE prefix_page SET body_r = '';

6. Notes

  1. Оставьте комментарий здесь , если что-то неясно или у вас есть дополнительные вопросы.
  2. Не стесняйтесь улучшать эту инструкцию и формулировку.