Основной курс по Joomla
0 Пользователей и 1 Гость просматривают эту тему.
  • 2 Ответов
  • 495 Просмотров
*

CrazyPr0ger

  • Осваиваюсь на форуме
  • ***
  • 50
  • 2
Заморочился обновлением Joomla 1.5 до Joomla 2.5, чтобы потом перейти на 3.Х
Удалил все лишнее с J1.5 , поудалял все левые плагины, модули и т.п. В итоге получилось обновиться с помощью JUPGRADE без ошибок. Но JUPGRADE не переносит вложения.
Нашел такую инструкцию по миграции вложений: http://jmcameron.net/attachments/migration/migrate-1.5-to-2.5.html
Сделал все  по инструкции.. Ниже опишу...

Проблема старая:
"Кодировка имен файлов вложений (UTF-8 как я понимаю) "
имена имеют такой вид: 񢑹񢑲񮱢񮕇ݰ�񢱠񢑲񢱥񟫫񟮁񢱠񢑦񟮁 񟭦񢋦񢑰⑦񢱠񢑦񮱢񮕇ݰ񟭦񮕇ⱡѦ񢑦 񢑸 񟮀񟭦񢑶񮱩񟮁񢑹񟫫񟮁񢱠񢑦񢑦 񮕇ݰ�񮱩񮱩񢑦񮕇ݰ⑲񮱩񢑦񢑦 񟮀񟭦 񢑜񢑆񢑸񢱪 񢑸񢑸񢱼 𧕇ؔȴ4.pdf

И теперь в Joomla 2.5 компонент Attachments не видит эти файлы. При этом если добавить новое вложение к существующему материалу с вложением, то имя нового файла отображается корректно, например в тотал коммандере:

о внутреннем распорядке учащихся.docx   - это новый залитый файл
ݰ⑲񮱩񢑦񢑦 񟮀񟭦 񢑜񢑆񢑸񢱪 񢑸񢑸񢱼 𧕇ؔȴ4.pdf                 - это старый от Attachments v2.2

ВОПРОС: Как теперь перекодировать старые файлы в видимо другую кодировку, чтобы Attachmets увидел их?

Это читал: http://joomlaforum.ru/index.php/topic,77184.0.html Но тут проблема в уже существующих именах файлов.
*

CrazyPr0ger

  • Осваиваюсь на форуме
  • ***
  • 50
  • 2
Вот кстати пошагово инструкция по переносу вложений с Joomla 1.5 на Joomla 2.5 (перевел, как смог):
Необходимые условия для успешной миграции:
  • Joomla 1.5 Компонент Attachmets должен быть обновлен до версии 2.2
  • Joomla  2.5+ должен быть 2.5.7 или более поздней версии
  • Касаемо Joomla  2.5+. Если вы используете Инструменты какие либо для переноса вашего сайта из Joomla 1.5 на Joomla 2.5+, они могут попытаться перенести вложения к материалам, но Attachments не будет работать должным образом. Перед установкой Attachments, вам нужно будет удалить любую старую версию и удалить все файлы, относящиеся к вложениям .
  • В статье идентификаторы и названия должны быть идентичны в системе Joomla 1.5 и системы Joomla 2.5+. Если нет, то править вручную
  • Идентификатор пользователя и имена пользователей, которые создали вложения в системе Joomla 1.5 должны быть такими же, как на системе Joomla 2.5+.Если нет, то править вручную
  • Файлы вложений должны существовать для всех вложений, иначе будут ошибки


1. Экспорт  вложений из вашего сайта Joomla 1.5

Версию Attachments  обновить до версии 2.2 или более поздней версии.
По ссылке скачать код php : http://jmcameron.net/attachments/migration/_downloads/special.php.txt
Создать файл в "special.php" на локальном компьютере (без BOM естественно) и загрузить его на сайт Joomla 1.5, чтобы заменить файл:
   administrator/components/com_attachments/controllers/special.php
Этот файл  добавляет функцию экспорта вложений в файл CSV .
Зайти в админку и выполнить такой код URL:
HTTP: // <YourSite> /administrator/index.php?option=com_attachments&controller=special&task=export_attachments_to_csv_file
Это попросит вас сохранить файл CSV миграции с именем 'migrate_attachments.csv' на локальном компьютере.
Скопируйте все вложения файлов на вашем сайте Joomla 1.5, создав архив ZIP из этого каталога: 
HTTP: // <YourSite> /attachments


2.Импорт старых Вложений на Joomla 2.5+
Удалите все  новые вложения с сайта Joomla 2.5+

Перейти на страницу Вложения в админке,
Нажмите на кнопку "Настройки" на панели инструментов,
Выберите вкладку "Basic" и
Установите значение "По умолчанию уровень доступа" до нужного уровня доступа.

Скопируйте архив  вложений, файлов на ваш сайт Joomla 2.5+.
Загрузите или скопируйте файл миграции ( 'migrate_attachments.csv') например в папку tmp сайта.

Заходим в админку и в URL пишем такой код:
HTTP: // <YourSite> /administrator/index.php?option=com_attachments&task=utils.installAttachmentsFromCsvFile&filename=/path/to/migrate_attachments.csv&dry_run=1

ГДЕ  ‘/path/to/migrate_attachments.csv' - полный путь. Т.е к примеру для ISP панели:
/var/www/........./data/www/<YourSite>/tmp/migrate_attachments.csv&dry_run=1
Т.е если файл миграции закачали в папку tmp то будет такой полный путь. Смотрите полный путь к папке tmp в файле configuration.php вашей Joomla
Обратите внимание, что путь не может является URL (начиная с https: или FTP:)!

Если есть проблемы с  идентификаторами, заголовками или идентификаторами пользователей статьи или именами пользователей, команда будет прервана и выйдет сообщение о характере проблемы. После этого вы можете отредактировать файл миграции вручную, и снова загрузить на сайт и попытаться снова.

Предупреждение: При редактировании файла миграции CSV, проверьте, что вы используете редактор, который не вставляет Byte Order Marker (BOM).
Предупреждение:НЕ ИСПОЛЬЗОВАТЬ программу работы с электронными таблицами, как "Excel" , так как есть хороший шанс, что это добавит дополнительные символы и привести к ошибкам

(Я тупо удалил из CSV файла  Notepad-ом все сточки на которые выходила ошибка (из 120 вложений -7 были косячными))


3. Если все ОК!

Если вы правильно отредактировали SCV файл. И он обработался корректно вы увидите такое сообщение:
"Data for attachments is okay.
Rerun without 'dry_run' option to add attachments."
по русски было так:
"Данные для 113 вложений корректны. Для добавления вложений необходимо обновить страницу без ее полной перезагрузки [ERR 162]"

После этого нужно еще раз выполнить URL запрос но без "dry_run" флага!
А именно: в запросе убираем тект "&dry_run=1"
Т.е запрос будет выглядеть так:
HTTP: // <YourSite> /administrator/index.php?option=com_attachments&task=utils.installAttachmentsFromCsvFile&filename=/path/to/migrate_attachments.csv

Все: видим сообщение: Добавлены данные для 113 вложений!

4. Заходим в компоненты\вложения  и в Utils компонента исправляем имена файлов
   Regenerate system filenames
   Востановить системные имена файлов


У меня все перенеслось. ВСЕ ПРОШЛО УДАЧНО СО ВТОРОГО РАЗА

МОЖЕТ КОМУ ПРИГОДИТЬСЯ ДАННАЯ ИНСТРУКЦИЯ, буду рад.
« Последнее редактирование: 22.03.2017, 16:53:36 от CrazyPr0ger »
*

CrazyPr0ger

  • Осваиваюсь на форуме
  • ***
  • 50
  • 2
Не все так гладко пошло в начале, поэтому опишу свои ошибки, чтоб никто на грабли не наступал более:
- Не делайте это все через Google Chrome - получите кучу глюков И КОСЯКИ В КОДИРОВКЕ О КОТОРЫХ И ПИСАЛ ВЫШЕ. У меня прошло все удачно только в Мазиле
-Экспорт  вложений из вашего сайта Joomla 1.5 - делайте прямо на старом сайте , на старом хостинге ОНЛАЙН , т.е там где 1.5 стабильно работала и только из под мазилы, она не портит кодировку имен файлов вложений. Хром корявит кодировку!
- Файл миграции migrate_attachments.csv редактируйте прогой Notepad++ в кодировке UTF-8 , благо он сам определяет кодировку
-Желательно делайте все на англицкой версии Juumla 2.5

И еще, у меня получилось так, что часть вложений была привязана к уже удаленным материалам, и при миграции  выходила ошибка с ID материала и адресом строки в файле migrate_attachments.csv, я просто удалял нотепадом строку целиком и загружал обновленный файл миграции обратно и снова запускал команду HTTP: // <YourSite> /administrator/index.php?option=com_attachments&controller=special&task=export_attachments_to_csv_file пока не появилось сообщение что все ОК. Пришлось править файлик раз 20.
« Последнее редактирование: 22.03.2017, 16:54:59 от CrazyPr0ger »