DOCman для Joomla

Внезапно всплыла необходимость обновить крайне древний ресурс.

Работал под управлением ранней 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, необходимые в процессе, и шаблон, с которым обновление прошло без ошибок.

  1. DOCman 2.1.3
  2. DOCman 2.1.5
  3. DOCman 2.1.6
  4. DOCman 3.5.11
  5. DOCman 3.5.14
  6. DOCman 4.0.5
  7. DOCman 4.0.12
  8. EXTman 2.2.6 — может пригодится при обновлении до версии 2.1.5
  9. Helix Ultimate Template — шаблон для Joomla 3 и Joomla 4
  10. Плагины для DOCman 4.x