Сайт HR-Portal.ru переехал на Drupal 7

Главные вкладки

Аватар пользователя Valeratal Valeratal 12 мая 2011 в 22:04

Сайт HR-Portal.ru переехал на Drupal 7

О сайте, многие из присутствующих слышали
Если коротко. Это более 40к нод, более 1м уников в месяц и 2м просмотров в месяц

Попытался вначале сам перевести, благо опыт апгрейда с 5-ки на 6-ку был.
Но, помучившись 3 дня, понял что не получается.
Обратился Виктору (RxB), который собственно и проделал гигантский объем работы по данному апгрейду.
За что ему огромное спасибо.
Технические моменты он опишет сам, я же остановлюсь на некоторых наблюдениях и впечатлениях.

1. Бэкапы. Делать их надо постоянно. Понятно что до обновления. Но и после, перед каждым включением модуля под 7-ку (то есть апгрейда данных с 6-ой версии) хорошо бы иметь бэкап. Ибо включиться может по разному.

2. Наличие 6-ой версии. Это сильно помогает при ручном переносе. А также, устаревшая версия может выполнять ряд функций, которые вы к примеру не успели включить и настроить в 7-ке. Например, модуль simplenews. Прекрасно отправил рассылку находясь на 6-ой версии, в то время как я настраивал этот модуль на 7-ке. Как оказалось, проще экспортировать подписчиков из базы 6-ой версии и импортировать в 7-ою, чем разбираться, почему не включается то или иное поле. Это же правило думаю относится и к визуальным редакторам. Имхо проще их удалить а уже потом ставить и настраивать заново. Тем более при смене друпал-версии модуля, часто меняется и его архитектура.

3. Темизация. Я заранее подготовил тему, но, поскольку не проверял с контентом, уже при использовании на сайте обнаружились глюки (лишний пейджер). Поэтому в срочном порядке пришлось переделывать (делал из бартика. Бартик не слишком хорош из коробки с точки зрения SEO, но это легко исправляется).

4. Вьюсы. Как ни странно, практически все заработали. Донастраивал вьюсы только те, где я выводил полями тизеры, это и понятно, так как были известные изменения в API. А в остальном, заработало сразу. Интерфейс Views 3 не сильно изменился. Правда пока не нашел, где вставлять текст выше и ниже собственно выводимого.

Вот пожалуй и все. Готов ответить на вопросы.

Комментарии

Аватар пользователя Виктор Степаньков ака RxB Виктор Степаньк... 12 мая 2011 в 22:24

Сайт попал ко мне в виде каши из шестёрочной БД и ошмётков Drupal7, Валера неоднократно пытался обновить сайт самостоятельно, но всё время спотыкался.

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

Начал восстанавливать индексы. В части таблиц всплыли дубли, которые не давали вернуть индексы, приходилось делать финт ушами - копирование структуры и дальнейшая вставка через IGNORE INTO с последующим переименованием таблиц.

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

После наката ядра выяснилось что не мигрировали алиасы и аватары у пользователей мигрировали криво. Алиасы просто не работали, с аватарами была такая беда:
В пятом и шестом друпале, данные об аватарке хранятся просто в таблице users в поле picture, в таблицу files они не заносятся. В седьмом друпале же, поле users.picture хранит просто fid, т.е. первичный ключ к таблице file_managed. В результате каких-то кривостей, у некоторых пользователей аватара не стало вообще, у других вместо аватара установился случайный файл, были даже zip-архивы.
Проблема была решена следующим образом: был взят бекап шестой версии, оттуда взята таблица users, с седьмого (уже продакшен на тот момент) была взята таблица file_managed, туда я занёс данные из users шестой версии, потом первым запросом я внёс информацию об аватарах в file_managed, вторым обновил аватары в продакшен-таблице users, аватары заработали.

Следующая беда с приватными сообщениями, в результате не знаю чего, таблица pm_index оказалась пустая, для решения этой беды, взял аналогичную таблицу с шестого друпала, посмотрел hook_update() в модуле приватных сообщений. Подправил схему БД в таблице system, в модуле проверка стоит, и удалось сделать обновление приватных сообщений.

Следующая интересная проблема была с пейджером, он показывал абсолютно некорректные данные. Нода, на ней 4 коммента, пейджер показывает 64 страницы. Экспериментальным путём было выяснено, что чего-то у Валеры с темой не то, но он быстро перенёс свою тему на Bartik и мы не стали на этой проблеме заострять внимание.

Вот такое было вкратце обновление

Аватар пользователя Виктор Степаньков ака RxB Виктор Степаньк... 12 мая 2011 в 22:25

"q2_faith" wrote:
кстати, что по поводу нагрузки на сервер после переезда на 7-ку?)

1. Она меньше
2. Из-за того что шестой друпал работал со слетевшими индексами семёрка хоть как будет легче, так как индексов не было в таблице comments и node

Аватар пользователя q2_faith q2_faith 12 мая 2011 в 22:40

еще вопрос. что лучше, сделать сайт на 6-ке и осенью перевести на 7-ку, или делать на 7-ке на бета-версиях доп.модулей? речь не о визитке идет)

Аватар пользователя Виктор Степаньков ака RxB Виктор Степаньк... 12 мая 2011 в 22:44

Делай сейчас на семёрке. Быстро не сделаешь всё равно.
Я даже знаю один крупный, реально крупный проект, социальной сети, который делается русскими программерами для запада, который решено было стартовать на семёрке

Аватар пользователя Valeratal Valeratal 12 мая 2011 в 22:53

"q2_faith" wrote:

еще вопрос. что лучше, сделать сайт на 6-ке и осенью перевести на 7-ку, или делать на 7-ке на бета-версиях доп.модулей? речь не о визитке идет)

Вопрос в том, какие модули будут использоваться

По факту, "бета или не бета" это не вопрос. Вопрос "Работает-Не работает". К примеру симплнью я проверял только тестовую рассылку. Но вроде как страшных багов в исусах не пишут. У некоторых модулей авторы так и пишут. Версия для 7-ки есть, но не юзабельная пока.

Под 6-ку конечно проще сейчас делать, мануалы, модули, сниппеты - бери, да делай.

Захотите ли вообще осенью переходить - тоже вопрос, надо ли спешить?

Аватар пользователя Crea Crea 13 мая 2011 в 17:44

Valeratal wrote:
Но вроде как страшных багов в исусах не пишут.

"вроде как" - прекрасно характеризует ситуацию ))

Аватар пользователя Valeratal Valeratal 12 мая 2011 в 22:57

"Valeratal" wrote:
поздравляю с переездом) в блоге отписывайтесь об ощущениях от 7-ки)

Ну, ощущения то хорошие, много стало удобней. Думаю что начинать проект на 7-ке точно приятней.

Но, нехватает привычных вещей. Та же ссылка для отображения регионов у меня не показывается. Я не гордый, посмотрю в page.tpl.php Smile Ну и по мелочи. Про вьюс я уже писал.

Аватар пользователя Ильич Рамирес Санчес Ильич Рамирес Санчес 12 мая 2011 в 23:23

короче бекап для 6ой надо развернуть в БД рядышком чтобы допереносить ошметки данных .
(те же файлы для юзерей насоздавать)
эхехе. в субботу всех пошлю на йух и попробую кое что мигрировать таки чтобы ощутить вкус процесса Smile

поздравляю с тем что отмучались Smile

Аватар пользователя RayB RayB 13 мая 2011 в 0:55

поздравляю с переездом Smile
да... чувствую мой сушифан так навсегда и останется на 6-ке. Как представлю, во что может вылиться переезд на 7-ку, в голове только сразу: "чур меня, чур меня, не трогай!"

Аватар пользователя Anton1 Anton1 13 мая 2011 в 1:15

1. а в чем причина переезда именно сейчас? почему нельзя было подождать условно полгода-год пока 7ка стабилизируется?

2. не понял в чем выигрыш 7ки (этот вопрос двойной, и как пользователю и как админу сайта)

конечно поздравляю. дропед индексы это жесть. Smile

PS: Я сейчас начал пару проектов с OG и как то даже не стал смотреть в сторону 7ки.

Аватар пользователя Valeratal Valeratal 13 мая 2011 в 12:38

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

Аватар пользователя q2_faith q2_faith 13 мая 2011 в 17:25

"Valeratal" wrote:
?-ка не вешает сервер, не жрет непомерных ресурсов. Все работает нормально и штатно.

здесь вместо вопроса каждый должен подставить свою версию друпала)

Аватар пользователя Crea Crea 13 мая 2011 в 17:42

Кстати, любителям бета-версий: все, что не стейбл, не поддерживается командой безопасности Drupal, и может содержать большое(ее) кол-во уязвимостей. Этот момент почему-то стыдливо умалчивается среди агитаторов семерки )))

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

Аватар пользователя Dan Dan 13 мая 2011 в 19:26

"Crea" wrote:
Кстати, любителям бета-версий: все, что не стейбл, не поддерживается командой безопасности Drupal, и может содержать большое(ее) кол-во уязвимостей. Этот момент почему-то стыдливо умалчивается среди агитаторов семерки )))

Потому что нет "такого момента". При наличии критической уязвимости команда безопасности ткнёт мэйнтенера носом в модуль в любом состоянии. Пример: [module=qviews], который никогда не был стабильным, и даже бэтой - только дев и альфа. Тем не менее - прикрыли (причина идиотская, но результат - на литццо).

Аватар пользователя Crea Crea 13 мая 2011 в 19:38

<a href="mailto:Sentrashy@drupal.org">Sentrashy@drupal.org</a> wrote:
"Crea" wrote:
агитаторов семерки

дык если все займут выжидательную позицию, то 8-ку можно вообще не увидеть...


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

Аватар пользователя Crea Crea 13 мая 2011 в 19:34

Dan wrote:

Потому что нет "такого момента".

Будем отрицать очевидное ? Ну ну

Dan wrote:

При наличии критической уязвимости команда безопасности ткнёт мэйнтенера носом в модуль в любом состоянии.

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

Аватар пользователя q2_faith q2_faith 13 мая 2011 в 19:43

"Crea" wrote:
А вот когда пиарят 7-ку как массовое решение - это вызывает удивление и насмешку.

тут еще зависит от того кому пиарят) я как то новичкам 7-ку не советую, но при этом хочу именно на 7-ке сделать пару проектов

Аватар пользователя Sentrashy@drupal.org Sentrashy@drupal.org 13 мая 2011 в 20:00

Ну пиарят и пиарят, какая разница то. Те, кому это важно итак все понимают. penexe вон, как я понимаю на 6-ке клепает и не заморачивается вообще. Андед, судя по блогу и постам тут наоборот активно юзает семерку. Каждому свое.

А с точки зрения новичков..тут уж не вам судить Wink А вот я могу сказать, что если начинать более менее серьезно изучать друпал, то можно и с седьмой версии начинать. Т.к. времени на то, что бы проникнуться хоть чуть-чуть уходит не мало. А это важнее модулей. В общем к тому времени как у новичков дело дойдет но багов, не работующих модулей, ситуация в семерке не сильно будет отличаться от шестой версии. Тем более, что для 7-ки, допустим есть модули не имеющие аналогов в шестой версии - это в противовес не портированным модулям. Ну это все имхо конечно Wink

Аватар пользователя q2_faith q2_faith 13 мая 2011 в 20:09

"<a href="mailto:Sentrashy@drupal.org">Sentrashy@drupal.org</a>" wrote:
А вот я могу сказать, что если начинать более менее серьезно изучать друпал, то можно и с седьмой версии начинать.

спорный момент) после 6-ки было только слегка непривычно, но почти все тоже самое. а в тоже время по 6-ке гораздо больше инфы

Аватар пользователя Sentrashy@drupal.org Sentrashy@drupal.org 13 мая 2011 в 20:18

"q2_faith" wrote:
а в тоже время по 6-ке гораздо больше инфы

тем полезней начинать учить с семерки Wink посмотрите на товарищей которые учили 4-5 вообще практически без инфы ;)) Ниньзя епт Wink

Аватар пользователя q2_faith q2_faith 13 мая 2011 в 20:20

"<a href="mailto:Sentrashy@drupal.org">Sentrashy@drupal.org</a>" wrote:
тем полезней начинать учить с семерки Wink посмотрите на товарищей которые учили 4-5 вообще практически без инфы ;)) Ниньзя епт ;)

не надо утрировать)

Аватар пользователя Ильич Рамирес Санчес Ильич Рамирес Санчес 13 мая 2011 в 20:21

"Dan" wrote:
Потому что нет "такого момента". При наличии критической уязвимости команда безопасности ткнёт мэйнтенера носом в модуль в любом состоянии. Пример: qviews, который никогда не был стабильным, и даже бэтой - только дев и альфа. Тем не менее - прикрыли (причина идиотская, но результат - на литццо).

Пример http://drupal.org/node/987922
есть такой момент что дохрена багов в этом вашем стабильном релизе семерки не исправлены.

Есть проблемы с JS на 8 осле.
Много чего есть. такое ощущение что большинство разрабов пишут под мозиллу исключительно.

Аватар пользователя q2_faith q2_faith 13 мая 2011 в 20:22

"Ильич Рамирес Санчес" wrote:
такое ощущение что большинство разрабов пишут под мозиллу исключительно.

наверно их сотрудники)

Аватар пользователя Valeratal Valeratal 13 мая 2011 в 20:36

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

OG - там кажется тоже темный лес

Про коммерц - я думаю все знают. Еще работать и работать

Поэтому, надо исходить из проекта, от своих ЗУНов и наличия времени.

Для новичков, запускающих свои проекты, я бы рекомендовал все таки 7-ку (при наличи конечно критичных модулей), так как главное на сайте это контент и юзеры. Эти 2 "сущности" (да простит меня Энди) являются определяющими. И для них, в 7-ке в принципе все есть

Аватар пользователя Ильич Рамирес Санчес Ильич Рамирес Санчес 13 мая 2011 в 21:06

"Valeratal" wrote:
тагаделик

ждем блин.
"Valeratal" wrote:
OG - там кажется тоже темный лес

мы пользуем og. и в 7ке он сырой + кардинальная переделка там. не ясно как данные переносить.

еще сыра довольно капча и еще модули. я у себя на блоге еще зимой делал обзор.
http://brainstorm.name/blog/migration-from-drupal6-to-drupal7-awaiting-b...
и ситуация с той поры не сильно изменилась. все в бетах и в альфах. читай - вести себя будет как бог на душу положит.
и резко переносить все с 6ки... стремновато. свой блог я на выходных либо перенесу, либо отработаю процедуру переноса. не знаю, на сыром коде жить не хочется. и да. гонка за релизами малость напрягает.

Аватар пользователя Sentrashy@drupal.org Sentrashy@drupal.org 13 мая 2011 в 21:11

"Ильич Рамирес Санчес" wrote:
гонка за релизами малость напрягает.

ниче, поддадутся тенденции браузеров и начнут клепать мажорные версии каждые 4 месяца ;))

Аватар пользователя Dan Dan 13 мая 2011 в 21:42

"<a href="mailto:Sentrashy@drupal.org">Sentrashy@drupal.org</a>" wrote:
ниче, поддадутся тенденции браузеров и начнут клепать мажорные версии каждые 4 месяца ;))

Ну вон, каноникал клепает убунты каждые 6 месяцев - каждый релиз сырой вхлам, ещё месяц другой лучше сидеть на предыдущем. План губит качество )

Аватар пользователя ihappy ihappy 13 мая 2011 в 21:48

"Dan" wrote:
Ну вон, каноникал клепает убунты каждые 6 месяцев - каждый релиз сырой вхлам, ещё месяц другой лучше сидеть на предыдущем. План губит качество )

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

Аватар пользователя Dan Dan 13 мая 2011 в 22:23

"Crea" wrote:
А код стабильных версий периодически рассматривается самими членами команды безопасности (в этом можно убедиться, читая предыдущие описания уязвимостей и кто их репортил - зачастую это сами участники команды)

Хотелось бы увидеть пруф, где написано, что команда безопасности шерстит все стабильные модули. А репорт уязвимостей от команды объясняется просто - по правилам, если ты обнаружил проблемы с безопасностью, то надо не багрепорт модулю писать, а в "службу безопасности", там её рассмотрят и "примут меры".

"iHappy" wrote:
ну вот все кричат, сырой, сырой, а я блин везучий походу, стабильно работает хоть ногой бей.
Везунчик наверно)))

Проблемы в основном с железом - недодастоточное тестирование, поэтому либо работает либо нет Smile

Аватар пользователя Crea Crea 13 мая 2011 в 23:05

Dan wrote:

Хотелось бы увидеть пруф, где написано, что команда безопасности шерстит все стабильные модули.

Слово "все", кардинально меняющее смысл, вы добавили самостоятельно, поэтому сами и ищите свой пруф Smile
Dan wrote:

А репорт уязвимостей от команды объясняется просто - по правилам, если ты обнаружил проблемы с безопасностью, то надо не багрепорт модулю писать, а в "службу безопасности", там её рассмотрят и "примут меры".

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

Аватар пользователя Dan Dan 14 мая 2011 в 0:03

"Crea" wrote:
Слово "все", кардинально меняющее смысл, вы добавили самостоятельно, поэтому сами и ищите свой пруф Smile

Тогда хотелось бы услышать продолжение фразы:
"Crea" wrote:
все, что не стейбл, не поддерживается командой безопасности Drupal, и может содержать большое(ее) кол-во уязвимостей.

а всё, что стэйбл?...

Аватар пользователя Crea Crea 14 мая 2011 в 0:43

а все что стейбл - поддерживается, осматривается (специально уточню может осматриваться, а то опять придеретесь), и содержит меньшее кол-во уязвимостей. Трудно догадаться ? ))

Аватар пользователя Dan Dan 14 мая 2011 в 4:32

С такой формулировкой соглашусь. Однако каково кол-во этих уязвимостей? Очевидно, что при обнаружении очередной бреши, она латается мэйнтейнером и в dev-модуле. То есть что сидеть на деве, что на стэйбле, на котором дыра ещё не обнаружена - разница не большая (но она есть, согласен). Плюс не стоит говорить, что дыры ищутся и находятся только в стабильных версиях. Да, security team, скорее всего, смотрит только стэйбл, но и другие разработчики (которые находят больше дыр) тоже мониторит модули и не только стабильные версии. Другое дело, что тот же друпал не будет верещать об уязвимости, если установлен dev-модуль и сам разработчик об этом может не узнать, если не подписан на securiry-news. Или модуль update вообще может быть отключен. Но это уже из разряда ССЗБ, таких разработчиков как-то и не жалко Smile

С dev-модулями есть и другие проблемы, которые вроде бы очевидны, однако для многих они оказываются сюрпризом - он может перестать работать или может работать некорректно после обновления, т.к. апдейты БД пишуться только для релизов, а для разрабатываемой версии могут только поправить схему и всё.

Аватар пользователя Ильич Рамирес Санчес Ильич Рамирес Санчес 14 мая 2011 в 5:02

"Dan" wrote:
т.к. апдейты БД пишуться только для релизов

не всегда Smile
а работать он может перестать.
таки да. потому -dev и -beta сам не пользую.

ща делаю одну охренительную фичу для своей advimage, например и я бы не стал сам пользовать -dev версию. это то что собирается из git раз в сутки. и ща в данный момент один модуль из набора там поломан Smile
это текущая ветка.

а те кто в танке пусть насласждаются -beta и -dev.

Аватар пользователя restyler restyler 18 мая 2011 в 12:48

"Ильич Рамирес Санчес" wrote:
"Valeratal" написал(а):
тагаделик
ждем блин.

а я из гитхаба утянул, и нормально вроде работает.

Аватар пользователя Valeratal Valeratal 18 мая 2011 в 17:45

надо глянуть

(по сути, для старого проекта, можно теги нарисовать вообще вручную, пересчитывая еженедельно) Smile

Аватар пользователя Valeratal Valeratal 19 мая 2011 в 9:26

модулей нет.
Все настроено на VPS
Технологию Артем описывал на хабре

Данные по ВПС не помню, 4 гига оперативки вроде, и 2 ядра по 2Ггц (но это тоже, надо спрашивать Артема)

Посколько это ВПС, то мне сложно говорить о марке процессора и сервера в настоящий момент.

В общем, не так много ресурсов.

Аватар пользователя Antoniy Antoniy 16 декабря 2011 в 21:53

Под textarea плагина комментариев facebook'а везде:
"Warning: this comments plugin is operating in compatibility mode, but has no posts yet. Consider specifying an explicit 'href' as suggested in the comments plugin documentation to take advantage of all plugin features."

Аватар пользователя Valeratal Valeratal 16 декабря 2011 в 22:45

"Kremenetskiy" wrote:
"Warning: this comments plugin is operating in compatibility mode, but has no posts yet. Consider specifying an explicit 'href' as suggested in the comments plugin documentation to take advantage of all plugin features.

Это не друпал конечно. Но спасибо за багрепорт. Появилось недавно. Наверно Цукерберг чего-то сменил

Аватар пользователя Antoniy Antoniy 17 декабря 2011 в 0:30

ага, за ними глаз да глаз) наверно в Фейсбуке можно подписаться на изменения в виджетах, как "Виджеты ВКонтакте"? чтоб в курсе всегда быть

Аватар пользователя Antoniy Antoniy 7 декабря 2012 в 2:53

Обновил сегодня. Все поля в типах материалов, созданные мной, похерились.. Такого же не должно было быть? Не пойму почему..

UPD: проблема с исчезнувшими полями решается с помощью content_migrate, как описано тут: Migrating D6 Content Construction Kit (CCK) to D7 Fields