Создание Sandbox проекта модуля на Drupal.org

Создание Sandbox проекта модуля

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

Итак, для чего же нужны собственные модули, да и вообще аккаунт на Drupal.org? Я тоже об этом не заморачивался до определенного момента. Потом начинаешь понимать, что на сайте можно отыскать решение большинства проблем. Далее появляется желание поделиться какими-то собственными наработками – «а чо, я хуже других чтоле?». Да и в последнее время намечается такая тенденция, что коль назвался Drupal-разработчиком, то будь любезен предоставить профиль на Drupal.org. Поэтому, чем больше у вас активности в профиле (ответы в issue, commit’ы в модули), тем лучше ваше портфолио как разработчика.

В любом случае, советую завести аккаунт – возраст аккаунта также является показателем. Ну а если, вы созрели для того, чтобы выложить свой код на Drupal.org, то читаем далее – я постараюсь в деталях рассказать на своем примере. Вообще вся документация есть на официальном сайте, но ее бывает не всегда просто найти и она на английском языке. Поэтому возьму на себя смелость сделать мануал с программой «минимум» для получения аккаунта разработчика.

Настройка аккаунта

После регистрации на сайте вы по желанию можете заполнить личную информацию, оплатить 15$ для получения лейбла «Individual member of the Drupal Association», но что необходимо сделать обязательно – так это разобраться с настройками Git. Надеюсь, от слова «Git» мой читатель не упал в обморок и уже плотно знаком с ним.

В табах редактирования профиля находим «Git access»: в предоставленной форме вам необходимо указать Git username, который навсегда будет закреплен за вами без возможности редактирования. После сохранения формы вам будет выведена страница с соглашением и рекомендациями по конфигурации Git-пользователя. Указывайте рабочий e-mail, чтобы разработчики, с которыми вам придется работать, могли всегда связаться с вами!

Настройка Git на Drupal.org

Не лишним будет сгенерировать SSH-ключ для авторизации без пароля при подключении к Git-репозиторию. Через форму «Add a public key» добавляем свой Public Key – эти настройки можно редактировать, так что не переживайте, если где-то допустите ошибку.

SSH Keys

Материал на Drupal.org: Obtaining Git access.

Создание проекта

Теперь можно переходить к созданию проекта под модуль. Но хочу сказать, что существует 2 типа проектов:

  • Sandbox project – так называемая, «песочница». Изначально ваш аккаунт позволяет создавать только этого типа проекты. Песочница создана для первичной разработки новых модулей, для начинающих разработчиков с целью не засорять Drupal.org.
  • Full project – полноценные проекты модулей. Именно этот тип проектов вы привыкли видеть при скачивании модулей. Важно понимать, что, переводя модуль в Full project, вы берете на себя определенную ответственность за работоспособность кода и должны отслеживать Issue. Для получения возможности создания Full project вам необходимо будет доказать сообществу, что вы не говнокодер, и пройти разовое ревью кода. Об этом подробнее будет в следующей статье.

Материал на Drupal.org: Creating a sandbox (experimental) project.

Хорошо, начнем с создания Sandbox project:

  • Переходим на страницу добавления проектов и выбираем Module project;
  • Заполняем поле Name – выбирайте уникальное название для модуля. Вообще перед созданием какого-либо проекта рекомендую проанализировать все существующие решения, чтобы затем в поле Description помимо описания указать преимущества вашего модуля.
  • Из обязательных полей еще необходимо указать Maintenance status и Development status, чтобы пользователи, использующие ваш модуль, понимали в каком состоянии находится ваш проект: «активная разработка», «только поддержка», «без последующих доработок» и т.д.
  • По желанию можно добавить несколько тегов через поле Module categories;
  • Сохраняем!

После сохранения вы должны будете увидеть следующую картину: страница проекта создана, Git репозиторий инициализирован.

Создание Sandbox project

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

Команды Git для инициализации проекта

Это команды для консольного окна, которые следует выполнять на локальной машине. Я обычно использую Git for Windows (msysgit) – читайте пост о настройке среды для разработки. Если выполнить все согласно указаниям, то у вас в репозитории окажется .info-файл вашего модуля. Остальные файлы добавляйте по аналогии или вообще используйте команду git add * для добавления всех файлов сразу.

Выполнение Git команд

После того, как будет добавлен первый файл в репозиторий, страница Version control изменит свой вид и будет содержать справочную информацию по основным командам Git для управления файлами проекта – ну типа, памятка такая.

На этом будем считать, что наш Sandbox project создан. Но где же привычная для пользователей ссылка скачивания модуля? Увы, ее нет. Для того, чтобы скачать модуль из песочницы необходимо зайти в «Repository viewer» (см. в блоке Development сайдбара) и выбрать последний Snapshot.

Как скачивать модули из Sandbox

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

Используя Repository viewer вы также можете отслеживать все изменения кода проекта: кто вносил изменения (вы можете сами добавлять разработчиков в проект), когда это происходило и какие изменения были внесены.

Ну, вот на этом, наверное, пока все. Пост и так получился немаленьким, поэтому про то, как из Sandbox project получить Full project я расскажу в следующем посте. Подпишитесь, чтобы не пропустить ничего интересного!

Комментарии

Аватар пользователя Stillfinder
Stillfinder

Отличный пост!

Аватар пользователя PazitiFF
PazitiFF

Спасибо за хорошую инструкцию к действию. Может когда то тоже стану разработчиком с именем на drupal.org

Добавить комментарий

 Y88b   d88P   .d8888b.             888      
Y88b d88P d88P Y88b 888
Y88o88P Y88b. d88P 888
Y888P "Y88888" .d88b. 888
888 .d8P""Y8b. d8P Y8b 888
888 888 888 88888888 888
888 Y88b d88P Y8b. 888
888 "Y8888P" "Y8888 88888888


Зарегистрируйтесь для добавления материалов без проверки.