Приветствую!
Почти год не занимался веб-разработкой, и тут внезапно понадобилось социальный некоммерческий проект замутить.
Сначала вообще стал смотреть в сторону phpBB Но я с ним уже несколько лет дела не имел, к тому же там какие-то непонятки с выбором между 3.1 и 3.2, да и вообще, мне по ходу реализации нужно нормальное облако тегов "из коробки", а там, как я понял, ничего такого не имеется.
И дай думаю загляну на старый добрый Друпал -) А тут внезапно аж 8.2(!!!) уже вышла ))
С восьмеркой вообще дела пока не имел. Почитал отзывы. Сейчас конечно поставлю, потестирую чего и как, чтобы свое представление составить. Но таки вопрос к тем, кто постоянно работает с Друпалом:
- Стоит делать проект на незнакомой 8-ке, или лучше по старинке, на 7-ке?
Поясню: уж больно отзывы о 8-ке страшные))) Типа смастерили какую-то неведому зверушку с непонятным функционалом, к тому же невероятно тормознутую.
Это правда?
И главное: как с модулями? Нет дефицита? В смысле, что вот какие-то важные модули есть только для 7-ки?
Спасибо!
**новый внешний вид друпал.ру - прикольный!))
Комментарии
не занимались год, социальный проект.
имели вы опыт реализации этой задачи?
повторите с теми же ресурсами, друпал 8 не дает очевидных преимуществ для новичков, а опытным все равно надо писать код (но похоже, к друпал 8 у опытных есть доверие, во всяком случае niklan.net подробно описывает разработку, луллаботы компилят друпал 8 https://www.lullabot.com/topics/drupal-development )
с модулями есть дефицит, например, коммерц поставить у меня не получилось, получилось только активировать модуль
если посмотреть, о д8 на тлито пишется
Говоря честно, хотелось до кучи и новинку попробовать но теперь вот выяснилось, что еще и РНР обновить придется, так что буду думать.
Опыт не то чтобы был, но в 7-ке я примерно понимаю как и чего делать, какими модулями и т.п., а в 8-ке я смотрю и файловая структура изменилась, и в админке небось тоже заблудиться можно с непривычки...
Ладно, поживем увидим.
Делать все равно на чем-то надо, мб и на 7-ке сделаю, подумаю еще.
...в общем, не судьба видать - у меня РНР 5.4.19 а надо PHP 5.5.9 (or greater) (http://php.net/). For better security support it is
recommended to update to at least 5.5.21 or 5.6.5.
Всем спасибо за внимание, надеюсь не слишком нафлудил.
Если решусь на обновление РНР еще вернусь в этот топик
Тем не менее, приглашение к дискуссии актуально. Очень интересно мнение тех, кто продвинулся дальше чем скачивание и распаковка архива)
если не решаетесь на обновление, закажите впс на фирствдс за 59рублей в месяц. мне понравилось
Ну я именно там, да )
щасгляну чего и как
спасибо за совет
умелые администраторы могут настроить разные сайты на разные пхп версии, имея несколько.
Если для себя и не спешно, то копайте 8ку. Если на заказ и есть сроки, то 7ку.
Если есть навыки программирования PHP - можно 8ку выбрать.
D7 от D8, отличается чуть менее чем полностью. Не только структура, но и логика работы и принципы подхода и стиль программирования. Из-за этого - да, модулей еще нет множества, т.к. их нужно писать и тестить, практически, с ноля.
Изменения хоть и кардинальные, но, вроде-как, в лучшую сторону (или правильнее в сторону текущих мировых трендов). Хорошо это или нет - решает каждый для себя.
Я так понимаю, что тем, кто в админке кликает, с большего без разницы. А вот тем, кто кодит, надо тысячу раз подумать, прежде чем переходить на 8.
Из админки, сейчас, можно "накликать", но, в основном, только примитивные сайтики (относительно 7ки, но как всегда больше чем в других CMS).
Тем кто кодит - да, нужно сначала перечитать все об изменениях и "на кошках" потренироваться. 7 -> 8 это совсем не 6 -> 7.
Материал появляется, и с каждым днем все больше. Это радует и проясняет перспективу.
Друпал 6 и 7 - для высоко-нагруженных проектов. Это БМВ и Мерседес.
Друпал 8 - Скромно так - Бентли.
-----------------------------------------------------------
Для ваших задач вполне подойдёт что либо из distribution
В Хроме включите гуглоперевод и внимательно читайте описания к дистрам. Выбирайте наиболее подходящий вам по функционалу, теги три дэ и прочие, устаревшие плюшки можно натаскать модулями сверху
Человек собаке друг. А восьмерка как единорог. Что то в ней делать удобнее, чем в семерке, что то упирается в знания php. Потом се равно с семерки мигрировать. Так шта бери восьмерку за булки и ковыряй.
Или бери backdrop cms, она няшная) Это форк семерки , благодаря которому восьмерка вообще взлетела.
Backdrop - форк уже 8ки, только ещё той, которая Drupal'ом была (до решения о переводе на Symfony).
Весь вопрос в требуемом функционале. Вначале изучите коробочные возможности новой версии. Ставить так вопрос неверно в корне. Многих модулей под восьмерку вы и не найдете, так как они уже вошли в ядро.
Аж пять штук да? А остальные 10000 за два с лишним года так и остались в Семёрке.
Точно не считал, но очень мощные. По вашему опыту - сколько тысяч модулей вы использовали на практике, примерно?
На заре деятельности ставил 450, и сайт традиционно слетал. Пока дают - надо брать, потом не будет.
Поясните пожалуйста, не понял тезис.
Каюсь, я немного гиперболизировал данный тезис. Если не ошибаюсь, от контрибуторов backdrop cms были патчи на восьмёрку, благодаря чему она работает относительно шустро при всей своей тяжеловесности. Под
"взлетела" я подразумевал скорость восьмерки, а не факт ещё рождения вообще. Если я каким- то образом ввёл читателей в заблуждение, то прошу понять, простить и угостить печенькой, дабы я, увлеченный сладостью не писал глупостей.))
Если вы программист - берите 8-ку
Там паттерны от симфонии самые модные.
Ремарочка: программист пхп, с опытом на фреймворках
И сколько таких среди drupal разработчиков в процентном соотношении?
Было бы очень интересно посмотреть на такую стату!
Жаль, не уверен, что кто-то проводил исследования...
Но! Я, почему-то, твердо убежден что для Drupal этот показатель куда-выше, относительно других CMS.
Drupal, прям всей своей сущностью "кричит" и мотивирует учиться программированию
Давайте не будем путать программирование на друпал с программировпнием на фрэймворках
На самом деле, к Drupal можно подходить с разных сторон, одна из которых - "Drupal = фреймворк".
Есть еще "Drupal = CMS" - для простых кликкеров.
И "Drupal = CMF" - для профессиональных кликкеров с навыками программирования.
Тем не менее, в семёрке не так много стрелочек, а двойных двоеточий я в ней вообще не встречал
Потому что D7 более процедурная, но ООП в ней тоже не мало. Тот же Views, например...
с опытом ООП
Поддерживаю на 146%, причем понимание утверждения "Drupal = фреймворк" приходит только по мере профессионального роста, и практически недоступно "кликерам" и даже "профессиональным кликерам".
Когда начинаешь испытывать удовольствие от того, что у тебя в руках очень удобный инструмент не только для создания банальных сайтов, но и любых других приложений. Когда понимаешь, что 80% самой неблагодарной черновой работы уже сделано за тебя, и тебе остается только сделать свою часть работы (бизнес-логику, какой-нибудь хитрый ввод-вывод и т.п.). Когда понимаешь, что на Друпале ты уже сделал приложение и отдал на заполнение реальными данными, а на каком-нибудь сраном ларавеле ты все еще сидишь и пилишь CRUD и подобие админки.
Есть ещё достойная когорта "Суперкликкеров" и они исправляют многокосяков псевдо-кодеров, которые освоив один виртуозный шаг, начинают лепить костыли где ни попадя, а назавтра идут смело в бой со своими же костылями. Внешне это выглядит как РАБОТА.
Но к работе имеет очень слабое отношение, и только умнейшие и опытнейшие люди заметят откровенное вымогательство и саботажъ.
Важный навык. А то бывает, что-то не так работает, погрузишься в код с фронтенда, пролезешь через все его глубины и вылезешь в админке возле нужной галочки))
В общем, взял я новый сервер, там 7-я РНР, поставил сейчас Drupal 8.2 (прямо с встроенных в админпанель скриптов провайдера).
Зашел в админку, оно хочет обновиться до 8.2.1, и знаете что меня поразило больше всего? - они так и не сделали автоматического обновления ядра. Ну, казалось бы, в том же WP уже тыщу лет подобная фича, ан нет...
Полазил по админке. Навскидку - друпал как друпал.
В общем, я так понял, что новая версия - это для разработчиков важно: ООП + шаблонизатор.
А если просто сайт нужно сделать из готовых модулей - то это без разницы 7 или 8.
Господа, я правильно вкурил суть ситуации?
То есть для нужд обыкновенного сайтостроителя вроде меня, никакого смысла в переходе на 8-ку пока нет, так?
Drupal 8.2 settings tray https://www.youtube.com/watch?v=yqmAvOA8MS0
Drupal 8.2 block placement https://www.youtube.com/watch?v=Osbegr_d_GY
Inline Editing https://www.youtube.com/watch?v=N0v9_IQJjzE
и остальное включая сontent moderation https://www.drupal.org/blog/drupal-8-2-0
Лично для меня всё перечисленное - это эдакие рюшечки, которые могут быть важны разве что для совсем "новообращенных" -)
Собственно, на них они и рассчитаны.
А смысл делать обновление из админки, если есть drush? Залогинился по ssh, запустил drush up и всего делов. Всяко быстрее, чем по админкам лазить.
А смысл лезть в ssh если можно тупо повесить обновление на крон?
Так просто нельзя делать, в сколько-нибудь сложной системе, если вам надо, чтобы она не отвалилась с очередным запуском крона.
Вешать надо не на друпаловский крон, а на системный линуксовый. Если заморочиться, то можно добавить в скрипт, запускаемый по крону, автоматический откат на бэкап при наличии определённых ошибок в журнале или логах сервера.
Определённых?
Ничего, что для этого будет мало даже полного покрытия тестами друпал, всего используемого контриба и пачки своих тестов?
В реальности такие вещи не сильно хорошо автоматизируются. По крайней мере не так.
Ну да, логично))
для вас появится смысл, когда для Д8 будут разработаны очень много полезных модулей, от которых вы не сможете отказаться, и конечно, если к тому времени ваш проект останется в стадии "поддерживается, обновляется и улучшается".
если вы не планируете два-три-четыре года обновлять, дорабатывать, улучшать проект, то пользуйтесь тем, что доступно на данный момент - друпал 7
>> для вас появится смысл, когда для Д8 будут разработаны очень много полезных модулей, от которых вы не сможете отказаться
ну, это да, согласен
после восьмерки на семерку уже не затянет, хотя и будет искушение по началу
Мне нравится, как сделано обновление в PIWIK
1) Насяльнике, обнова вышла!
2) Нажимаешь "обновить"
3) Он качает новую версию, распаковывает
4) Предлагает обновить БД, обновляет, если нужно
5) ...
6) PROFIT
Ждал подобное в восьмерке
друпалу во многом еще далеко до удобства того же ВП, но драш конечно выручает.
Но вп-разработчиков конечно же не беспокоит, что он построен на миллионе разнообразных функций, выстроенных в спагетти код и работающих какой то магией. В этом плане D8 в плане организации кода и архитектуры намного логичнее и доступнее для восприятия разработчику.
Много проектов делали на WP? Количество функций в коде ядра и практически полное отсутствие ООП вас это сильно беспокоит, когда вы работаете с семеркой? К тому же сейчас в ВП все больше классов появляется. Вообще главное - решение задачи клиента, если его все устраивает, сайт быстрый, безопасный и функциональный, то он меньше всего беспокоится, в каком стиле программирования реализован его проект.
Ответ в стиле битриксоидов. Работал я и с вп и с битриксом и даже сталкивался с джумлой, но даже 7 drupal не лежал рядом с ВП кодом.
Ответ в вашем стиле) Но пока факт остается фактом - друпал уныло плетется позади вепешки на рынке. Считаю, нужно критиковать друпал как можно больше, чтобы он становился лучше, глядишь, и добавят функцию автоматического обновления ядра из админки. Вот драфты же добавили в 8.2.0 и выдают за достижение)
Скажите, пожалуйста, как вы пользуетесь drush в организационном плане? Вот скажем, сделали сайт заказчику, поддерживаем на его сервере. Сервером правит Админ. Он говорит - никаких драшей ставить не буду и вам не дам, о SSH и не мечтайте. Или же на хостинге - FTP и PHPmyadmin и крутитесь как хотите. Вот кстати недавно наткнулся на модуль https://www.drupal.org/project/rdrush , не от хорошей жизни видимо.
Я драш использую относительно недавно и только в процессе разработки. Им удобно быстро обновляться и делать бекапы, скачивать и ставить модули, особенно для восьмерки с ее тысячами файлов. Работаю в компании, которая располагает собственными серверами для разработки, что делают с готовыми сайтами клиенты, как они их обновляет - их проблемы.
Даже в своей компании могут не дать доступа. Мало ли что вам удобно, а вдруг сервер взломают. Это надо еще обосновать и убедить. На одном сервере админ запретил даже устанавливать модули из админки, а вдруг?
Насчет "их проблемы" - как-то жестко. Вот, скажем, вы сделали сайт и отказались от поддержки. А меня нанял заказчик поддерживать его. Для простоты - только обновлять новые версии ядра. И вот приходится только облизываться на драш и тупо копировать через FTP. Но с семеркой хоть как-то еще можно было, а вот что делать с 8-кой - вопрос.
Что-то я не пойму куда вы клоните. Ну если у вас нет возможности работать через драш на том или ином хостинге - обновляйте вручную. Я так делаю на своем блоге, например, конечно, было бы удобнее все это делать, нажав кнопку в админке, как в ВП, я об этом выше написал, только за, если друпал дорастет до такой функции.
Получается, что drush ничем не выручает. Можно считать, что его нет, зачем упоминать. В D7 кнопки вряд ли уже дождемся, посмотрим что будет в D8
Ну если бы он не выручал, его бы никто не юзал) На работе экономит кучу времени на друпал-проектах. Под восьмерку еще есть интересный проект https://drupalconsole.com/, но до него еще руки не дошли.
Полезная штука, кто же спорит. Спасибо за ссылку!
Что за бред? Если заказчик не даёт доступ по ssh, пусть идёт в пень. С такими лучше не работать никогда. Более того, нет ни одного более надёжного способа доступа к хостингу, чем SSH. Один раз добавили ключ, и всё, можно сменить пароль, но вы сможете заходить только с одной и той же машины.
Опять же, как без SSH пользоваться гитом?
И вообще, как без гита, фич и драша можно делать стэйджинг на живом проекте?
Я пока не в том положении, чтобы разбрасываться заказчиками. Но буду работать в указанном направлении. С SSH, git знаком, но как писал выше, речь об организационных вопросах, не технических. Вы вероятно, работаете на крупных проектах, со множеством соразработчиков; может на западных заказчиков. Угадал? У меня уровень попроще
В моих проектах разработчиков от одного до двух)) Достаточно один раз развернуть сайт на хостинге с помощью гита и один раз внести в него изменения через гит, чтобы раз и навсегда отказаться от перетаскивания изменённых файлов через фтп.
Репозиторием для git у вас служит сайт целиком или какая-то отдельная директория (например, /sites)? Я так понимаю, вы делаете сабмит в предварительную версию (stage), по аналогу в dev-версию модуля на drupal.org
У меня обычно сайт целиком. А предварительная версия - это любой свой хостинг, не работать же сразу на хостинге заказчика.
Нужно разделять понятия, разработка и продакшн - две разные вещи.
Разработчик у себя делает работу - результат фиксирует и отдает на внедрение.
Админ может принять, проверить на тестовом стенде и выгрузить в продакшн.
Разумеется, все изменения - в файлах, у 8-ки, это еще и конфиги настроек, которые импортируются в бд.
Разумеется, присутствует система контроля версий.
CLI незаменим - примите как факт.
Общаться с продакшн по фтп с админ правами == показывать свой пасс в открытом виде.
Только ssh туннель, используйте ключи для авторизации, используйте файлы сертификатов, понизьте права пользователя под которым делаете деплой до минимально возможных.
Объясняйте своему ЛПР, что такой вариант ведения работы повышает стабильность и безопасность продакшн.
В ходе беседы, не забывайте про законы, регулирующие работу с личными данными.
Если сомневаетесь в компетенции сис.админов сервера - обсудите с ними проблемы, в случае подтверждения опасений, просто уходите,
потакать глупости - себе дороже.
А если вообще все сложно и грустно - пройдите обучение у AWS, и принимайте клиентов на своей площадке))))
Спасибо за советы, буду думать
Запретить вход по паролю,
Запретить вход админа...
В конфиге ssh много интересных опций)))
ну так а я о чём?))
Как я понял написанное "сменить пароль" - то о смене пароля
Я же говорю - идем еще дальше)
Не сменить а запретить вход с паролем)))
PasswordAuthentication no
Ну да, чтобы можно было только с ключом. Тогда всякий левый сброд ни в жизнь не заломится.
Продолжаю делать проект на 7-ке.
Сейчас настраиваю удобную регистрацию. Смотрю модули на Друпал.орг.
Так там почти все интересные модули:
This module has not been ported to Drupal 8. Refer to this issue to find out its progress.
вот и ответ на вопрос из сабжа.
Говоря честно, есть у меня подозрение, что 8-ка - мертворожденная.
Это вроде как с 8-й виндой приключилось в свое время.
Типа ждем Друпал 9
не, просто многие модули сильно меняют структуру и название. так что "хвост" не портированных конечно будет большой. Посмотрите сколько всего пишут под d8, огромный список: https://www.drupal.org/project/project_module?f%5B0%5D=&f%5B1%5D=&f%5B2%...
Только за вчера и сегодня > 25 модулей обновились (есть билд).
Не очень понятно, откуда сваливать - не брать заказы у клиентов, которые не предоставляют SSH или вообще с работы? Хорошо, вот в половине случаев предоставляется SFTP - это же побезопаснее будет; но гит и драш не будут же ставить все равно копировать файлами. Не годится, да?
Да, надо ценить себя, согласен. Насчет опыта - думал до этого момента что какой-то есть, но может неправильный. Спасибо за советы.
Гит из коробки поддерживается почти на всех шаред-хостингах, на впс гит ставится yum install git, и точно так же ставится драш. На шаред-хостинге с драшем можно помучиться, но и там не всё так страшно, один раз поставишь, потом просто надо скопировать эту папку и юзать на всех остальных проектах.
на shared крайне редко предоставляется ssh, и соответственно гит.
хз, приходилось работать с разными шаред-хостингами, только на одном не было ssh - решилось выставлением галочки в админке хостинга. Гит на шаредах был везде, где я пытался им воспользоваться. Причём это на самых обычных тарифных планах типа XS от регру.
да шож вы замученные то такие)))
composer require drush/drush:dev-master
добавьте vendor/drush к PATH в .bashrc и ни в чем себе не отказывайте))))
Ага, только это надо, чтобы композер был на хостинге, а вот его на шаредах уж точно не бывает.
это всего-лишь php скрипт...
как и drush...
Это что это за шареды у вас такие, что там php не работает, а?
)))
К слову, на хабре вчера видел стаейку - классно написали - читать всем, кто в танке:
Разработка → Drupal Composer рецепты
Нашел наш тестовый шаред (российский хостер), на двух тарифах SSH нет, у нас оказался. Вошел в SSH, гит уже установлен, причем русифицированный. Драш следующим этапом. Операционка стоит FreeBSD 10.3 - это хорошо?
Технические вопросы мы так или эдак решим, в крайнем случае пригласим сисадмина. Непонятны бизнес-процессы.
Вот у себя на dev-сервере все настроили, и драш и гит. Сделали сайт, отдали заказчику. Как быть с поддержкой? Заказчики разные - крупные и мелкие. У крупных свои сервера и злые админы; у мелких - дешевые шареды. Даже если везде дадут добро на SSH, это везде самим конфигурировать. Или же соглашаться на поддержку только на если клиент будет размещаться на нашем сервере?
Не тебе ж ее админить так что без разницы.
тебе только баш, гит и php скрипты нужны
убедиться что все работает - git composer drush drupal-console vim
проверить - все ли нужные версии и расширения php в наличии - и с софтом все в порядке.
А вопросы железа, ограничения хостера - тут уж никто не подскажет,
разве-что у кого опыт с этим хостером был.
Есть разница, кто-то же должен ставить гит, драш. Мало что понял из ответа, честно говоря.
админы хостинга уже установили веб сервер, почтовый и БД, git, php, и тд, - в bsd это порты, в линукс -это пакеты -но это системное администрирование - и оно целиком на плечах админов вашего шареда - это не ваша забота.
вы, же работаете там своим пользователем (не root) - и эти программы не ставите, а используете - как и другие ваши соседи по серверу.
так, как что bsd - unix подобная, что linux - unix клон - вы как обычный пользователь - особой разницы не почувствуете))
у вас есть командный интерпретатор - читай консоль(возможно sh - хотите bash - наберите в консоли bash) и набор стандартных утилит, таких-же как и у линуксоида.
вы ставите только необходимые вам скрипты:
в папку веб сервера - скрипты вашего сайта
в свой домашний каталог - тот-же composer, drush, drupal-consolе, чтоб удобно было обслуживать вашу drupal инсталляцию.
Другое дело, что если у вас с этим сложности - вам нужно обратиться к своей СТП и попросить их помочь поставить вам тот-же drush или composer.
p/s
знакомство с *nix лучше начинать не на продакшн,
никто не мешает на домашней машине поставить virtualbox
а в него linux mint, как самый дружелюбный для пользователя
берите с cinnamon или xfce - они полегче.
Спасибо за развернутый ответ! Получается, что для сайта, кроме друпал-скриптов, нужен еще и вышеперечисленный инструментарий тянуть. Все же, не пойму - это работа для разработчика или нашего админа? Просто я как-то всегда разделял прикладное программирование и системные вещи, а выходит что настоящий друпалер должен владеть всем.
Drush я установил на тестовом сервере, без composer, будем пользовать. Кто такой СТП - не осилил. Не пойму, для каких целей на локальный компьютер ставить *nix, вот сейчас сижу на Win10, есть bash, git, winscp, putty.
Я отношу это всё к настройке окружения, а продакшн или девелопмент на локали - не суть важно. И всё это на совести разработчика, т.к. это его личный инструмент. Сантехники же носят свои гаечные ключи на вызов, а чем программисты хуже?
Скоро на Авито, "САЙТ НА ВОСЬМОМ ДРУПАЛЕ ЗА 1000 РУБЛЕЙ!!" ))
Если не брать хостинги в РБ.
То у соседей есть виртуалки по цене шаредов в РБ. Поэтому вопрос с консолью отпадает сам собой
Нынче грамотный народ на шареды без ssh и не смотрит,
так что, если нет особых необходимостей и сверхнагрузок - зачем адиминить систему - пусть хостер работает))
Тот-же hostiq украинский многим для среднего и малого бизнеса - за глаза.
И таких хватает.
Ну будет вместо юма какой-нить апт-гет или ещё что-то, какая разница?
Лучше формат цэ и сразу основной системой, а то так ничему и не научишься.
Хорошо, спасибо за помощь!