Как я уже говорил, плагин amcaptcha был принят в официальный каталог плагинов Wordpress. В этой статье я расскажу, что для этого нужно было сделать, как устроен этот каталог и автоматическое обновление в частности.
Само-собой, для начала, нам нужен сам плагин, который нужно добавить в этот каталог. В этой статье, в качестве примера, я буду использовать amcaptcha.
Первым делом нам нужно зарегистрироваться на сайте wordpress.org и подать заявку на добавления плагина. Поле "Decription" лучше заполнять на английском, а вот страница плагина, ссылку на которую вы укажете в поле "Plugin URL", может быть и русскоязычной (как было в моем случае).

Далее, нам придется подождать дня два-три, пока модераторы просмотрят и одобрят заявку. О том, что заявка одобрена вы узнаете, когда получите на ваш email письмо с реквизитами доступа к SVN серверу.

Для работы с SVN я буду пользоваться стандартной для Мака и Юникса командой svn. Пользователям, работающим под Windows, я бы порекомендовал бесплатную утилиту TortoiseSVN — это была моя любимая программа для доступа по этому протоколу, когда я еще работал на PC.
Так, теперь нам нужно привести в порядок необходимые файлы и заголовки. Для стандартизации нам нужно будет подготовить три файла:
- amcaptcha.php — сам файл плагина. В нем нужно будет прописать правильный заголовок, информация из которого будет учитываться роботом каталога плагинов;
- readme.txt — файл, отвечающий за формирование страницы плагина в каталоге. Имеет четко определенную структуру;
- screenshot-1.jpg — скриншот, который будет отображаться в специальном разделе на странице плагина. Строго говоря, этот файл не является обязательным, но его наличие позволяет существенно повысить число скачиваний плагина.
Рассмотрим файлы amcaptcha.php и readme.txt подробнее.
Формируем заголовок файла плагина
Чтобы было понятнее, как правильно оформлять заголовок, приведу пример заголовка от плагина amcaptcha.

В принципе, названия всех полей понятны, но на всякий случай поясню:
- Plugin Name — имя плагина, всегда постоянное;
- Plugin URI — ссылка на страницу плагина;
- Description — описание плагина;
- Author — автор плагина;
- Version — версия плагина;
- Author URI — ссылка на сайт автора.
Вся эта информация будет доступна в админке Wordpress, в разделе "Plugins". Для приведенного выше примера, картинка будет следующая:

Правильно заполнив заголовок, переходим к самому важному моменту — формированию файла readme.txt, который будет лицом вашего плагина в каталоге.
Создаем readme.txt

В качестве примера, я рекомендую скачать себе readme.txt от amcaptcha. Он довольно прост, но вместе с тем, содержит все необходимые для стандартизации разделы, которые мы рассмотрим поподробнее. Начнем с полей главного заголовка:
- Contributors — ваш логин в Wordpress.org;
- Donate link — ссылка на страничку, где вы принимаете пожертвования;
- Tags — набор тегов, через запятую, характеризующих ваш плагин;
- Requires at least — минимальная версия Wordpress, необходимая для работы плагина;
- Tested up to — максимальная версия Wordpress, на которой плагин был работоспособен;
- Stable tag — тег стабильной версии.
При написании текста во всех подразделах этого файла используется язык разметки, очень похожий на wiki. Его можно подсмотреть в конце стандартного файла readme.txt от Wordpress. Разделы у этого файла следующие:
- Description — длинное описание, будет выводиться на главной странице плагина в каталоге;
- Installation — описание процесса установки;
- Frequently Asked Questions — вопросы и ответы по плагину. Подраздел имеет свою структуру, которую также можно посмотреть в стандартном файле;
- Screenshots — подписи к скриншотам. Под цифрой 1 будет подпись для скриншота с именем файла screenshot-1.jpg, под цифрой 2 — к screenshot-1.jpg;
- Changelog — история изменения плагина. Имеет свою структуру.
После того, как все файлы оформлены, нам нужно загрузить их на сервер. Но перед этим, не поленитесь и проверьте ваш readme.txt на отсутствие ошибок специальным валидатором
Загрузка файлов в SVN
Для начала создадим директорию в которой мы будем хранить все необходимое для успешной синхронизации между вашим компьютером и SVN.
mkdir amcaptcha
Далее, загружаем с сервера Wordpress всю необходимую структуру каталогов
svn co http://plugins.svn.wordpress.org/amcaptcha/ amcaptcha
Переходим директорию плагина и копируем в trunk наши файлы
cd amcaptcha/
cp ~/amcaptcha.php trunk/amcaptcha.php
cp ~/readme.txt trunk/readme.txt
cp ~/screenshot-1.jpg trunk/screenshot-1.jpg
Заставляем SVN считать все внесенные изменения
svn add trunk/*
Ну и загружаем все на сервер Wordpress
svn ci -m 'Adding first version of amcaptcha'
Теперь нужно обозначить, какую версию плагина считать стабильной, чтобы каталог Wordpress поставил на неё ссылку со своей страницы. Ну и для того, чтобы движок Wordpress пользователя мог установить, нуждается ли плагин в обновлении.
Кстати, стоит подробнее остановиться на том вопросе, как формируется история версий. А формируется она очень просто — для обозначения новой версии плагина нужно создать подкаталог в директории tags, название которого будет состоять как раз из номера версии.
Теперь внимание! Стабильной будет считаться та версия, номер которой указан в поле Stable tag файла readme.txt, содержащегося в директории trunk!
Поскольку версия у нас только одна, то дадим ей гордую цифру 1.0. Для этого создадим каталог с именем "1.0" и скопируем в него содержимое папки trunk, в которой и находятся файлы нашего плагина.
svn cp trunk tags/1.0
Уведомлять SVN об этом событии не нужно, поскольку мы копировали файлы и создавали директорию, используя её команду. Поэтому сразу заливаем все исправления на сервер.
svn ci -m "tagging amcaptcha with version 1.0"
Вот и все! Теперь ждем 15 минут (именно с такой периодичность робот каталога Wordpress сканирует дерево каталогов) и смотрим на результат наших действий.

Ничего сложного, правда?
Если если вам понравилась эта статья, вы можете подписаться на материалы моего блога через
RSS
email
Twitter
ВКонтакте














эксперт
20 ноября 2009 г. ·

Ок, ты у меня в фолловингах.
Ну мощные тви-аккаунты уже являются предметом продажи насколько я знаю:)
По сабжу: инструкция явно полезна и пригодится разработчикам. Главное, чтобы люди понимали, что разработка, за которую не платят денег, иногда приносит даже больше пользы, чем оплачиваемая.
Спс за инструкцию — скоро добавлю свой плагин для безопасного кросспостинга ( http://oziblog.ru/lj-xp-sw/ ).
Спасибо за подробный мануал по размещению плагина, сейчас просто появилась идея плагина и поэтому информация очень актуальна!
З.Ы. Извиняюсь за оффтоп, но плагин amcaptcha очень полезный, поставил и себе :)
Рад, что информация пригодилась!
Вопрос — если мои плагины рассчитаны только лишь для русскоязычной части интернета (SmartResponder Registration и VKontakte Comments), как это повлияет на добавление в каталог WP?
PS: спасибо за amcaptcha!!!
Пожалуйста, рад, что плагин понравился:)