Предпосылками к проекту мастера перетягивания контента jom2bit послужил собственный опыт. Ряд сайтов, сделанных мною на Joomla в разное время были перенесены на Битрикс ввиду явных преимуществ последнего. Естественно при переносе встал вопрос, как тянуть контент. Был написан скрипт, достаточно тривиально подключавшийся к базе данных удаленного хоста и тянувший все данные оттуда напрямую. Оставалось лишь сделать сопоставление полей и распихать все по инфоблокам.
Все было хорошо, пока не дошли до сайта на котором не поддерживались удаленные подключения к БД. Вот тут уже задача стала серьезней. Во первых скрипт пришлось разделить на 2 части. Одна ставилась на сайт донор, а вторая работала на акцепторе. Естественно пришлось продумывать протокол обмена данными, в качестве которого естественно был выбран XML, согласование кодировок между сайтами, ряд других вопросов. Все вопросы решились и скрипт заработал.
Дальше больше. Перенос товаров из VirtueMart в каталог, обработка метатегов {mosimage} в тексте, перенос других компонентов Joomla, но..... сайты кончились, а задача интересная.
Отчасти из форума Битрикс, отчасти и изначального желания сделать нормальный, тиражируемый продукт скрипт обрел форму мастера Битрикс демоверсию которого я и выложил сегодня на своем сайте.
Итак, как работает jom2bit.
[spoiler] Настоящее описание действительно только для демо версии Мастера! 1. Скачиваем архив мастера с моего сайта Wblame.ru;
2. Заходим в панель настройки административного раздела. Выбираем Мастера и устанавливаем мастер jom2bit.
3. Мастер появился в списке мастеров? Можно приступать к работе.
4. Перед началом импорта контента желательно продумать будущую структуру инфоблоков. Я предусмотрел 2 возможности импорта контента: 1 режим. Разделы Joomla становятся корневыми секциями инфоблока, а категории Joomla - подсекциями. Инфоблок нужно создать до начала импорта. Этот режим может быть использован для импорта в инфоблок для которого уже настроена публичная часть. Например - статьи из базовой поставки Битрикс. 2 режим. - Разделы Joomla становятся инфоблоками, а категории секциями инфоблоков. Этот "продвинутый" режим позволяет разнести контент по инфоблокам и разнести контент по разделам сайта.
5. Запускам мастер, соглашаемся с условиями использования, и переходим на шаг установки скрипта экспорта. Скачиваем архив со скриптом к себе на машину. Архив содержит всего 1 файл, который необходимо поместить в любую директорию вашего сайта на Joomla с правами на исполнение. Скрипт желательно переименовать в самое нестандартное имя. Хотя скрипт будет находится на вашем сайте ограниченное время, но он предоставляет доступ ко всей базе и уж лучше береженого бог бережет. Адрес скрипта на исходном сайте пишем в поле адреса и если все нормально, переходим к следующему шагу.
Шаг 3. Импорт пользователей из Joomla. [spoiler]
Мастер предлагает вам 2 режима импорта. Все пользователи помещаются в 1 группу - "Импортированные из Joomla" либо для каждой группы пользователей Joomla создается соответствующая группа. Вы в последствии сможете настроить права для каждой группы или перенести пользователей в группы Битрикс. По окончании импорта выдается протокол импорта: По меньшей мере 1 пользователь у вас будет не перенесен. Протокол покажет ошибку "Пользователь с таким логином уже существует". Пытливые умы догадаются, что это admin. Важно. Пароли пользователей не переносятся из Joomla. Предлагаю сообществу обсудить этот момент. А также, как извещать пользователей, что их аккаунты перенесены.
Импорт пользователей можно пропустить нажав соответствующую кнопку.
Шаг 4. Импорт контента.
Приступаем к импорту контента. Выбираем тип инфоблоков, в которые будем переносить контент и способ переноса. В один или несколько инфоблоков. В случае переноса в один инфоблок на следующем шаге вам будет необходимо выбрать инфоблок для переноса.
После подтверждения выбора будет произведен импорт разделов и категорий из Joomla.
Шаг 5. Настройка импорта контента.
На данном шаге Вам предлагается произвести только одно действие, выбрать количество записей переносимых за 1 шаг. По умолчанию это 5 записей. Это сделано для возможности обойти время исполнения скрипта и ограничения нагрузки на сервер. Для "тяжелых" сайтов с большими статьями и множеством изображений в них или хостов с таймлимит 60 секунд рекомендуется оставить это значение или даже установить его в 1. Для новостных лент с множеством коротких заметок - 20 или даже 100. Это сокращает трафик, но увеличивает скорость работы мастера и нагрузку на сервер. Чем то надо жертвовать . В перспективе, после сбора соответствующей статистики, постараюсь добавить в скрипт автоматическое определение этого параметра.
Импорт контента. Чтобы не было совсем скучно, смотрим, как движется прогресс бар.
Результат импорта (пока без протокола)
В конце напоминаем удалить скрипт экспорта.
Работа мастера завершена. [spoiler] Продолжение следует))
Спасибо Роман. В рамках отдельного проекта я планировал сделать ссылку просто или проверку перед запуском о наличии новой версии с предложением обновления. Но если Битрикс со своей системой обновлений поможет, было бы еще круче. Для него же стараемся.
не работает ваш мастер. Установил на битрикс (демо-версия). Выбрал мастер. Указал путь к скрипту j2b_export. Захотел перенести корневой обычный шаблон сайта Joomla.
ИТОГО: перенесено 0 пользователей, перенесено 0 записей. Специально в жумле создал помимо Админа еще и пользователя "test". Все равно ничего не импортируется.
Объясните полностью процесс переноса! каталог для скрипта у меня таков localhost/www/joomla/j2b_export.php
Мой мастер не переносит шаблонов Где Вы увидели это в описании возможностей мастера?
Запись админа тоже не переносится. Админ он что в джумле, что в битриксе админ. Однако все записи созданные админом в джумле при переносе привязываются к записям админа битрикса.
Адрес скрипта для экспорта должен выглядеть по другому, даже для локальной машины, например: http://localhost/j2b_export.php Вы же указали физический путь к файлу. В этом случае естественно ничего работать не будет.
Переношу сейчас магазин с виртуемарта на Битрикс. Товар экспортировала каким-то виртуемартовским экспортом. Но, не скачались ни производители, ни фото. Выгрузила таблицы с фото и брендами в формате CSV для Эксель. Основной геморрой -сопоставить все таблицы , чтобы получить валидный прайс лист для экспорта в Битрикс . Ну, пожалуй и все. Много технической работы.. Если кому то будет нужно проделать эту процедуру и перенести с джумлы на Битрикс - пишите.. возможно, возьмусь
Группы на сайте создаются не только сотрудниками «1С-Битрикс», но и партнерами компании. Поэтому мнения участников групп могут не совпадать с позицией компании «1С-Битрикс».