Создание Sandbox проекта модуля на Drupal.org
И снова здрасьте! Пару дней назад наконец-то получил аккаунт разработчика на сайте 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, чтобы разработчики, с которыми вам придется работать, могли всегда связаться с вами!
Не лишним будет сгенерировать SSH-ключ для авторизации без пароля при подключении к Git-репозиторию. Через форму «Add a public key» добавляем свой Public Key – эти настройки можно редактировать, так что не переживайте, если где-то допустите ошибку.
Материал на 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 репозиторий инициализирован.
Теперь самое время добавить код модуля в предоставленный репозиторий. Переходим на страницу Version control, где нас ждет сообщение о том, что репозиторий на данный момент пуст и указания, как это дело исправить.
Это команды для консольного окна, которые следует выполнять на локальной машине. Я обычно использую Git for Windows (msysgit) – читайте пост о настройке среды для разработки. Если выполнить все согласно указаниям, то у вас в репозитории окажется .info-файл вашего модуля. Остальные файлы добавляйте по аналогии или вообще используйте команду
для добавления всех файлов сразу. git add *
После того, как будет добавлен первый файл в репозиторий, страница Version control изменит свой вид и будет содержать справочную информацию по основным командам Git для управления файлами проекта – ну типа, памятка такая.
На этом будем считать, что наш Sandbox project создан. Но где же привычная для пользователей ссылка скачивания модуля? Увы, ее нет. Для того, чтобы скачать модуль из песочницы необходимо зайти в «Repository viewer» (см. в блоке Development сайдбара) и выбрать последний Snapshot.
Ну а опытные разработчики и без того в курсе, что можно выкачивать не Snapshot проекта, а весь репозиторий целиком для большей гибкости. Вышенаписанное относится для рядовых пользователей, которых ставит в тупик ситуация, когда необходимо выкачать модуль из Sandbox.
Используя Repository viewer вы также можете отслеживать все изменения кода проекта: кто вносил изменения (вы можете сами добавлять разработчиков в проект), когда это происходило и какие изменения были внесены.
Ну, вот на этом, наверное, пока все. Пост и так получился немаленьким, поэтому про то, как из Sandbox project получить Full project я расскажу в следующем посте. Подпишитесь, чтобы не пропустить ничего интересного!
Комментарии
Отличный пост!
Спасибо за хорошую инструкцию к действию. Может когда то тоже стану разработчиком с именем на drupal.org
Добавить комментарий