Перейти до вмісту

XOOPS 2.7.0 Огляд сумісності для цього посібника

Цей документ містить перелік змін, необхідних у цьому сховищі, щоб Посібник зі встановлення відповідав XOOPS 2.7.0.

Основа огляду:

  • Поточний репозиторій посібника: L:\GitHub\XoopsDocs\xoops-installation-guide
  • Ядро XOOPS 2.7.0 перевірено за адресою: L:\GitHub\MAMBAX7\CORE\XoopsCore27
  • Первинні джерела 2.7.0 перевірені:
    • README.md
    • release_notes.txt
    • htdocs/install/language/english/welcome.php
    • htdocs/install/include/config.php
    • htdocs/install/include/page.php
    • htdocs/install/class/pathcontroller.php
    • htdocs/install/page_dbsettings.php
    • htdocs/install/page_configsave.php
    • htdocs/install/page_siteinit.php
    • htdocs/install/page_end.php
    • htdocs/mainfile.dist.php
    • upgrade/preflight.php
    • upgrade/README.md
    • upgrade/upd_2.5.11-to-2.7.0/index.php

Це репо наразі містить:

  • Файли англійської розмітки кореневого рівня, які використовуються як основний посібник.
  • Часткова копія en/.
  • Повні дерева книг de/ і fr/ з власними активами.

Файли кореневого рівня потребують першого проходу. Після цього еквівалентні зміни потрібно віддзеркалити в de/book/ і fr/book/. Дерево en/ також потребує очищення, оскільки здається, що воно підтримується лише частково.

1. Зміни глобального сховища

Section titled “1. Зміни глобального сховища”

Оновіть усі посилання на довідковий рівень із XOOPS 2.5.x до XOOPS 2.7.0.

Постраждалі файли:

  • README.md
  • SUMMARY.md — первинний живий ТОС для кореневого керівництва; навігаційні мітки та заголовки розділів мають відповідати новим назвам розділів і перейменованому розділу Historical Upgrade Notes
  • en/README.md
  • en/SUMMARY.md
  • de/README.md
  • de/SUMMARY.md
  • fr/README.md
  • fr/SUMMARY.md
  • chapter-2-introduction.md
  • about-xoops-cms.md
  • appendix-1-working-with-the-new-admin-gui-our-dashboard.md
  • appendix-5-increase-security-of-your-xoops-installation.md
  • локалізовані de/book/*.md і fr/book/*.md

Необхідні зміни:

  • Змінити for XOOPS 2.5.7.x на for XOOPS 2.7.0. — Оновлено рік авторського права з 2018 на 2026. — Замінено старі посилання на XOOPS 2.5.x і 2.6.0, де вони описують поточний випуск. — Замініть інструкції із завантаження часів SourceForge на GitHub Випуски:
    • https://github.com/XOOPS/XoopsCore27/releases

about-xoops-cms.md і локалізовані файли 10aboutxoops.md все ще вказують на старі місця 2.5.x і 2.6.0 GitHub. Ці посилання потрібно оновити до поточних розташувань проекту 2.7.x.

1.3 Оновлення знімка екрана

Section titled “1.3 Оновлення знімка екрана”

Усі знімки екрана, на яких показано програму встановлення, інтерфейс оновлення, інформаційну панель адміністратора, засіб вибору теми, засіб вибору модуля та екрани після встановлення застаріли.

Постраждалі дерева активів:

  • .gitbook/assets/
  • en/assets/
  • de/assets/
  • fr/assets/

Це повне оновлення, а не часткове. Програма встановлення 2.7.0 використовує інший макет на основі Bootstrap і іншу візуальну структуру.

Файл:

  • chapter-2-introduction.md

2.1 Необхідно переписати системні вимоги

Section titled “2.1 Необхідно переписати системні вимоги”

У поточному розділі йдеться лише про Apache, MySQL та PHP. XOOPS 2.7.0 має явні мінімуми:

Компонент2.7.0 мінімум2.7.0 рекомендація
PHP8.2.08,4+
MySQL5.7.88,4+
Веб-серверБудь-який сервер, що підтримує необхідний PHPРекомендовано Apache або Nginx

Примітки для додавання:

  • IIS все ще вказано у програмі встановлення як можливий, але Apache і Nginx є рекомендованими прикладами. — У примітках до випуску також зазначено сумісність MySQL 9.0.

2.2 Додайте обов’язковий і рекомендований контрольний список розширень PHP

Section titled “2.2 Додайте обов’язковий і рекомендований контрольний список розширень PHP”

Програма встановлення 2.7.0 тепер відокремлює жорсткі вимоги від рекомендованих розширень.

Необхідні перевірки, показані установником:

  • MySQLi
  • Сесія
  • PCRE
  • фільтр
  • file_uploads
  • інформація про файл

Рекомендовані розширення:

  • рядок mb
  • міжн
  • iconv
  • xml
  • zlib
  • gd
  • exif
  • завиток

2.3 Видалення інструкцій контрольної суми

Section titled “2.3 Видалення інструкцій контрольної суми”

Поточний крок 5 описує checksum.php і checksum.mdi. Ці файли не є частиною XOOPS 2.7.0.

Дія:

— Повністю видаліть розділ перевірки контрольної суми.

2.4 Оновлення пакета та інструкції щодо завантаження

Section titled “2.4 Оновлення пакета та інструкції щодо завантаження”

Збережіть опис макета пакета docs/, extras/, htdocs/, upgrade/, але оновіть текст завантаження та підготовки, щоб відобразити поточні очікування щодо шляху запису:- mainfile.php

  • uploads/
  • uploads/avatars/
  • uploads/files/
  • uploads/images/
  • uploads/ranks/
  • uploads/smilies/
  • xoops_data/caches/
  • xoops_data/caches/xoops_cache/
  • xoops_data/caches/smarty_cache/
  • xoops_data/caches/smarty_compile/
  • xoops_data/configs/
  • xoops_data/configs/captcha/
  • xoops_data/configs/textsanitizer/
  • xoops_data/data/
  • xoops_data/protector/

Посібник наразі недооцінює це.

2.5 Замінити мову SourceForge translation/download

Section titled “2.5 Замінити мову SourceForge translation/download”

Поточний текст все ще говорить про відвідування XOOPS на SourceForge для інших мовних пакетів. Його потрібно замінити поточними інструкціями щодо завантаження project/community.

3. Розділ 3: Перевірка конфігурації сервера

Section titled “3. Розділ 3: Перевірка конфігурації сервера”

Файл:

  • chapter-3-server-configuration-check.md

Необхідні зміни:

  • Перепишіть опис сторінки навколо поточного двоблокового макета:
    • Вимоги
    • Рекомендовані розширення
  • Замінити старий скріншот.
  • Чітко задокументуйте перелічені вище перевірки вимог.

4. Розділ 4: Обирайте правильний шлях

Section titled “4. Розділ 4: Обирайте правильний шлях”

Файл:

  • chapter-4-take-the-right-path.md

Необхідні зміни:

  • Додайте нове поле Cookie Domain. — Оновити назви та описи полів шляху відповідно до 2.7.0:
    • XOOPS Кореневий шлях
    • XOOPS Шлях даних
    • XOOPS Шлях бібліотеки
    • XOOPS URL
    • Домен файлів cookie — Додайте примітку, що для зміни шляху бібліотеки тепер потрібен дійсний автозавантажувач Composer на vendor/autoload.php.

Це справжня перевірка сумісності у версії 2.7.0, і її слід чітко задокументувати. У поточному посібнику Composer взагалі не згадується.

5. Розділ 5: Підключення до бази даних

Section titled “5. Розділ 5: Підключення до бази даних”

Файл:

  • chapter-5-database-connections.md

Необхідні зміни:

  • Залиште заяву, що підтримується лише MySQL.
  • Оновіть розділ конфігурації бази даних, щоб відобразити:
    • набір символів за замовчуванням тепер utf8mb4
    • вибір сортування динамічно оновлюється при зміні кодування — Замініть знімки екрана для сторінок підключення до бази даних і конфігурації.

Поточний текст про те, що кодування та сортування не потребують уваги, є занадто слабким для 2.7.0. Слід принаймні згадати нове значення за замовчуванням utf8mb4 і селектор динамічного сортування.

6. Розділ 6: Остаточна конфігурація системи

Section titled “6. Розділ 6: Остаточна конфігурація системи”

Файл:

  • chapter-6-final-system-configuration.md

6.1 Згенеровані конфігураційні файли змінено

Section titled “6.1 Згенеровані конфігураційні файли змінено”

Наразі в посібнику зазначено, що інсталятор пише mainfile.php і secure.php.

У 2.7.0 він також встановлює конфігураційні файли в xoops_data/configs/, зокрема:

  • xoopsconfig.php
  • конфігураційні файли captcha
  • конфігураційні файли textsanitizer

6.2 Існуючі конфігураційні файли в xoops_data/configs/ не перезаписуються

Section titled “6.2 Існуючі конфігураційні файли в xoops_data/configs/ не перезаписуються”

Поведінка без перезапису є областю, а не глобальною. Два різних шляхи коду в файли конфігурації page_configsave.php записують:

  • writeConfigurationFile() (викликається в рядках 59 і 66) завжди відновлює xoops_data/data/secure.php і mainfile.php з введених даних майстра. Немає перевірки існування; наявна копія замінена.
  • copyConfigDistFiles() (викликаний у рядку 62, визначений у рядку 317) лише копіює файли xoops_data/configs/ (xoopsconfig.php, конфігурації captcha, конфігурації textsanitizer) якщо місце призначення ще не існує.

Переписаний розділ має чітко відображати обидві поведінки:

  • Для mainfile.php і secure.php: попереджайте, що будь-які ручні редагування цих файлів буде перезаписано під час повторного запуску інсталятора.
  • Для файлів xoops_data/configs/: поясніть, що локальні налаштування зберігаються під час повторних запусків і оновлень, і що для відновлення надісланих параметрів за замовчуванням потрібно видалити файл і повторно запустити (або скопіювати відповідний .dist.php вручну).

Не узагальнюйте «існуючі файли зберігаються» для всіх файлів конфігурації, написаних інсталятором — це неправильно та введе в оману адміністраторів, які редагують mainfile.php або secure.php.

6.3 Змінено обробку HTTPS і зворотного проксі

Section titled “6.3 Змінено обробку HTTPS і зворотного проксі”

Згенерований mainfile.php тепер підтримує ширше виявлення протоколу, включаючи заголовки зворотного проксі. У посібнику слід згадати про це замість прямого виявлення http або https.

6.4 Підрахунок таблиці неправильний

Section titled “6.4 Підрахунок таблиці неправильний”

У поточному розділі сказано, що новий сайт створює таблиці 32.

XOOPS 2.7.0 створює таблиці 33. Відсутня таблиця:

  • tokens

Дія:- Оновіть кількість з 32 до 33.

  • Додайте tokens до списку таблиць.

7. Розділ 7: Параметри адміністрування

Section titled “7. Розділ 7: Параметри адміністрування”

Файл:

  • chapter-7-administration-settings.md

7.1 Опис інтерфейсу користувача пароля застарів

Section titled “7.1 Опис інтерфейсу користувача пароля застарів”

Програма встановлення все ще включає генерацію пароля, але тепер також містить:

  • вимірювач надійності пароля на основі zxcvbn
  • етикетки візуальної міцності
  • 16-символьний генератор і процес копіювання

Оновіть текст і знімки екрана, щоб описати поточну панель паролів.

7.2 Перевірка електронної пошти тепер примусова

Section titled “7.2 Перевірка електронної пошти тепер примусова”

Електронна адреса адміністратора підтверджується FILTER_VALIDATE_EMAIL. У розділі слід згадати, що недійсні значення електронної пошти відхиляються.

7.3 Розділ ліцензійного ключа неправильний

Section titled “7.3 Розділ ліцензійного ключа неправильний”

Це одне з найважливіших фактологічних виправлень.

Поточний посібник говорить:

  • є License System Key
  • зберігається в /include/license.php
  • /include/license.php має бути доступним для запису під час встановлення

Це вже не точно.

Що насправді робить 2.7.0:

  • інсталяція записує ліцензійні дані в xoops_data/data/license.php
  • htdocs/include/license.php тепер просто застаріла оболонка, яка завантажує файл із XOOPS_VAR_PATH
  • старе формулювання про надання /include/license.php можливості для запису має бути видалено

Дія:

  • Перепишіть цей розділ, а не видаляйте його. — Оновити шлях від /include/license.php до xoops_data/data/license.php.

Поточний посібник все ще посилається на Zetagenesis і старший набір тем 2,5 епохи.

Теми, присутні в XOOPS 2.7.0:

  • default
  • xbootstrap
  • xbootstrap5
  • xswatch4
  • xswatch5
  • xtailwind
  • xtailwind2

Також зауважте:

  • xswatch4 — поточна тема за замовчуванням, вставлена даними інсталятора.
  • Zetagenesis більше не є частиною пакетного списку тем.

7.5 Список модулів застарів

Section titled “7.5 Список модулів застарів”

Модулі в пакеті 2.7.0:

  • system — автоматично встановлюється під час заповнення таблиці/вставки даних. Завжди присутній, ніколи не видно в панелі вибору.
  • debugbar — можна вибрати на етапі встановлення.
  • pm — можна вибрати на етапі встановлення.
  • profile — можна вибрати на етапі встановлення.
  • protector — можна вибрати на етапі встановлення.

Важливо: сторінка інсталятора модуля (htdocs/install/page_moduleinstaller.php) створює свій список кандидатів, повторюючи XoopsLists::getModulesList() і відфільтровуючи все, що вже є в таблиці модулів (рядки 95-102 містять $listed_mods; рядок 116 пропускає будь-який каталог у цьому списку). Оскільки system інсталюється перед виконанням цього кроку, він ніколи не відображається як прапорець.

Необхідні зміни в керівництві:

  • Перестаньте говорити, що є лише три модулі в комплекті.
  • Опишіть етап інсталяції як показ чотирьох доступних для вибору модулів (debugbar, pm, profile, protector), а не п’яти.
  • Задокументуйте system окремо як завжди встановлений основний модуль, який не відображається в інструменті вибору. — Додано debugbar до опису пакетного модуля як нового в 2.7.0.
  • Зауважте, що попередній вибір модулів інсталятора за замовчуванням тепер порожній; модулі доступні для вибору, але попередньо не перевірені конфігурацією інсталятора.

8. Розділ 8: Готово до роботи

Section titled “8. Розділ 8: Готово до роботи”

Файл:

  • chapter-8-ready-to-go.md

8.1 Процес очищення встановлення потребує переписування

Section titled “8.1 Процес очищення встановлення потребує переписування”

У поточному посібнику сказано, що програма встановлення змінює назву папки встановлення на унікальне ім’я.

Це все ще актуально, але механізм змінився:

  • зовнішній сценарій очищення створюється в корені веб-сайту
  • остання сторінка запускає очищення через AJAX
  • папку встановлення перейменовано на install_remove_<unique suffix>
  • резервний варіант до cleanup.php все ще існує

Дія:

  • Оновіть пояснення.
  • Дотримуйтеся простих інструкцій для користувача: видаліть перейменований каталог встановлення після встановлення.

8.2 Посилання на додаток до інформаційної панелі адміністратора застаріли

Section titled “8.2 Посилання на додаток до інформаційної панелі адміністратора застаріли”

Розділ 8 все ще вказує читачам на старий досвід адміністрування часів Oxygen. Це потрібно узгодити з поточними темами адміністратора:

  • default
  • dark
  • modern
  • transition

8.3 Вказівки щодо редагування шляху після встановлення потребують виправлення

Section titled “8.3 Вказівки щодо редагування шляху після встановлення потребують виправлення”

Поточний текст повідомляє читачам оновити secure.php визначеннями шляхів. У версії 2.7.0 ці константи шляху визначено в mainfile.php, тоді як secure.php містить безпечні дані. Приклад блоку в цьому розділі слід виправити відповідно.

8.4 Необхідно додати параметри виробництваУ посібнику слід чітко вказати робочі параметри за замовчуванням, які зараз присутні в mainfile.dist.php:

Section titled “8.4 Необхідно додати параметри виробництваУ посібнику слід чітко вказати робочі параметри за замовчуванням, які зараз присутні в mainfile.dist.php:”
  • XOOPS_DB_LEGACY_LOG має залишитися false
  • XOOPS_DEBUG має залишитися false

9. Розділ 9: Оновлення наявної інсталяції XOOPS

Section titled “9. Розділ 9: Оновлення наявної інсталяції XOOPS”

Файл:

  • chapter-9-upgrade-existing-xoops-installation.md

Цей розділ потребує найбільшого переписування.

9.1 Додайте обов’язковий Smarty 4 передпочатковий етап

Section titled “9.1 Додайте обов’язковий Smarty 4 передпочатковий етап”

Потік оновлення XOOPS 2.7.0 тепер примусово запускає процес попередньої перевірки перед завершенням оновлення.

Новий необхідний потік:

  1. Скопіюйте каталог upgrade/ у корінь сайту.
  2. Запустіть /upgrade/preflight.php.
  3. Відскануйте /themes/ і /modules/ на предмет старого синтаксису Smarty.
  4. Використовуйте необов’язковий режим відновлення, де це необхідно.
  5. Проведіть повторний запуск, поки не стане чистим.
  6. Продовжуйте рух до /upgrade/.

У поточному розділі про це взагалі не згадується, що робить його несумісним із керівництвом 2.7.0.

9.2 Замінити розповідь про злиття вручну версії 2.5.2

Section titled “9.2 Замінити розповідь про злиття вручну версії 2.5.2”

У поточному розділі все ще описується ручне оновлення у стилі 2.5.2 із злиттям фреймворків, примітками AltSys та реструктуризацією файлів, керованою вручну. Його слід замінити фактичною послідовністю оновлення 2.7.x із release_notes.txt і upgrade/README.md.

Рекомендований план розділу:

  1. Резервне копіювання файлів і бази даних.
  2. Вимкніть сайт.
  3. Скопіюйте htdocs/ поверх живого кореня.
  4. Скопіюйте htdocs/xoops_lib у шлях активної бібліотеки.
  5. Скопіюйте htdocs/xoops_data в активний шлях даних.
  6. Скопіюйте upgrade/ у кореневу папку.
  7. Запустіть preflight.php.
  8. Запустіть /upgrade/.
  9. Повні підказки програми оновлення.
  10. Оновіть модуль system.
  11. Оновіть pm, profile і protector, якщо встановлено.
  12. Видалити upgrade/.
  13. Увімкніть сайт знову.

9.3 Задокументуйте реальні зміни оновлення 2.7.0

Section titled “9.3 Задокументуйте реальні зміни оновлення 2.7.0”

Оновлення для 2.7.0 включає принаймні такі конкретні зміни:

  • створити таблицю tokens
  • розширити bannerclient.passwd для сучасних хешів паролів
  • додати налаштування параметрів cookie сесії
  • видалити застарілі пакетні каталоги

У посібнику не потрібно розкривати кожну деталь реалізації, але він повинен припинити натякати, що оновлення є лише копією файлу та оновленням модуля.

10. Сторінки історичного оновлення

Section titled “10. Сторінки історичного оновлення”

Файли:

  • upgrading-from-xoops-2.4.5-easy-way.md
  • upgrading-from-xoops-2.0.-above-2.0.14-and-2.2..md
  • upgrading-from-any-xoops-2.0.7-to-2.0.13.2.md
  • upgrading-a-non-utf-8-site.md
  • upgrading-xoopseditor-package.md

Статус: структурне рішення вже вирішено — кореневий SUMMARY.md переміщує їх у спеціальний розділ Історичні примітки щодо оновлення, і кожен файл містить виноску «Історична довідка», яка вказує читачам на Розділ 9 для оновлень 2.7.0. Вони більше не є першокласним керівництвом з оновлення.

Залишилася робота (тільки послідовність):

  • Переконайтеся, що README.md (корінь) перелічує їх під тим самим заголовком «Історичні примітки до оновлення», а не під загальним заголовком «Оновлення».
  • Віддзеркалення того самого поділу в de/README.md, de/SUMMARY.md, fr/README.md, fr/SUMMARY.md і en/SUMMARY.md.
  • Переконайтеся, що кожна сторінка історичного оновлення (корінь і локалізовані копії de/book/upg*.md / fr/book/upg*.md) містить виноску зі застарілим вмістом, яка посилається на розділ 9.

11. Додаток 1: GUI адміністратора

Section titled “11. Додаток 1: GUI адміністратора”

Файл:

  • appendix-1-working-with-the-new-admin-gui-our-dashboard.md

Цей додаток прив’язаний до GUI адміністратора Oxygen і потребує перепису.

Необхідні зміни:

  • замінити всі посилання на Oxygen
  • замінити старі скріншоти icon/menu
  • документувати поточні теми адміністратора:
    • за замовчуванням
    • темний
    • сучасний
    • перехідний
  • згадайте поточні можливості адміністрування версії 2.7.0, описані в примітках до випуску:
    • можливість перевантаження шаблонів у темах системного адміністратора
    • оновлений набір тем адмінки

12. Додаток 2: Завантаження XOOPS через FTP

Section titled “12. Додаток 2: Завантаження XOOPS через FTP”

Файл:

  • appendix-2-uploading-xoops-via-ftp.md

Необхідні зміни:

  • видалити специфічні для HostGator і cPanel припущення
  • модернізувати формулювання для завантаження файлів
  • зауважте, що xoops_lib тепер включає залежності Composer, тому завантажені файли більші і не повинні бути вибірково обрізані

Файл:

  • appendix-5-increase-security-of-your-xoops-installation.md

Необхідні зміни:- повністю видалити обговорення register_globals

  • видалити застарілу мову хост-квитка
  • виправте текст дозволів з 404 на 0444, де передбачено лише читання
  • оновити обговорення mainfile.php і secure.php відповідно до макета 2.7.0
  • додати новий постійний контекст безпеки домену cookie:
    • XOOPS_COOKIE_DOMAIN_USE_PSL
    • XOOPS_COOKIE_DOMAIN
  • додати керівництво з виробництва для:
    • XOOPS_DB_LEGACY_LOG
    • XOOPS_DEBUG

14. Вплив міжмовного обслуговування

Section titled “14. Вплив міжмовного обслуговування”

Після виправлення файлів кореневого рівня англійською мовою необхідні еквівалентні оновлення в:

  • de/book/
  • fr/book/
  • de/README.md
  • fr/README.md
  • de/SUMMARY.md
  • fr/SUMMARY.md

Дерево en/ також потребує перегляду, оскільки воно містить окремий README та набір активів, але, здається, містить лише часткове дерево book/.

15. Пріоритетний порядок

Section titled “15. Пріоритетний порядок”

Критично перед випуском

Section titled “Критично перед випуском”
  1. Оновіть посилання на repo/version до 2.7.0.
  2. Перепишіть розділ 9 навколо справжнього потоку оновлення 2.7.0 і Smarty 4 перед друком.
  3. Оновіть системні вимоги до PHP 8.2+ і MySQL 5.7.8+.
  4. Виправте шлях до файлу ліцензійного ключа у розділі 7.
  5. Правильний опис тем і модулів.
  6. Виправте кількість таблиць у розділі 6 з 32 на 33.
  1. Перепишіть вказівки щодо шляху запису.
  2. Додайте вимогу автозавантажувача Composer до налаштування шляху.
  3. Оновіть інструкції з кодування бази даних до utf8mb4.
  4. Виправте вказівки щодо редагування шляхів у розділі 8, щоб константи були задокументовані у правильному файлі.
  5. Видаліть інструкції контрольної суми.
  6. Видаліть register_globals та інші мертві вказівки PHP.

Очищення якості випуску

Section titled “Очищення якості випуску”
  1. Замініть усі скріншоти інсталятора та адміністратора.
  2. Перемістіть історичні сторінки оновлення з основного потоку.
  3. Синхронізувати німецьку та французьку копії після виправлення англійської.
  4. Очистіть застарілі посилання та дубльовані рядки README.