Хотелось бы получить помощь от сообщества

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

Аватар пользователя oploshka oploshka 23 марта 2015 в 11:29

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

Немного о создаваемом модуле:
На данный момент это не совсем модуль, а просто скрипт который позволяет быстро установить необходимые модули на текущий сайт. Предпосылками же создания такого модуля стали многочисленные взломы сайтов и чтобы не проверять все модули зараженного сайта, они просто скачиваются по новой. В данный момент уже есть прототип этого скрипта (не знаю изобретаю я велосипед или же что то новое). Многие могут сказать что есть Drush, но для новичка это не совсем то (на мой взгляд) и он требует shh (обычно всего этого добра не всегда бывает). Данный скрипт, не является безопасным в плане взлома и имеет ряд уязвимостей, по этой же причине я его не буду сюда выкладывать. В принципе я откажусь его выкладывать вообще если не найду поддержки в сообществе. Наверно для большей замонухи скажу что так же в скрипт будет интегрировано обновление ядра (данный скрипт уже был реализован, но он написан довольно таки кривовато). В итоге получаем, для установки ядра + 10 модулей нам необходимо 5 минут и нет необходимости искать модули на друпал или держать кучу готовых ссылок. Возможно все это и останется скриптом, так как обновление ядра из модуля друпала кажется опасной процедурой.

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

Разное - по данным модулям отсутствует описание и группа не определена
Rules, Panels, Similar By Terms, Custom Breadcrumbs, Automatic Nodetitles, Internationalization, Context, Page Title, Display Suite, Strongarm, Superfish, Calendar, ImageCache Actions, Feeds, Media: YouTube, Node clone.

Поля - возможно у кого то есть дополнение в эту группу
Date, Link, Email Field, Address Field, Field collection, References (Node, User), Autocreate Node Reference, Node Reference Create, URL (без описания), Image URL Formatter, fancyBox, Field Group, Hierarchical Select, Multiupload Filefield Widget, Multiupload Imagefield Widget, FileField (без описания).

Дополнительные - по данным модулям отсутствует описание и группа определена возможно не совсем корректно
Chaos tool suite (ctools), Token, Libraries API, Entity API, jQuery Update, Content Construction Kit (CCK), Entity reference, Transliteration, Variable.

Веб форма - возможно есть чем дополнить
Webform, Webform Ajax, Webform Validation, Webform MySQL Views, Webform Report, Webform Rules.

Администрирование - описание отсутствует, так же хотелось бы дополнить эту группу
Administration menu, Backup and Migrate, Module Filter.

Тектсовые редакторы - хотелось бы дополнить эту группу, возможно удалить какой то из модулей
Wysiwyg, CKEditor, IMCE Wysiwyg bridge, GeSHi Filter.

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

Блоки - описание и дополнительные модули
Block Class, Menu block.

Меню - описание и дополнительные модули
Menu attributes, Taxonomy menu.

SEO - описание и дополнительные модули
Pathauto, Metatag, Pathauto, XML sitemap, Redirect, Global Redirect.

Представление - описание и дополнительные модули
Views, Views Slideshow, Better Exposed Filters, Draggableviews.

Администрирование- описание и дополнительные модули
Administration menu, Backup and Migrate, Module Filter.

Немного наглядности.
как все это выглядит:

как выглядит описание модуля:

Вывод в консоль браузера (установка трех модулей Webform, Webform Ajax, Webform Validation):

результат 3 архива скачены и разархивированы (хотя на данном этапе есть баг)

Хотелось бы получит коментарий типа:
категория Блоки, название модуля image block и если не жалко то немного описания (позволяет создавать блоки с изображениями)
Или Модуль Custom Breadcrumbs должен быть в категории Хлебные крошки (в категории должно быть минимум два модуля, исходя из этого не плодил категории).

Комментарии

Аватар пользователя oploshka oploshka 23 марта 2015 в 12:04

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

Аватар пользователя oploshka oploshka 23 марта 2015 в 12:51

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

Аватар пользователя oploshka oploshka 23 марта 2015 в 13:38

Дополню предыдущий комент. Когда ты начинаешь изучать drupal ты в принципе не знаешь какие модули есть (хотя я до сих пор нахожу модули которые можно использовать). Взять тот же вордпресс, там есть тупой банальный установщик модулей с их поиском. Тебе не надо искать в гугле и где то еще модуль. Ты просто ищешь в админке и устанавливаешь его сразу (зачастую описание доступно на английском, но это не такая уж беда). В друпале этого нету и по началу я не использовал модуль Block Class, а просто привязывался к id блока в css, ничего страшного, но через некоторое врямя понять где block-1, а где block-12 становится затруднительно. По началу я наверно очень много и часто изобретал велосипед... Даже смотреть страшно на прошлое. Ну и напоследок, вордпресс хороший блог, но для сложных вещей он слишком сложен или дорог, или мы просто привыкли к drupal...

Аватар пользователя Chyvakoff Chyvakoff 23 марта 2015 в 14:54

"oploshka" wrote:
чтобы не проверять все модули зараженного сайта, они просто скачиваются по новой.

А если предыдущий программист похачил ядро и контриб модули?

Пробовали [module=hacked] + [module=diff]?

По теме конечно бредово это смотрится...
Скачивайте сайт клиента к себе, где у вас есть драш, ssh и всё что необходимо. проверяйте и ставьте диагноз.
Перезалить все модули-хрень, имхо.

Аватар пользователя gun_dose gun_dose 23 марта 2015 в 15:32

на 7 друпал модули прекрасно ставятся без доступа к фтп. Но в качестве гайда для новичков может и полезная штука, хотя не факт.

Аватар пользователя oploshka oploshka 23 марта 2015 в 15:55

Ставятся они после того как друпалу подсунешь ссылку на модуль, а это все время и лишние клики. Данный же скрипт скачивает указанные модули после установки ядра (причем так же думаю будет возможность скачать ядро). Да нету смысла его держать для добавления одного-двух модулей. Смысл при установке ядра, его обновлении и при первой установке модулей. Тоесть залить друпал 1 минута, причем неважно какой у вас интернет, скачать пачку модулей: views, block class, image block, capcha pack, web form, web form ajax, Path Breadcrumbs, CKEditor и тд тоже 1 минута. итого 3 минуты чтобы включить все нужные модули и все это работало, когда у вас изначально ничего нету на фтп.
Чуть позже проведу тесты, когда будет написан модуль сколько займет установка друпала со всеми модулями.

Аватар пользователя oploshka oploshka 23 марта 2015 в 15:37

Действия после того как вам убили сайт (упущу смену паролей и резервные копии).
Вытаскиваем БД, проверяем ее на наличие php скриптов и прочего (актуально если модуль php filter включен).
Вытаскиваем папку /sites и удаляем все несамописные модули. Это все что нам нужно проверить. Больший размер будет у папки /sites/default/files, но тут можно пройтись через расширение файла или посмотреть глазками.
sites/all/libraries тоже не плохо было бы обновить и не мучатся проверять.
В итоге отсутствует необходимость проверять все. В любом случае придется смотреть самописные модули и тему, но их обычно бывает не больше 5, если конечно их не плодить с бешеной скоростью. По факту обычно их 1-2. А тех кто правит чужие модули, необходимо убивать сразу (при том что эти правки все равно слетят после обновления).
Пробовали hacked + diff?
у многих данные инструменты вызывают непонимание чего от них хотят чтобы вся это заработала. Про это слышал, но не пользовался. В данном случае прибегал к "Сканер AI-Bolit", чего вполне хватает если не сканировать им все подряд. Хотя в любом случае, необходимо посмотреть все глазками.

Аватар пользователя oploshka oploshka 23 марта 2015 в 17:38

Подведу примерный итог по времени в 10 минут при работе на денвере:
- Создание Базы данных (домен был уже создан).
- закинуть файлик инсталяции и открыть его в браузере.
- Установка друпала (около 30 секунд ожидания, денвер не настолько быстр, больше тупит при разархивировании)
- Переместить друпал в корень (не реализовывал автоматический перенос)
- Не спеша выбираем модули. Я выбрал их порядка 35 штук (если не ошибся при подсчете и ориентировался на сайт сложностью выше средней) Перечислю нужные: Administration menu, Block Class, Webform, Webform Ajax, Menu attributes (на всякий случай), Multiupload Imagefield Widget, Date, Email Field, fancyBox, Field Group (модуль для удобства, на любителя), Localization client, Localization update, Views, CKEditor, Path Breadcrumbs, Pathauto, Transliteration, Metatag, XML sitemap.
Возможно из этого набора что то точно не надо: Chaos tool suite (ctools), Token, Libraries API, Entity API, jQuery Update, Content Construction Kit (CCK), Entity reference, Field collection, References (Node, User), Autocreate Node Reference, Node Reference Create, Better Exposed Filters, Automatic Nodetitles
особо ненужные: Menu block, Block Group, Multiupload Filefield Widget,
Да, не все они нужны, но порядка 20 модулей ставится на нормальный сайт. (пусть я выбирал их даже около 3х минут, но они были у меня перед глазами и мне не нужно было вспоминать и откуда скачивать). Дальше установка друпала, все прошло нормально. Осталось только включить модули по мере их необходимости.
Скачивание дополнительных библиотек не реализовывал.

Аватар пользователя andribas@drupal.org andribas@drupal.org 24 марта 2015 в 11:43

"Хотелось бы попросить у сообщества помощи с модулями"
"Не спеша выбираем модули. Я выбрал их порядка 35 штук"

Здравствуйте, Андрей! А по какому принципу вы их выбирали?

я бы обязательно обратил внимание на:
Project Information (Maintenance status, Development status, Reported installs) - сколько ставят, активно ли поддерживают, не заброшен ли.
наличие 8.x ветки в cgit - пример http://cgit.drupalcode.org/media_youtube/ - легко ли вам будет мигрировать, бывает что одно и то же решает 2-3 похожих модуля, но 8 версию обещают только 1-му
связанность (ну или зависимость модулей)- что будет если выкинуть token, admin_menu?

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

про drush вам уже писали - поставить модуль им проще всего. также бывает нужно поставить именно dev версию к примеру - в вашем скрипте это предусмотрено?
еще пару комманд и сразу перевод скачается и поставится)
перед обновлением drush всегда покажет нужно ли БД вообще обновлять - часто и не нужно бывает.

а вот drush make мне лично не понравился) хоть и умеет многое, но git лучше.

и вот это

"Chyvakoff" wrote:
Скачивайте сайт клиента к себе, где у вас есть драш, ssh и всё что необходимо. проверяйте и ставьте диагноз.

очень правильно советуют.

Аватар пользователя oploshka oploshka 10 ноября 2015 в 11:50

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

"<a href="mailto:andribas@drupal.org">andribas@drupal.org</a>" wrote:
наличие 8.x ветки в cgit - пример http://cgit.drupalcode.org/media_youtube/ - легко ли вам будет мигрировать, бывает что одно и то же решает 2-3 похожих модуля, но 8 версию обещают только 1-му

Наверно подсказать правильный выбор модулей, которые необходимо или желательно использовать при установке, так как держать в голове (допустим 100 модулей, если не больше) не всегда возможно.
"<a href="mailto:andribas@drupal.org">andribas@drupal.org</a>" wrote:
также бывает нужно поставить именно dev версию к примеру - в вашем скрипте это предусмотрено?
Ставится актуальная версия, но если немного заморочиться то вполне реализуемо (хотя не вижу смысла для этого, если это нужно для одного модуля).

Подведу некоторый итог.
1. Данный скрипт не заменяет drush, drush хорошо, но пользоваться им новичку без знания модулей будет сложновато.
2. Отсутствие танцов с бубном если у вас нету shh. (ставить сначала на сервер с доступом shh, а потом копировать ручками).
3. Некоторая наглядность, того что будет ставится и спасибо за идею andribas@drupal.org, того что лучше поставить из 2-3 похожих модулей.
4. На данный момент скрипт будет реализовывать начальную установку файлов друпала и модулей (версия рекомендуемая) с интерфейсом.

Ну и для большего понимания выложу промежуточный огрызок.
Друпал разархивируется в папке /drupal-7.x
Модули разархивируется в папку /module_new строка 67 для правки данной папки

Аватар пользователя Skeptik Skeptik 2 мая 2015 в 15:32

Огромное спасибо за скрипт! У меня на сервере несколько друпаловских сайтов и отвратительный FTP. Обновление модулей обычно проходит быстро и без проблем, поскольку друпал их сам закачивает и распаковывает во временную папку. А вот обновление ядра, закачиваемое вручную по FTP, каждый раз оборачивается основательной головной болью. Один сайт обновляется, а с остальными приходится играться, порой, пару суток - пока восстановишь из бекапа, пока поновой зальешь и т. д... При этом техподдержка ничем помочь не может - мол, раз 500 ошибку возвращает CMS, значит проблемы не у нас - обращайтесь к разработчикам...
По SSH закачивать - это тоже трата времени (не говоря уже о том, что мой хостер, например, для подключения SSH требует пройти верификацию). А тут обновил ядро у трех сайтов и на каждый ушло всего по 2-3 минуты! В общем, большое человеческое спасибо oploshka за вашу работу!
P.S. Было бы здорово добавить в скрипт индикацию выполнения процессов скачивания и разархивирования. А то после нажатия кнопки "Начать скачивание" вроде как ничего не происходит, и не ясно, можно ли уже забирать папки и файлы, или еще не готово.

Аватар пользователя oploshka oploshka 5 мая 2015 в 13:28

Всегда пожалуйста. На данный момент на все нету времени и пока что скрипт собран кое как во вторую версию (первая была без интерфейса вообще и не позволяла скачивать модули, а вторая задумывалась только скачивать модули, но не все получается как мы задумываем). В принципе вы можете сами переписать js и сделать правильную отправку ajax + отчет о скаченном модуле и если не ошибаюсь то в консоль браузера выводятся сообщения.
Чуть не забыл
НЕ ХРАНИТЕ СКРИПТ НА СЕРВЕРЕ ОН НЕ БЕЗОПАСЕН!!!