Страница 1 из 1

Переезд с IP.Board 3.4.6 на phpBB 3.2.5

Добавлено: 05.01.2019 13:10
sergbond
Здравствуйте, с праздничками.

Решился на переезд "руками". Знаю, что вроде есть пара конвертеров, но (вроде же) у народа вопросов к ним много.

Форум: 6К пользователей (активных 1К), ~20К тем, ~350К сообщений.

Важно сохранить id для пользователей, тем, сообщений.
С темами и сообщениями разобрался, переехало не идеально, но максимально приближенно, напильником доработаю в случае чего.

Огромная проблема с пользователями :(

Инсталлятор ставит двух предустановленных, после чего накатывает 50-60 серчботов.

Попробовал после инсталляции накатить старых пользователей поверх гостя с админом и ботами, попробовал поправить руками права. Как-то оно не очень зашло, вплоть до того, что старый админ (ид=1, сел на место гостя) не смог восстановить пароль по почте.

Сейчас думаю над таким вариантом: Переинсталлировать форум, но в инсталляционных скриптах перед инсталляцией для базы пользователей поставить стартовую запись не с 0, а допустим 100000, тогда прединсталлированые пользователи и боты получат большие ид, а я спокойно натяну старых пользователей в нижнюю часть базы. Но(!):
1. не могу разобраться откуда создается база - json или sql?
2. не могу найти - предустановленным пользователям в доступах фиксированные ид прописаны (1 и 2) или которые по факту были получены (100001 и 100002)?

Подскажите пожалуйста, в какую сторону копать?

Re: Переезд с IP.Board 3.4.6 на phpBB 3.2.5

Добавлено: 05.01.2019 14:38
Siava
sergbond писал(а): 05.01.2019 13:10 1. не могу разобраться откуда создается база - json или sql?
phpBB3\install\schemas\
schema.json - используется для создания пустых таблиц
schema_data.sql - используется для первоначального заполнения дефолтными данными. Там же можно найти строчку добавления первых двух пользователей и при желании отредактировать, добавив id.

Код: Выделить всё

# -- Users / Anonymous user
INSERT INTO phpbb_users (user_type, group_id, username, username_clean, user_regdate, user_password, user_email, user_lang, user_style, user_rank, user_colour, user_posts, user_permissions, user_ip, user_birthday, user_lastpage, user_last_confirm_key, user_post_sortby_type, user_post_sortby_dir, user_topic_sortby_type, user_topic_sortby_dir, user_avatar, user_sig, user_sig_bbcode_uid, user_jabber, user_actkey, user_newpasswd, user_allow_massemail) VALUES (2, 1, 'Anonymous', 'anonymous', 0, '', '', 'en', 1, 0, '', 0, '', '', '', '', '', 't', 'a', 't', 'd', '', '', '', '', '', '', 0);

# -- username: Admin    password: admin (change this or remove it once everything is working!)
INSERT INTO phpbb_users (user_type, group_id, username, username_clean, user_regdate, user_password, user_email, user_lang, user_style, user_rank, user_colour, user_posts, user_permissions, user_ip, user_birthday, user_lastpage, user_last_confirm_key, user_post_sortby_type, user_post_sortby_dir, user_topic_sortby_type, user_topic_sortby_dir, user_avatar, user_sig, user_sig_bbcode_uid, user_jabber, user_actkey, user_newpasswd) VALUES (3, 5, 'Admin', 'admin', 0, '21232f297a57a5a743894a0e4a801fc3', 'admin@yourdomain.com', 'en', 1, 1, 'AA0000', 1, '', '', '', '', '', 't', 'a', 't', 'd', '', '', '', '', '', ''); 

А почему от конвертера отказались? Вроде на чистый форум, но phpbb 3.0, должно конвертиться. Затем результат до phpbb 3.2 обновить.

Re: Переезд с IP.Board 3.4.6 на phpBB 3.2.5

Добавлено: 05.01.2019 16:47
LCFSCS
Не встречал ни одного конвертера (с движка на другой движок), чтоб без косяков работал - всё равно приходится руками доделывать.
Самому приходилось "переезжать" дважды.

Самый верный (но не самый простой) вариант - ручками. Берём базу (таблицу) пользователей с донора (откуда уезжаем), на реципиенте (куда приезжаем) создаём разных пользователей (по группам и т.д. - для наглядности) штук 30 - скачиваем эту базу пользователей (таблицу) и, сравнивая две базы, вырабатываем алгоритм действий (что чем и где заменять). С помощью "умной" замены (я Adobe Dreamviewer'ом делал) в несколько проходов (заменили одно, заменяем следующее) делаем из базы от IPB базу для phpBB. После чего допиливаем ручками нужное - кого куда переместить, кому чего поменять. После чего запихивам базу пользователей (таблицу) в базу форума. Та же схема и с другими таблицами.

То есть не заменяя данные пользователей мы заменям "оболочку", в которой эти данные находятся.

Re: Переезд с IP.Board 3.4.6 на phpBB 3.2.5

Добавлено: 05.01.2019 21:17
LavIgor
sergbond, для ID гостя есть ещё отдельная константа.
В идеале, конечно, лучше не рисковать со сменой ID гостя.

Re: Переезд с IP.Board 3.4.6 на phpBB 3.2.5

Добавлено: 08.01.2019 19:29
sergbond
Прошу помощь зала.

Переинсталлировал заново (в 37 раз), перед этим поправил константу для анонимуса и в дампе добавил user_id для анонимуса (100001) и админа (100002).
Все поставилось, боты получили нормальные id (100003 и так далее).
Регистрируюсь новым пользователем (получаю id 100049), проверяю восстановление пароля - все работает, на почту подтверждение приходит.

Закидываю в начало таблицы первую десятку пользователей со старого форума, добавляю user_email_hash, пытаюсь восстановить пароль - письмо не приходит. Такое впечатление, что процедура восстановления пароля не запускается на самом форуме, но мне (как пользователю) выдается стандартное сообщение что "Если ваша учётная запись существует, то новый пароль был отправлен на адрес email, привязанный к этой учётной записи. Если вы не получили сообщение, возможно, учётная запись заблокирована, деактивирована либо у вас отсутствует доступ к изменению пароля."

Что я мог упустить? Какую информацию еще дать?

Re: Переезд с IP.Board 3.4.6 на phpBB 3.2.5

Добавлено: 08.01.2019 19:56
rxu
На всякий случай, на офсайте есть такая тема https://www.phpbb.com/community/viewtop ... &t=2400741 и предлагают вот такой рукописный конвертор https://gist.github.com/GerB/dfbcbd51245113c50e327e8d9a47ffa8
Само собой, бэкапить всё перед любой попыткой.

Re: Переезд с IP.Board 3.4.6 на phpBB 3.2.5

Добавлено: 08.01.2019 20:20
sergbond
Тут выше вопрос был - почему я не воспользуюсь готовым конвертором?
Главная причина - мне хотелось бы понимать что на что меняется, и сделать это самостоятельно, так, как это нужно мне, а не так, как это посчитали нужным авторы тех или иных конверторов :) В любом случае, спасибо за ссылки, я их внимательно изучаю (может где что промелькнет и ответит на мои вопросы :))

Еще один вопрос тут возник:
Штатно регистрируюсь на форуме, удаляю этого пользователя через админку, когда снова пытаюсь зарегиться - ругается на емэйл (говорит что занят). В базе и всех файлах (в т.ч. кэше) проверил - не вижу этого емэйла. Куда копать? :)

Re: Переезд с IP.Board 3.4.6 на phpBB 3.2.5

Добавлено: 09.01.2019 1:03
Sheer
sergbond писал(а): 08.01.2019 20:20 так, как это нужно мне, а не так, как это посчитали нужным авторы тех или иных конверторов
Я полагаю, что авторы конверторов гораздо глубже в теме, чем вы.
sergbond писал(а): 08.01.2019 19:29 Переинсталлировал заново (в 37 раз)
Переинсталлируйте 38-й раз.
sergbond писал(а): 08.01.2019 19:29 перед этим поправил константу для анонимуса и в дампе добавил user_id для анонимуса (100001) и админа (100002).
Не делайте этого. После установки phpBB в Администраторском разделе удалите всех поисковых ботов. (ОБЩИЕ--Поисковые боты). У вас в таблице _users останется два пользователя: Гость и администратор. Найдите в вашем дампе в таблице пользователей максимальный ID и замените в вашем дампе ID равный единице на макс ID + 1, ID равный 2 на макс ID + 2, затем внесите своих пользователей из этого дампа в БД phpBB.
sergbond писал(а): 08.01.2019 19:29 добавляю user_email_hash
Каким образом? Итак, чтобы не городить огород, установите [3.1][3.2] [dev] STK for phpBB 3.2.x & 3.1.x В STK на вкладке Инструменты поддержки перейдите к пункту Пересоздание очищенных имен пользователей, после чего там же перейдите к пункту Обновление контрольных сумм email-адресов
Затем там же выберите пункт Проверка изменений в Базе Данных и можете сразу перейти к этапу Переустановка поисковых ботов, затем к Завершающему этапу.
sergbond писал(а): 08.01.2019 20:20 Куда копать?
Вы же получили сообщение
sergbond писал(а): 08.01.2019 19:29 возможно, учётная запись заблокирована, деактивирована
Проверьте в ACP (В Администраторском разделе ПОЛЬЗОВАТЕЛИ И ГРУППЫ-->Неактивированные пользователи) Во всяком случае для активированных пользователей в таблице _users поле user_inactive_reason должно быть 0, user_inactive_time должно быть 0, user_actkey должно быть пусто

+ Полезная информация Изменение пользовательских настроек, задаваемых по умолчанию ибо просто перенести ползователей из дампа IPB недостаточно. Таки конвертером лучше.


Enjoy phpBB

Re: Переезд с IP.Board 3.4.6 на phpBB 3.2.5

Добавлено: 09.01.2019 7:04
sergbond
Sheer писал(а): 09.01.2019 1:03 Я полагаю, что авторы конверторов гораздо глубже в теме, чем вы.
Не спорю, но я лучше чем авторы конверторов знаю что, откуда и как ссылается на мой форум снаружи, в том числе на профили пользователей, в том числе за деньги ;) Мне именно поэтому важно сохранить все предыдущие id
Sheer писал(а): 09.01.2019 1:03Каким образом?

Код: Выделить всё

'user_email_hash="' . sprintf('%u', crc32(strtolower($row['user_email']))) . strlen($row['user_email']) . '"';
на худой конец это вроде из CLI можно пересчитать
Sheer писал(а): 09.01.2019 1:03 Проверьте в ACP (В Администраторском разделе ПОЛЬЗОВАТЕЛИ И ГРУППЫ-->Неактивированные пользователи) Во всяком случае для активированных пользователей в таблице _users поле user_inactive_reason должно быть 0, user_inactive_time должно быть 0, user_actkey должно быть пусто
Все перенесенные пользователи видны в группе "Зарегистрированные", все поля о которых вы пишите - по нулям.
Sheer писал(а): 09.01.2019 1:03+ Полезная информация Изменение пользовательских настроек, задаваемых по умолчанию ибо просто перенести ползователей из дампа IPB недостаточно.
Ушел читать.

PS: В любом случае спасибо, что возитесь со мной.

Отправлено спустя 28 минут 32 секунды:
Sheer писал(а): 09.01.2019 1:03Найдите в вашем дампе в таблице пользователей максимальный ID и замените в вашем дампе ID равный единице на макс ID + 1, ID равный 2 на макс ID + 2, затем внесите своих пользователей из этого дампа в БД phpBB.
Я правильно понял - вы предлагаете сместить двух первых пользователей из старой базы в конец таблицы?

Отправлено спустя 2 часа 21 минуту 24 секунды:
На текущий момент у меня корректно автоматически переносятся:
1. структура форума (с правкой left-right через cli)
2. темы (с небольшой правкой заголовков)
3. сообщения (с корректировкой смайлов и цитат), после этого добавляются теги через cli
Права на разделы пересоздам, так правильнее будет.

Опросы пока не смотрел, про разницу знаю, как реализовать - придумаю
ЛС скорее всего грохну, отошлю перед этим по почте всем участникам.

уперся именно в пользователей, в то, что не приходит по почте (точнее - даже не отправляется из движка, судя по логам почтаря) смена пароля. полезу сегодня в код - смотреть, что он пытается проверить.

Останутся самые вкусные задачи - вложения и галерея :lol:

Отправлено спустя 58 секунд:
PS: а скрытые темы в phpBB вообще никак не реализуются?

Re: Переезд с IP.Board 3.4.6 на phpBB 3.2.5

Добавлено: 10.01.2019 0:44
Sheer
sergbond писал(а): 09.01.2019 9:55 вы предлагаете сместить двух первых пользователей из старой базы в конец таблицы?
Да.
sergbond писал(а): 09.01.2019 9:55 Все перенесенные пользователи видны в группе "Зарегистрированные"
Ну и что? Это не мешает учетной записи быть заблокированной или неактивированной.
И опять таки
sergbond писал(а): 08.01.2019 19:29 Если вы не получили сообщение, возможно, учётная запись заблокирована, деактивирована либо у вас отсутствует доступ к изменению пароля.
Проверьте Глобальные права группы Зарегистрированные пользователи --> Может менять пароль
sergbond писал(а): 09.01.2019 9:55 (с правкой left-right через cli
Это же делает STK --> Исправление границ значений ID всей конференции - Восстановление древовидной структуры форумов и модулей
sergbond писал(а): 09.01.2019 9:55 а скрытые темы в phpBB вообще никак не реализуются?
Нет. Вроде был тут запрос на расширение, но точно не помню.

Re: Переезд с IP.Board 3.4.6 на phpBB 3.2.5

Добавлено: 13.01.2019 4:38
Aleksej2000
sergbond писал(а): 09.01.2019 9:55 PS: а скрытые темы в phpBB вообще никак не реализуются?
Есть частично скрытые, когда видно для незарегестрированных лишь первое сообщение, а дальше для пользователей. мне переделали, можно выдавать права в каждом форуме, кто может, а кто не может. Пользователь в недозволенной группе не видит кроме первого сообщения. Но есть дырки, как подсмотреть.
Полностью скрытые темы (с назначением прав) я делал запрос, пока вопрос не решен.

Re: Переезд с IP.Board 3.4.6 на phpBB 3.2.5

Добавлено: 13.01.2019 12:05
sergbond
У меня скрытие темы - эффективный инструмент модераторов. Тема скрывается, производится разбор полетов, подчистка сообщений при необходимьсти, и после этого тема открывается.

Аналогично производится монетизация, когда скрывается тема, за которую рекл не внес оплату.
Буду думать, как выкрутиться.

Re: Переезд с IP.Board 3.4.6 на phpBB 3.2.5

Добавлено: 13.01.2019 20:51
sergbond
Отчитываюсь.
Проблема со сменой паролей была в том, что я в новогоднем угаре всем импортируемым пользователям проставил user_type=2, а это, как ни печально - боты :)

Переезд продолжается. Будьте внимательны :)

Re: Переезд с IP.Board 3.4.6 на phpBB 3.2.5

Добавлено: 13.01.2019 23:13
Sheer
sergbond писал(а): 13.01.2019 20:51 а это, как ни печально - боты
Хорошо, что не основатели :mrgreen: Это не боты, а игнорируемые. К ним относятся, в том числе и боты.

Код: Выделить всё

define('USER_NORMAL', 0);
define('USER_INACTIVE', 1);
define('USER_IGNORE', 2);
define('USER_FOUNDER', 3);