====== Плагин репозитория расширений ======
Этот плагин является аналогом [[wiki:plugin:extension|менеджера расширений]]. Он управляет [[wiki:extensions|расширениями]] ([[wiki:plugins|плагинами]] и [[wiki:templates|шаблонами]]) здесь, на dokuwiki.org, и предоставляет API для менеджера расширений.
(Также доступен плагин, похожий на этот, но с большей гибкостью, предназначенный для использования за пределами dokuwiki.org. Это [[wiki:plugin:data|плагин данных]].)
===== Запись плагинов =====
Каждый плагин должен иметь домашнюю страницу в ''plugin'' пространстве имен, содержащую как минимум краткое описание и блок данных, подобный следующему в начале:
---- plugin ----
description: Just an example to prove the point
author : Joe Blow
email : joe@example.com
type : syntax, action, admin, helper, render
lastupdate : 2007-12-17
compatible : Anteater, 2010-02-14
depends : plugin1
conflicts : plugin2
similar : plugin3
tags : example, sample
downloadurl: https://github.com/example/dokuwiki-plugin-sample/zipball/master
bugtracker : https://github.com/example/dokuwiki-plugin-sample/issues
sourcerepo : https://github.com/example/dokuwiki-plugin-sample/
donationurl: https://www.paypal.com/...
screenshot_img : http:///image.png
----
Информация хранится в базе данных и используется для создания динамического браузера репозитория (см. список [[wiki:plugins|плагинов]] или [[wiki:plugin:Extension|менеджер расширений]] в вашей вики)
О полях:
* **description** -- должно быть кратким описанием того, что делает плагин
* **author** -- основной автор плагина или текущий сопровождающий
* **email** -- адрес электронной почты основного автора плагина или текущего сопровождающего
* **type** -- один или несколько типов плагинов (синтаксис, действие, администрирование, помощник, рендеринг)
* **lastupdate** -- дата предоставления последней версии плагина в формате ГГГГ-ММ-ДД, используется для автоматической проверки обновлений диспетчером [[wiki:plugin:Extension|расширений]] и должна совпадать с датой в [[wiki:devel:plugin_info|plugin.info.txt]]
* **updatemessage** -- показывать сообщение, информирующее пользователей об обновлении, отображается в Extension Manager
* **compatible** -- укажите версию(и) DokuWiki, с которой [[wiki:extension_compatibility|совместим]] ваш плагин . Можно указать несколько версий и использовать кодовые имена. Например: 2009-02-14, лемминг, муравьед.
* Используйте знак «плюс» ''**+**'' если вы считаете, что плагин будет совместим с будущими версиями DokuWiki.
* Используйте восклицательный знак ''**!**'' если плагин несовместим с версией DokuWiki (например, «!Greebo»).
* **depends** -- список зависимостей плагина, разделенный запятыми, если таковые имеются
* **conflicts** -- список плагинов/шаблонов, разделенных запятыми, которые конфликтуют с вашим плагином, используйте ''template:xxx'' если конфликтуют с шаблоном ''xxx''
* **similar** -- список плагинов, разделенных запятыми, с похожей задачей
* **tags** -- классифицируйте свой плагин здесь. Если ''!obsolete'' это единственный тег, то этот плагин будет скрыт из таблицы репозитория
* **screenshot_img** -- URL-адрес изображения для характерного снимка экрана плагина/шаблона (также используется в новом менеджере расширений, который масштабирует и обрезает его до изображения размером 120×70 пикселей)
* **securitywarning** -- используйте это поле, чтобы предупредить о внутренних проблемах безопасности плагина. Возможность выполнения произвольного скрипта может быть причиной (предопределенные значения: ''informationleak'', ''allowsscript'', ''requirespatch'' and ''partlyhidden'' ([[wiki:plugin:repository:manual#entry_component|объяснение ]]))
* **securityissue** -- добавляйте это поле только в случае возникновения проблем с [[wiki:devel:security|безопасностью]] плагина. Введите здесь краткое описание и сообщите автору. Плагин будет скрыт из таблицы репозитория
* **downloadurl** -- это должен быть прямой URL-адрес для загрузки, совместимый с самой последней версией
* **bugtracker** -- ссылка на багтрекер для этого плагина, оставьте пустым, если таковой отсутствует
* **sourcerepo** -- ссылка на веб-интерфейс системы управления исходным кодом, например [[wiki:devel:git]] или [[wiki:devel:darcs]], оставьте пустым, если таковая отсутствует
* **donationurl** -- ссылка на PayPal, список желаний Amazon или что-то подобное, где люди могут сделать вам пожертвование; оставьте пустым, если ничего не доступно
===== Шаблон записи =====
Аналогично для шаблонов, но в ''template'' пространстве имен.
---- template ----
description : Just an example to prove the point
author : Joe Blow
email : joe@example.com
lastupdate : 2007-12-17
compatible : Anteater, 2010-02-14
depends :
conflicts : example, template:sample
similar :
tags : example, sample
downloadurl : https://github.com/example/dokuwiki-plugin-sample/zipball/master
bugtracker : https://github.com/example/dokuwiki-plugin-sample/issues
sourcerepo : https://github.com/example/dokuwiki-plugin-sample/
donationurl : https://www.paypal.com/...
screenshot_img: http:///image.png
----
Информация хранится в базе данных и используется для создания динамического браузера репозитория (см. список [[wiki:template|шаблонов]] или [[wiki:plugin:Extension|менеджер расширений]] в вашей вики).
About the fields:
* **description** -- должно быть кратким описанием основной функции шаблона
* **author** -- основной автор шаблона или текущий сопровождающий
* **email** -- адрес электронной почты основного автора шаблона или текущего сопровождающего
* **lastupdate** -- дата предоставления последней версии шаблона в формате ГГГГ-ММ-ДД, она используется для автоматической проверки обновлений диспетчером [[wiki:plugin:Extension|расширений]] и должна совпадать с датой в [[wiki:devel:template_info|template.info.txt]]
* **updatemessage** -- показывать сообщение, информирующее пользователей об обновлении, отображается в Extension Manager
* **compatible** -- укажите версию(и) DokuWiki, с которой совместим ваш шаблон. Можно указать несколько версий и использовать кодовые имена. Например: 2009-02-14, лемминг, муравьед
* **depends** -- список зависимостей шаблона, разделенных запятыми, если таковые имеются
* **conflicts** -- список плагинов/шаблонов, разделенных запятыми, которые конфликтуют с вашим шаблоном, используйте, ''template:xxx'' если конфликтуют с шаблоном ''xxx''
* **similar** -- список шаблонов с похожей задачей, разделенный запятыми
* **screenshot_img** -- URL-адрес снимка экрана вашего шаблона (также используется в новом менеджере расширений, который масштабирует и обрезает его до изображения размером 120×70 пикселей)
* **tags** -- классифицируйте свой шаблон здесь. Если ''!obsolete'' это единственный тег, то этот шаблон будет скрыт из таблицы репо
* **securitywarning** -- используйте это поле, чтобы предупредить о проблемах безопасности, присущих шаблону. Возможность выполнения произвольного скрипта может быть причиной
* **securityissue** -- добавляйте это поле только в случае возникновения проблем с [[wiki:devel:security|безопасностью]] шаблона. Введите здесь краткое описание и сообщите автору. Шаблон будет скрыт из таблицы репозитория
* **downloadurl** -- это должен быть прямой URL-адрес для загрузки, совместимый с самой последней версией
* **bugtracker** -- ссылка на багтрекер для этого шаблона, оставьте пустым, если таковой отсутствует
* **sourcerepo** -- ссылка на веб-интерфейс системы управления исходным кодом, например [[wiki:devel:git]] или [[wiki:devel:darcs]], оставьте пустым, если таковая отсутствует
* **donationurl** -- ссылка на PayPal, список желаний Amazon или что-то подобное, где люди могут сделать вам пожертвование; оставьте пустым, если ничего не доступно
===== Предупреждение о безопасности: предопределенные сочетания клавиш =====
Поле предупреждения безопасности позволяет использовать некоторые предопределенные сочетания клавиш. В следующей таблице показаны фактически определенные сочетания клавиш и их значение:
^ Ярлык ^ Значение ^
| **informationleak** | Это расширение раскрывает информацию, которая может быть ценной для хакера. Не рекомендуется для публичной установки. |
| **allowsscript** | Это расширение позволит выполнять скрипты. Его следует использовать только тогда, когда вы доверяете ВСЕМ редакторам, лучше всего подходит для личных вики. |
| **requirespatch** | Это расширение требует исправления ядра DokuWiki. Ручные исправления могут нарушить совместимость с другими расширениями и усложнить защиту вашей установки путем обновления до последней версии. |
| **partlyhidden** | Скрытие частей страницы DokuWiki не поддерживается ядром. Большинство попыток ввести контроль ACL для частей страницы приведут к утечке информации через RSS-канал, поиск или другие основные функции. |
Пример **частично скрытого** предупреждения безопасности можно посмотреть на странице [[wiki:plugin:ifauth|plugin:ifauth]].
===== Руководство и API плагина репозитория =====
В [[wiki:plugin:repository:manual|руководстве]] описывается, как использовать различные компоненты плагина на dokuwiki.org.
В [[wiki:plugin:repository:api| документации API]] описывается , как удаленно запросить информацию о плагине.
===== Совместимость с релиз-кандидатами =====
Когда будет доступен новый релиз-кандидат, пожалуйста, обновите домашнюю страницу плагина с соответствующей совместимостью, используйте название релиза (например, «rincewind») вместо даты RC. Таким образом, вам не придется обновлять информацию о совместимости, когда будет готов финальный релиз.