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

Нашелся отличный компонент J2XML, заточенный именно под подобную задачу. Он бесплатный, имеет гибкие настройки. Экспортирует связанную структуру материалов, категорий и пользователей с сайта-донора и интегрирует ее в структуру сайта-акцептора. До комплекта переносит еще и картинки в статьях, а также ссылки (WebLinks). Перенос, как следует из названия, осуществляется через XML-файлы. Детальному рассмотрению настроек и функционала компонента J2XML и посвящена эта статья.

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

А теперь - погнали!

Скачайте с офсайта последнюю версию пакета J2XML (на момент написания - 3.1.rc2), соответствующую вашей версии CMS. Оба моих сайта работали под Joomla 2.5, именно этот вариант рассмотрен здесь. Отмечу лишь, что перед процессом я синхронизировал версии сборок - на обоих сайтах обновился до последних (на момент написания - 2.5.16).

Давайте заодно договоримся о терминологии. Сайт, информация с которого экспортируется, я буду называть сайт-источник, а тот, на который импортируется - сайт-приемник. А то донор и акцептор - слишком по-иностранному выходит )).

I. Экспорт с сайта-источника

Входим в админку сайта-источника. Там проделываем следующее.

  1. Устанавливаем пакет (package) стандартным образом через Менеджер расширений -> Установка. Если зайти теперь на вкладку Управление - видим аж пять расширений: инсталлятор пакета, компонент и еще 3 - библиотека, плагин J2XML Export/Send buttons и интерфейс командной строки J2XML CLI.

    j2xml-ru-01-package-before-update

    Последний из трех нам не пригодится, а вот остальные два можно обновить, если на офсайте есть более новые версии. После этого публикуем плагин J2XML Export/Send buttons.

    02-package-after-update

  2. Идем в сам компонент, открываем Настройки и выставляем подходящие для наших целей. Интерфейс - только английский, но там в плане языка все достаточно просто и ясно.

    На сайте-источнике из настроек нас интересует только первая вкладка:

    • Export. На ней имеются следующие опции:

      j2xml-ru-03-options-export

      • Images - переносить ли картинки к статьям. Если оставить 'Да', то изображения будут включены в xml-файл в закодированном виде и раскодируются на сайте-приемнике в соответствующие папки. В том случае, если папки там отсутствуют, они будут созданы. Возможный минус здесь - размер полученного файла. Если много больших имиджей - даже компрессия не поможет. У меня было немного, поэтому я оставил эту опцию активной. В обратном случае лучше постепенно перенести картинки вручную.
      • Users - соглашаюсь. В этом случае в файл будут добавлены учетные записи пользователей, но не всех, а лишь авторов статей, выбираемых для переноса. Подробнее - в описании опции Keep author вкладки Content на сайте-приемнике.
      • Compress - сжимать ли файл. Имеет смысл при большом количестве информации.
  3. Жмем Сохранить и закрыть, а следом - Article Manager. В меню Менеджера материалов появилась кнопка Export.
  4. В выпадающем меню Кол-во строк под списком материалов выбираем 'Все'. Ставим галки на нужные статьи, или выбираем все и снимаем галки с ненужных. Жмем Export. Генерируется и скачивается файл. Содержит он выбранные материалы со всеми установками, аккаунты пользователей-авторов, а также категории, но тоже не все, а только соответствующие экспортируемым материалам.
  5. Если есть желание или необходимость перенести дополнительные категории и/или пользователей, заходите в Менеджер категорий и Менеджер пользователей (в них также имеется кнопка Export) и экспортируйте нужные. Для импорта пользователей предусмотрены отдельные настройки, выставляемые впоследствии на сайте-приемнике. Также, если вы используете компонент Ссылки (Weblinks), имейте в виду, что J2XML позволяет переносить и их - кнопка Export присутствует и в интерфейсе Менеджера ссылок.

II. Импорт на сайт-приемник

Переходим на сайт-приемник. В его админке проделываем следующие действия.

  1. Установка пакета и вход в Настройки - как на сайте-источнике. Настраиваем опции для импорта.
    • Вкладка Export нас здесь, понятно, не интересует. Посмотрим настройки на остальных.
    • Вкладка Import:

      j2xml-ru-04-options-import

      Здесь все достаточно прозрачно. Импортировать ли изображения, категории, пользователей и ссылки. Какие выбирать значения параметров - решается по результатам анализа содержимого обоих сайтов. Также эти значения должны сочетаться с некоторыми параметрами из следующей вкладки. Рассмотрим ее подробно.

    • Вкладка Content содержит следующие опции:

      j2xml-ru-05-options-content

      • Keep Ids - очень важный параметр. Если на сайте-приемнике, как в моем случае, есть свой контент, то лучше оставить 'Нет'. В этом случае идентификаторы импортируемых элементов добавляются к существующим по принципу автоинкремента. В этом случае параметры вкладки Import игнорируются, кроме тех, которым вы присвоили значение 'Нет' - тогда соответствующие группы просто не импортируются. Перезапись существующего наполнения новым происходит только если сохранять Ids.

        Моя задача - как раз добавить новые элементы, сохранив существующие. Именно поэтому я оставил значения опций на вкладке Import дефолтными, равно как и Keep Ids - 'Нет'.

      • Access Level. Зависит от вашего желания. Можно сбросить уровень доступа для всех добавляемых материалов на какой-нибудь один, а можно оставить оригинальный. Меня устроил второй вариант.
      • State - состояние: опубликован или нет. Здесь та же логика. Сохраняю исходное значение.
      • Keep author - если 'Да', сохраняет авторов статей, даты последнего изменения и количество изменений. Заодно, если на сайте-источнике на вкладке Export было выбрано Users, здесь будут добавлены учетки пользователей - авторов статей. Будут ли заменены аккаунты пользователей с такими же идентификаторами - зависит от выбора Keep Ids выше, а также от значения параметра Users на вкладке Import. Интересно здесь, что email пользователя алгоритм тоже считает идентификатором.

        Значение и этой опции оставляю по умолчанию - 'Да'.

      • Keep category - 'Да'. В этом случае категории, соответствующие статьям, автоматически будут добавлены в список категорий. И снова - перезаписывать ли существующие, если такие будут найдены, зависит от значений Keep Ids и параметра Categories предыдущей вкладки.
      • Category - используется только если Keep category установлено в 'Force to'. Всем статьям, соответственно, присваивается выбранная категория.
      • Оставшиеся четыре параметра не требуют детального объяснения - сохранять ли атрибуты, метаданные и рейтинг, а также избранные статьи.
    • Следующая вкладка - Users.

      j2xml-ru-06-options-users

      Пригодится только если экспортировались пользовательские аккаунты из Менеджера пользователей сайта-источника отдельным файлом. Здесь всего два параметра, которые можно сохранить по умолчанию:
      • Keep Ids - 'Нет', как и для контента.
      • Keep attribs - имеет смысл сохранить атрибуты добавляемых пользователей, если нет особых соображений в пользу противоположного выбора.
    • Наконец, последняя вкладка Advanced

      j2xml-ru-07-options-advanced

      может быть смело проигнорирована. Debug - отключен, Remote folder в описываемом методе не используется.

    Итак, как видите, значения всех параметров устроили меня по умолчанию. Случаи, когда было бы целесообразно их поменять, я попытался упомянуть выше.

  2. Теперь остался сам импорт. Жмем Choose File, выбираем файл с материалами и кликаем Open, а следом - кнопку Import. Дожидаемся конца процедуры и получаем лог ее выполнения. Если настройки соответствовали задумке, результат должен быть успешным.
  3. Если отдельно был выполнен экспорт несвязанных со статьями пользователей, категорий и ссылок - повторяем предыдущий шаг для соответствующих файлов.

Что можно отметить в заключение? Работает компонент отлично - шустро и без глюков. Если бы он еще и меню переносил - было бы совсем хорошо. Также нет возможности синхронизировать сторонние расширения, связанные с идентификаторами переносимых элементов. Например, пользователи на сайте-приемнике получили новые IDs, и комментарии зарегистрированных пользователей в JComments мне лично пришлось привязывать к ним вручную. Благо дело, их было немного - 30 с небольшим, а если их сотни? Пришлось бы искать, а то и писать скрипт переноса. Почему бы разработчикам не сделать этого, ведь JComments - наше всё?! Да и скрипт такой не представляется сложным.

Но это так, перфекционизм. А если без него, то спасибо разрабам J2XML - бесплатного, полезного, быстрого и надежного компонента для переноса наполнения с одного сайта на другой и грамотного интегрирования этого нового контента в имеющуюся структуру.

Комментарии  

listit4less.com
0 # listit4less.com 03.08.2022 15:00
Online casinos have many advantages. You don't need to
have lots of money to sign up. Online casinos usually provide free
games for players to play to find the best games.

Also visit my web-site ... Casino (listit4less.com)
Ответить | Ответить с цитатой | Цитировать
cbd Hash
0 # cbd Hash 03.08.2022 15:06
%%

Also visit my homepage cbd
Hash
Ответить | Ответить с цитатой | Цитировать
Cafecolada.Com
0 # Cafecolada.Com 03.08.2022 16:58
There are many reasons to get into betting on sports, from
the chance to make an income to the fact that it brings excitement and something to be a part of
to the overall experience.

Check out my web site - Bet (Cafecolada.Com)
Ответить | Ответить с цитатой | Цитировать
Rosychicc.com
0 # Rosychicc.com 03.08.2022 17:00
There are many different rules and regulations that govern online gambling.
In the US, for example you cannot base an online gambling site in the country where you
live however, you can base it elsewhere.

My page bet - Rosychicc.com
-
Ответить | Ответить с цитатой | Цитировать
Randal
0 # Randal 03.08.2022 17:54
You can find a professional with the right qualifications in Enfield in case you require to fix or upgrade your windows and doors
enfield, Randal,.
Ответить | Ответить с цитатой | Цитировать
Hopeinthecities.org
0 # Hopeinthecities.org 03.08.2022 18:14
Online slots are a favorite entertainment for millions
of players. This thrilling and enjoyable form of gambling is perfect way to pass the time or to make extra money.
There are numerous games to pick from, and there are even free games to play.



Feel free to surf to my webpage - Casino (Hopeinthecities.org)
Ответить | Ответить с цитатой | Цитировать
refrigerator uk
0 # refrigerator uk 03.08.2022 18:25
%%

Also visit my web site; refrigerator uk
Ответить | Ответить с цитатой | Цитировать
badlydrawntoy.com
0 # badlydrawntoy.com 03.08.2022 20:40
Online gambling is governed by numerous rules and
regulations. In the US for instance you aren't able to base an online gambling website in the
country where you live however, you are able to base it elsewhere.


Visit my web-site: Betting (badlydrawntoy.com)
Ответить | Ответить с цитатой | Цитировать
legal hash uk
0 # legal hash uk 03.08.2022 20:57
%%

Here is my website legal hash uk
Ответить | Ответить с цитатой | Цитировать
doors enfield
0 # doors enfield 03.08.2022 22:18
Double glazing repairs are essential if you want your windows to work again.
A glazier in doors enfield, Essex is the
best option.
Ответить | Ответить с цитатой | Цитировать
Seo Price Packages
0 # Seo Price Packages 03.08.2022 22:33
%%

Look into my site Seo Price Packages
Ответить | Ответить с цитатой | Цитировать
Refrigerators Online
0 # Refrigerators Online 04.08.2022 00:11
%%

Feel free to visit my web blog; Refrigerators
Online
Ответить | Ответить с цитатой | Цитировать
Seo Package
0 # Seo Package 04.08.2022 03:25
%%

Feel free to surf to my homepage :: Seo Package
Ответить | Ответить с цитатой | Цитировать
Benito
0 # Benito 04.08.2022 03:52
%%

Feel free to surf to my site: seo uk prices (Benito)
Ответить | Ответить с цитатой | Цитировать
enfield Doors
0 # enfield Doors 04.08.2022 04:57
World of Windows has been providing enfield Doors residents with premium windows for
many years. Their knowledge and choice of high-quality products are the best to enhance the appearance of your home.
Ответить | Ответить с цитатой | Цитировать
Hemp Hash
0 # Hemp Hash 04.08.2022 09:11
%%

Look at my blog post - Hemp Hash
Ответить | Ответить с цитатой | Цитировать
buy cbd hash uk
0 # buy cbd hash uk 04.08.2022 10:30
%%

Also visit my web-site: buy cbd hash uk
Ответить | Ответить с цитатой | Цитировать
Enfield Doors
0 # Enfield Doors 04.08.2022 12:15
You can find qualified professionals in Enfield Doors if you need to fix
or upgrade your windows and doors.
Ответить | Ответить с цитатой | Цитировать
seo pricing packages
0 # seo pricing packages 04.08.2022 17:07 Ответить | Ответить с цитатой | Цитировать

Добавить комментарий


Работая с этим сайтом, вы даете свое согласие на использование файлов cookie, необходимых для сохранения выбранных вами настроек, а также для нормального функционирования сервисов Google.