Внезапно всплыла необходимость обновить крайне древний ресурс.
Работал под управлением ранней Joomla 3, c установленным компонентом DOCman 2.1.1, внутри которого было какое-то количество документов.
Версия CMS была старая, дырок достаточно. Нужно было все это как-то обновить. Пришлось покопаться )
Сначала обязательно надо повысить версию DOCman до 2.1.5, чтобы в дальнейшем обновить до версий 3.х и 4.х и совместимость с Joomla 3.10 и 4 обеспечить.
При обновлении до версии DOCman 2.1.5 может потребоваться обновление EXTman. Начиная с версий 3 этот компонент не нужен.
При обновлении до Joomla 4 настоятельно лучшим будет в настройках системы временно отключить DOCman и вообще все сторонние модули\плагины, чтобы процесс прошел безболезненно. И включать последовательно уже в обновленной версии. После каждого включения проверять работоспособность. Например, получилось так, что некоторые классы в DOCman 4 были некорректными применительно к Joomla 4, пришлось исправлять руками.
После обновления появилась ошибка:
Unknown column ‘m.publish_up’ in ‘where clause’.
По какой-то причине в таблице #__menu не было двух столбцов — publish_up и publish_down. Нужно добавить их руками.
Тип — DATETIME, значения NULL. Если SQL выше 5.6, у него строгая проверка даты и нулевые может не дать ставить. Тогда проще вот так (имена таблиц ставьте свои):
SET sql_mode='';
ALTER TABLE '#____menu' ADD 'publish_up' DATETIME(NULL) NULL DEFAULT NULL AFTER 'tablename';
Внимательно!
Шаблоны строго должны быть совместимы с Joomla 4.
Скачать версии DOCman, необходимые в процессе, и шаблон, с которым обновление прошло без ошибок.
- DOCman 2.1.3
- DOCman 2.1.5
- DOCman 2.1.6
- DOCman 3.5.11
- DOCman 3.5.14
- DOCman 4.0.5
- DOCman 4.0.12
- EXTman 2.2.6 — может пригодится при обновлении до версии 2.1.5
- Helix Ultimate Template — шаблон для Joomla 3 и Joomla 4
- Плагины для DOCman 4.x