Мануал "Начинающему разработчику Drupal" (обсуждение, накопление материала)

Аватар пользователя Orion76 Orion76 27 ноября 2018 в 9:39
2

Предисловие

За последние лет 15, участились случаи "вопросов" на данном форуме по темам

  • Изучение программирования "на Drupal"
  • Организация процесса продуктивной разработки "на Drupal"
  • ... и еще куча подобных

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

Содержание(в разработке)

  1. Сервер
    • OpenServer

      Сайт: https://ospanel.io

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

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

      [Скачать] [Установка] [Документация]

    • Linux
    • .. другие варианты ..
  2. Настройка окружения
    • Вэб-сервер
    • База данных
    • Composer
    • Drush
    • Drupal Console
    • .. другие варианты ..
  3. Установка Drupal
    • Вручную
    • Drush
    • Composer
    • Docker
    • .. другие варианты ..
  4. Базовые модули
    • Контент
    • Администрирование
    • .. другие варианты ..
  5. IDE и редакторы
    • Netneabs
      • Установка, настройка
      • Приемы работы
      • .. другие варианты ..
    • PHPStorm
      • Установка, настройка
      • Приемы работы
      • .. другие варианты ..
    • .. другие варианты ..
  6. Отладка
    • Devel
      • Установка, настройка
      • Приемы работы
    • Xdebug
      • Установка, настройка
      • Приемы работы
    • .. другие варианты ..
  7. Документация
    • Drupal API
    • Form API
    • .. другие варианты ..
  8. Примеры

Накопление базы знаний

Предлагаю "предлагать" материалы и ссылки на материалы для мануала в комментах ниже первого коммента.

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

Дополнительные материалы

Ишью с аналогичной темой в на github.com : DrupalRu

Комментарии

Аватар пользователя Orion76 Orion76 27 ноября 2018 в 9:41

Накопление базы знаний

В ответах на данный коммент публикуются ссылки на комменты-"предложения"

Аватар пользователя Orion76 Orion76 27 ноября 2018 в 9:50

Добавить, удалить раздел в мануал

Ваши предложения, поддержанные сообществом..

Аватар пользователя Orion76 Orion76 27 ноября 2018 в 9:50

Добавить, удалить контент в мануал

Ваши предложения, поддержанные сообществом..

Аватар пользователя ivnish ivnish 27 ноября 2018 в 10:07
1

Я бы убрал Denwer из списка, он давно устарел. OpenServer его на 146% заменяет и не уступает по удобству

Аватар пользователя gun_dose gun_dose 27 ноября 2018 в 11:11

+100500. Кроме того, в опенсервере идёт в пачке куча софта для разработки, это поможет хомячкам встать на путь истинный, а то есть же такие, что хотят код в ворде редактировать))

Аватар пользователя Orion76 Orion76 27 ноября 2018 в 13:25

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

А на данный момент, разница в сложности установки-настройки Denwer и OpenServer большая?

Аватар пользователя gun_dose gun_dose 27 ноября 2018 в 13:31

Я не юзал опенсервер уже больше двух лет. Но вроде там вообще ничего настраивать не надо было.

Аватар пользователя gun_dose gun_dose 28 ноября 2018 в 11:49

Условно портабельный. Есть там некоторые ограничения. Тем не менее, других подобных вариантов вообще нет.

Аватар пользователя Orion76 Orion76 28 ноября 2018 в 14:55

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

Думаю собрать в одном месте все необходимые материалы, а потом скомпоновать их в несколько небольших мануалов, заточенных под четко определенные "случаи", типа:
1.Установка Drupal 8 на Windows.
2. Настройка среды разработки Drupal на Windows.Для чайника.
3. Настройка среды разработки Drupal на Windows.Для суперпрофи.
и т.п. -)

чтобы коротенько, понятно и пошагово.

Аватар пользователя ivnish ivnish 28 ноября 2018 в 17:05

Разработка D8 на windows не очень хорошая затея. Git, composer, drush, всё это отлично работает в Linux и требует плясок с бубном в windows

Аватар пользователя gun_dose gun_dose 28 ноября 2018 в 20:49

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

Аватар пользователя Orion76 Orion76 28 ноября 2018 в 22:42

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

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

Аватар пользователя gun_dose gun_dose 28 ноября 2018 в 22:56

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

Аватар пользователя Orion76 Orion76 29 ноября 2018 в 0:53
1

Да.. это тема для отдельного руководства..
А может даже для нескольких-)
Но в любом случае, она идет после "организации" локального вэб-сервера..

сейчас подумаю, куда добавить..

Наверное пункт 3 ("Установка Drupal") надо переименовать в "Установка нового сайта на Drupal"

А следующим (4-ым) добавить пункт "Перенос сайта с хостинга на локальный сервер"
И рассписать нюансы для каждого типа сервера (OpenServer, виртуалка, докер и т.п.) , способа получения дампа и т.п.

Аватар пользователя ivnish ivnish 29 ноября 2018 в 6:53

Может будем эти руководства на гитхабе писать? Там будет удобно делать Issue и PRы.

Аватар пользователя Orion76 Orion76 29 ноября 2018 в 9:11

На гитхабе имеет смысл делать если там же его и держать (контент руководства)..
а там народу сильно меньше,
Да и зачем с гитхабом поисковым трафиком делиться, он на drupal.ru лишним не будет.-)

Я бы сделал интереснее.
Сделал бы "руководства" отдельным проектом (на drupal 8)..
а потом, когда drupal.ru перейдет на drupal 8 интегрировал бы его в drupal.ru

Как минимум просто на поддомене с сквозной авторизацией.

Как максимум - отдельным "контент-сервисом, который будет отдавать drupal.ru контент по некоему "стандартному" АПИ.
А drupal.ru будет выводить его в нужных местах в "стандартных" стилях.
Заметил в англоязычных интернетах движение в эту сторону, всякие там external-remote entities, remote data sources и прочие rest-graphql АПИ.

ЗЫ.. да и поддерживать небольшие слабосвязанные проекты много проще и легче, чем один проект-монстр.
ЗЫЫ.. а в идеале как минимум еще комменты в отдельных проект-сервис вынес, что-то типа DISQUS и т.п.

Аватар пользователя sas@drupal.org sas@drupal.org 29 ноября 2018 в 7:40

Инициатива хорошая, поддерживаю.
Первые мысли:
- Материала требуется много нужного, значит нужна коллективная работа
- Это база знаний с системой контроля версий со временем будут изменений по новым технологиям

Аватар пользователя Orion76 Orion76 1 декабря 2018 в 5:08

Кандидат в

[Раздел: 6.Отладка.Xdebug]

Xdebug - отладчик(debugger, дебаггер) PHP кода.

Позволяет в поддерживающих отладку IDE (PHPStorm, Netbeans и т.п.):

  1. Установить в нужном месте кода "точки останова"(breakpoint).
  2. Остановить выполнение кода на первой точке останова.
  3. Просматривать во время остановки выполнения кода значения текущих переменных.
  4. Продолжить выполнение кода "построчно" (переходя к следующей строке выполняющегося кода ).
  5. Продолжить выполнение кода до следующей точки останова.

Отличная альтернатива print_r() var_dump() и прочим dpm(), сильно ускоряющая работу (особенно с "чужим кодом").

Полезные материалы:


У кого-то есть возражения, соображения, дополнения?