Next Generation CMS :: Форум поддержки

Заинтересовала наша система? Тогда этот форум для Вас!

rss

Вы не зашли.

Объявление

#1 2009-02-26 23:55:10

panoptus
Пользователь
Откуда: Украина, Николаев
Зарегистрирован: 2009-02-18
Сообщений: 159
Рейтинг :   
Профиль  Вебсайт

Как перенести базу данных с DLE на NG CMS (полуавтоматический скрипт)

Для желающих конвертировать свою старую бд c DLE в NG CMS я адаптировал и немного доработал скрипт импорта.
Версия: 0.11
Тестировалось на: dle v.7.5 и NG CMS 0.9.0 Release
Описание: Данный конвертер сделан специально для желающих ”переехать” на NG CMS.
Конвертирует: пользователей, категории, новости, комментарии.

Код:

[0.11][2009-02-26]
* скрипт адаптирован для работы с NG CMS;
+ добавлена возможность выбора в какую категорию перемещать пользователей с категорий, которые отсутствуют в NG CMS;
+ исправлено пару мелких ошибок.

Инструкция:
1) удаляем все файлы и папки ДЛЕ кроме uploads*;
* базу данных не трогаем!
2) переименовываем uploads в uploads2;
3) заливаем файлы NG CMS и инсталируем ее*;
* при инсталяции выбираем ту базу данных, в которой уже стоит ДЛЕ.
4) распаковываем архив со скриптом в /engine/
5) запускаем http://адрес_сайта/engine/import/dle_import.php
6) перемещаем папку posts с uploads2 в uploads;
7) перемещаем содержимое папки  uploads2/fotos в uploads/avatars
8) удаляем uploads2;
9) если все прошло нормально - удаляем таблицы ДЛЕ из БД;

Перед конвертированием, не забудьте, на всякий случай, скопировать конвертируемую БД


Если есть какие-то пожелания или проблемы - пишите, не стесняйтесь.

Отредактированно panoptus (2009-02-27 00:16:13)

Неактивен

 

#2 2009-02-27 00:06:11

panoptus
Пользователь
Откуда: Украина, Николаев
Зарегистрирован: 2009-02-18
Сообщений: 159
Рейтинг :   
Профиль  Вебсайт

Re: Как перенести базу данных с DLE на NG CMS (полуавтоматический скрипт)

Ближайшие планы:
- конвертирование базы при импорте в ВВ-код;

И еще есть вопрос:
может кто поможет, ничего не могу сделать с аватарами.. не отображаются в NG

Отредактированно panoptus (2009-02-27 00:30:30)

Неактивен

 

#3 2009-02-27 02:50:38

vitaly
Администратор
Откуда: Россия
Зарегистрирован: 2008-10-08
Сообщений: 2785
Рейтинг :   115 
Профиль

Re: Как перенести базу данных с DLE на NG CMS (полуавтоматический скрипт)

panoptus, где именно не отображаются?
В комментах?
А ты их включил (в конфигурации системы)? Насколько я помню, по умолчанию аватары выключены smile

p.s. Спасибо за скриптик!

Неактивен

 

#4 2009-02-27 08:02:09

panoptus
Пользователь
Откуда: Украина, Николаев
Зарегистрирован: 2009-02-18
Сообщений: 159
Рейтинг :   
Профиль  Вебсайт

Re: Как перенести базу данных с DLE на NG CMS (полуавтоматический скрипт)

vitaly, включил, максивальные размеры в настройках увеличил... ничего не помогает.
А названия аватаров добжны на "1." начинаться??

Неактивен

 

#5 2009-02-27 08:23:23

infinity237
Модератор
Откуда: Russia, Moscow
Зарегистрирован: 2008-11-09
Сообщений: 2674
Рейтинг :   175 
Профиль  Вебсайт

Re: Как перенести базу данных с DLE на NG CMS (полуавтоматический скрипт)

id_user'a.название_файла.расширение

Неактивен

 

#6 2009-02-27 09:39:09

panoptus
Пользователь
Откуда: Украина, Николаев
Зарегистрирован: 2009-02-18
Сообщений: 159
Рейтинг :   
Профиль  Вебсайт

Re: Как перенести базу данных с DLE на NG CMS (полуавтоматический скрипт)

infinity237, а в ng_users.avatar что должно быть? название аватара без id юзера или с id?

Неактивен

 

#7 2009-02-27 10:07:37

infinity237
Модератор
Откуда: Russia, Moscow
Зарегистрирован: 2008-11-09
Сообщений: 2674
Рейтинг :   175 
Профиль  Вебсайт

Re: Как перенести базу данных с DLE на NG CMS (полуавтоматический скрипт)

В базе тоже с id.

Неактивен

 

#8 2009-02-27 14:09:25

vitaly
Администратор
Откуда: Россия
Зарегистрирован: 2008-10-08
Сообщений: 2785
Рейтинг :   115 
Профиль

Re: Как перенести базу данных с DLE на NG CMS (полуавтоматический скрипт)

Кстати, мысли по поводу преобразования HTML => BB.
В классе parse.class.php есть функция truncateHTML() - это простенький конечный автомат, который загружает и парсит HTML'ку.
Небольшая его доработка позволит строить DOM дерево и для всех тегов, для которых есть BB-аналог, делать замену.

Q: А зачем я городил всю эту конструкцию, когда можно было использовать обычный XML парсер?
A: XML парсер не может работать с не до конца валидными XML тегами (к примеру, незакрытый IMG - уже причина для отказа в парсинге) и, насколько я помню, он не позволяет в параметрах использовать русские символы (т.е. <a title="Title"> - можно, а вот <a title="Заголовок"> - уже нельзя).

Неактивен

 

#9 2009-02-27 14:27:45

Amarelius
Модератор
Откуда: Kiev
Зарегистрирован: 2008-10-24
Сообщений: 639
Рейтинг :   69 
Профиль  Вебсайт

Re: Как перенести базу данных с DLE на NG CMS (полуавтоматический скрипт)

vitaly написал:

<a title="Title"> - можно, а вот <a title="Заголовок">

У меня с русским в параметрах всё ОК, использую SimpleXML из стандартного набора, очень удобная штука, разве что php должен быть не ниже 5-й версии.


Всегда ищу разработчиков в Киеве!
Ищешь работу программистом, пиши мне на ArnitUA@gmail.com

Неактивен

 

#10 2009-02-27 14:44:02

vitaly
Администратор
Откуда: Россия
Зарегистрирован: 2008-10-08
Сообщений: 2785
Рейтинг :   115 
Профиль

Re: Как перенести базу данных с DLE на NG CMS (полуавтоматический скрипт)

Amarelius, а с незакрытыми тегами (тот же img) он корректно может работать?
Т.е. реально ли распарсить им такое (т.е. у тега img - нет закрытия внутри тега):

Код:

<table><tr><td><a href="/"><img src="/img.jpg"></a></td></tr></table>

Неактивен

 

#11 2009-02-27 15:08:37

Amarelius
Модератор
Откуда: Kiev
Зарегистрирован: 2008-10-24
Сообщений: 639
Рейтинг :   69 
Профиль  Вебсайт

Re: Как перенести базу данных с DLE на NG CMS (полуавтоматический скрипт)

Только что попробовал.
Такое можно парсить только с параметром LIBXML_NOERROR, при этом ошибки парсера выводиться не будут, а те компоненты которые их вызывают, будут игнорироваться.
Таким образом, распарсит все, кроме <img src="/img.jpg">
--------------------------------------------
Наверно тебе не подойдет...


Всегда ищу разработчиков в Киеве!
Ищешь работу программистом, пиши мне на ArnitUA@gmail.com

Неактивен

 

#12 2009-02-27 17:10:40

vitaly
Администратор
Откуда: Россия
Зарегистрирован: 2008-10-08
Сообщений: 2785
Рейтинг :   115 
Профиль

Re: Как перенести базу данных с DLE на NG CMS (полуавтоматический скрипт)

Amarelius, правильно я понимаю, что тег <img> в итоге не попадёт в результаты парсинга?
Если так, то для парсинга HTML трафика такая библиотека не подходит, т.к. незакрытый IMG - это далеко не фатальная ошибка.

Неактивен

 

#13 2009-02-27 17:38:41

Amarelius
Модератор
Откуда: Kiev
Зарегистрирован: 2008-10-24
Сообщений: 639
Рейтинг :   69 
Профиль  Вебсайт

Re: Как перенести базу данных с DLE на NG CMS (полуавтоматический скрипт)

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


Всегда ищу разработчиков в Киеве!
Ищешь работу программистом, пиши мне на ArnitUA@gmail.com

Неактивен

 

#14 2009-06-12 18:31:36

panoptus
Пользователь
Откуда: Украина, Николаев
Зарегистрирован: 2009-02-18
Сообщений: 159
Рейтинг :   
Профиль  Вебсайт

Re: Как перенести базу данных с DLE на NG CMS (полуавтоматический скрипт)

Кто-то из знающих, помогите прикрутить html to bb конвертер, чтоб база при переносе конвертировалась в BB-код. Данный скрипт написан на perl-e, но главное там регулярные выражения уже продуманы. Перловый исходник

Отредактированно panoptus (2009-06-12 18:32:46)

Неактивен

 

#15 2009-06-12 19:07:02

vitaly
Администратор
Откуда: Россия
Зарегистрирован: 2008-10-08
Сообщений: 2785
Рейтинг :   115 
Профиль

Re: Как перенести базу данных с DLE на NG CMS (полуавтоматический скрипт)

panoptus, ты можешь в новостях и HTML использовать, особенно в тех, которые мигрируешь.
проблем будет значительно меньше.

Неактивен

 

#16 2009-06-12 21:59:03

panoptus
Пользователь
Откуда: Украина, Николаев
Зарегистрирован: 2009-02-18
Сообщений: 159
Рейтинг :   
Профиль  Вебсайт

Re: Как перенести базу данных с DLE на NG CMS (полуавтоматический скрипт)

vitaly написал:

panoptus, ты можешь в новостях и HTML использовать, особенно в тех, которые мигрируешь.
проблем будет значительно меньше.

Очень логично. Но все таки хотелось бы опционально добавить возможность конвертирования, ибо тогда новости "редактабельны"

Неактивен

 

#17 2009-06-12 23:14:29

vitaly
Администратор
Откуда: Россия
Зарегистрирован: 2008-10-08
Сообщений: 2785
Рейтинг :   115 
Профиль

Re: Как перенести базу данных с DLE на NG CMS (полуавтоматический скрипт)

panoptus, а что мешает редактировать новости с HTML'ем?
Ставим в новости галочку "разрешить HTML код" и вуаля... или ты имеешь в виду, что при конвертации в BB коды редактировать их станет удобнее?

Неактивен

 

#18 2009-06-13 00:17:07

panoptus
Пользователь
Откуда: Украина, Николаев
Зарегистрирован: 2009-02-18
Сообщений: 159
Рейтинг :   
Профиль  Вебсайт

Re: Как перенести базу данных с DLE на NG CMS (полуавтоматический скрипт)

при конвертации в BB коды редактировать их станет удобнее

именно
Кстати сейчас скрипт импортирует базу с флагом "разрешить HTML код"

Неактивен

 

#19 2009-11-16 10:27:07

Set
Новичок
Откуда: Украина
Зарегистрирован: 2009-02-16
Сообщений: 13
Рейтинг :   
Профиль

Re: Как перенести базу данных с DLE на NG CMS (полуавтоматический скрипт)

Возможно адаптировать этот фал чтоб с DLE 8.2 переносило базу? новости вроде переносит норм только полная и краткая новость картинку отображает
главную и там и там http://pics.kz/s5/a4/75/a5/5a/a475a55a51ea66f2027e4fa94503b3e2_preview.png
статические страницы не переносит и имейджы не переносит и категории ручками создавал они не перенеслись .. но после того как создал ссылки на новости нормально отображаться стали.

Отредактированно Set (2009-11-16 10:28:11)

Неактивен

 

#20 2009-12-18 11:28:50

Trashcka
Пользователь
Откуда: КиевГрад
Зарегистрирован: 2008-12-04
Сообщений: 1487
Рейтинг :   73 
Профиль

Re: Как перенести базу данных с DLE на NG CMS (полуавтоматический скрипт)

Тоже встал вопрос переезда с DLE 8.0, а panoptus по ходу пропал sad

Неактивен

 

#21 2010-05-28 17:00:36

panoptus
Пользователь
Откуда: Украина, Николаев
Зарегистрирован: 2009-02-18
Сообщений: 159
Рейтинг :   
Профиль  Вебсайт

Re: Как перенести базу данных с DLE на NG CMS (полуавтоматический скрипт)

Я не пропал... времени нехватает... sad

только полная и краткая новость картинку отображает

это настраивается в шаблоне НЖ: уберите с шаблона news.full.tpl выражение {short-story}

Отредактированно panoptus (2010-05-31 22:32:04)

Неактивен

 

#22 2010-05-31 22:33:09

panoptus
Пользователь
Откуда: Украина, Николаев
Зарегистрирован: 2009-02-18
Сообщений: 159
Рейтинг :   
Профиль  Вебсайт

Re: Как перенести базу данных с DLE на NG CMS (полуавтоматический скрипт)

Для дальнейшей работы нужна наполненнпя база данных под ДЛЕ 8.0/8.2
Кто может предоставить для тестов?

Отредактированно panoptus (2010-06-10 12:34:15)

Неактивен

 

#23 2010-07-20 22:41:02

enotik
Новичок
Зарегистрирован: 2010-07-04
Сообщений: 6
Рейтинг :   
Профиль

Re: Как перенести базу данных с DLE на NG CMS (полуавтоматический скрипт)

А можно наоборот? из NGcms в любую другую? WP\DLE\E-107 ?

Неактивен

 

#24 2010-07-20 23:17:30

Wolverine
Модератор
Откуда: Домодедово
Зарегистрирован: 2008-10-13
Сообщений: 3538
Рейтинг :   160 
Профиль  Вебсайт

Re: Как перенести базу данных с DLE на NG CMS (полуавтоматический скрипт)

Можно, но такие конвертеры надо искать на форумах поддержки необходимых тебе скриптов. И они вряд ли существуют smile

Неактивен

 

#25 2011-04-09 14:00:51

upro12
Новичок
Зарегистрирован: 2011-04-09
Сообщений: 2
Рейтинг :   
Профиль

Re: Как перенести базу данных с DLE на NG CMS (полуавтоматический скрипт)

Ап, может кто переделает под версию 9.2. Очень охото переехать.

Неактивен

 

Board footer

Powered by FluxBB

[ Generated in 0.027 seconds, 32 queries executed ]