Инструменты пользователя

Инструменты сайта


wiki:plugin:repository:manual

Различия

Показаны различия между двумя версиями страницы.


—wiki:plugin:repository:manual [2025/02/08 17:11] (текущий) – создано - внешнее изменение 127.0.0.1
Строка 1: Строка 1:
 +<= [[wiki:plugin:repository|Репозиторий расширений]]
  
 +====== Руководство по плагину репозитория ======
 +
 +[[wiki:plugin:repository|Репозиторий расширений]] используется [[world>]]www.dokuwiki.org для организации информации о плагинах и шаблонах.
 +
 +===== Источник =====
 +
 +Исходный код доступен по адресу [[github>]][[https://github.com/dokuwiki/dokuwiki-plugin-pluginrepo]]
 +
 +Разработка DokuWiki движется в сторону одинакового отношения к плагинам и шаблонам. В репозитории плагинов шаблоны — это просто плагин типа == 32. Это облегчает совместное использование тегов (пользователи, ищущие боковые панели, должны видеть и плагины, и шаблоны) и «Больше вкладов одного автора».
 +
 +:!: шаблоны идентифицируются по используемому пространству имен.
 +
 +
 +===== Функциональность =====
 +
 +Плагин имеет несколько компонентов синтаксиса (см. раздел [[#Syntax]] ниже):
 +  * Записи для ввода свойств
 +    * плагин ''%%---- plugin ----%%'' 
 +    * или шаблон ''%%---- template ----%%'' .
 +  * Таблица репозитория ''%%---- pluginrepo ----%%'' в которой перечислены сохраненные плагины или шаблоны.
 +  * Информационное поле с некоторыми (случайными) моментами ''%%---- pluginnews -----%%''
 +  * Список результатов заданного запроса, полезный для администраторов вики ''%%---- pluginquery -----%%''
 +
 +Для использования информации о расширениях во внешних инструментах доступны некоторые API:
 +  * API позволяет запрашивать список доступных расширений DokuWiki. Доступно по адресу \\ Available at ''/lib/plugins/pluginrepo/api.php?[parameters]'' (см . также [[wiki:plugin:repository:api]])
 +
 +  * Старая конечная точка ''/lib/plugins/pluginrepo/repository.php?[parameters]'' \\  (все еще используется, например, [[teams:translate-tool]]) (см. также [[wiki:plugin:repository:api]])
 +
 +  * Creates output in different formats of the usage statistics of DokuWiki \\ Available at ''/lib/plugins/pluginrepo/popularity.php?[parameters]'' \\ Examples at [[:popularity]] \\ (see for parameters details: [[https://github.com/splitbrain/dokuwiki-plugin-pluginrepo/blob/master/popularity.php|source]])
 +
 +And maintenance tasks are performed by:
 +  * ''/lib/plugins/pluginrepo/cron.php'' 
 +    * Calculate popularity
 +    * Check for version and base discrepancies and update the [[devel:badextensions]] page
 +
 +
 +===== Синтаксис =====
 +
 +==== Entry Component ====
 +
 +Besides the [[plugin:repository|entry component details]] it's worth mentioning that the ''securitywarning'' field has some predefined values
 +  * **informationleak** -- 'This plugin expose information that might be valuable to a hacker. It is not recommended in a public installation.'
 +  * **allowsscript** -- 'This plugin will allow execution of scripts. It should only be used when you trust ALL editors, best suited in private personal wikis.'
 +  * **requirespatch** -- 'The plugin requires patching the DokuWiki core. Manual patches may break compatibility with other plugins and make it harder to secure your installation by upgrading to latest version.'
 +  * **partlyhidden** -- 'Hiding parts of a DokuWiki page is not supported by the core. Most attempts to introduce ACL control for parts of a page will leak information through RSS feed, search or other core functionality.'
 +
 +Of course free text could be used as well.
 +
 +==== Pluginrepo (Table) Component ====
 +
 +The "table" component comes in two variants, classic and a new more compact version with download buttons etc. An additional navigation feature "Jump to plugins starting with A B C.." is present for both. The new table also shows "tags" for each plugin.
 +
 +The pluginrepo syntax component accepts parameters if supplied, which overrides parameters in HTTP request. 
 +
 +Available:
 +  * **plugintype** -- [integer] 1, 2, 4, 8, 16, 32=templates, or combination
 +  * **plugintag** -- [string] filter by this tag
 +  * **pluginsort** -- [string] sort by author(a), lastupdate(d), type (t), compatibility (v), popularity %%(c)%%, plugin (p) otherwise sorted by most recent compatible release. Shortcuts can be used. If results are equal then further sorted by basename.
 +  * **showall** -- [yes] returns plugins regardless of security or obsolete status, normally skipped.
 +  * **includetemplates** -- [yes] returns templates AND plugins, normally only plugins returned. Combine with ''plugintype=32'' to return templates only.
 +  * **showscreenshot** -- [yes] shows screenshot thumbnail column
 +  * **showcompatible** -- [yes] shows latest compatible DokuWiki version column
 +  * **cloudmin** -- [integer] needed number of occurrences for a tag to be included in navigation cloud
 +
 +Example:
 +
 +<code>
 +---- pluginrepo ----
 +cloudmin: 2
 +----
 +</code>
 +
 +==== News Component ====
 +
 +---- pluginnews -----
 +headline:     Example News
 +link:         wiki:plugins
 +linktext:     More plugins >>
 +-----
 +
 +Creates a right float box with one or more featured plugin/templates. Besides the repository API, additional parameters are:
 +
 +Syntax definition:
 +<code>
 +---- pluginnews -----
 +headline:     <headline text>
 +style:        <sameauthor/DEFAULT>
 +showscreenshot:   <yes/NO>
 +random:       <YES/no>
 +entries:      <number of plugins displayed>
 +link:         <internallink id>
 +linktext:     <internallink text>
 +-----
 +</code>
 +
 +Parameters
 +  * **style** -- ''sameauthor'' will display a list of plugins/templates by same author. Only usable in plugin/template homepages.
 +  * **headline** -- [string] headline of the news block
 +  * **link** -- [string] add link at bottom of the news block
 +  * **linktext** -- [string] if combined with ''link'', it sets the link text
 +  * **entries** -- [int] number of plugins displayed
 +  * **random** -- [yes], set to ''no'' to disable random picked extensions
 +  * **showscreenshot** -- [no], set to ''yes'' to show screenshot
 +  * **onlyrecent** -- [yes], set to ''no'' to show bundled and older than 2 releases as well
 +
 +==== Query Component ====
 +A tool tailored for [[teams:plugins_templates|Plugins & templates team]] to make wiki gardening easier.
 +The query results are displayed as a configurable table looking something like this:
 +
 +---- pluginquery -----
 +SELECT : plugin, downloadurl
 +WHERE  : author = ?
 +VALUES : Håkan Sandell
 +-----
 +
 +
 +Syntax definition:
 +<code>
 +---- pluginquery -----
 +SELECT   : <list of field names (optional)>
 +WHERE    : <sql where clause>
 +VALUES   : <list of values matching ? in where clause (optional)>
 +HEADLINE : <heading used instead of raw query (optional)>
 +-----
 +</code>
 +
 +**Allowed fields:** plugin, name, description, author, email, bestcompatible, compatible, lastupdate, type, securityissue, securitywarning, updatemessage, screenshot, downloadurl, bugtracker, sourcerepo, donationurl, tags, popularity
 +
 +All fields are allowed in WHERE clause together with AND, OR, NOT, NULL, LIKE, ''%'', ''<'', ''>'', ''='', ''('', '')''. All values in where clause should be replaced by ''?''.
 +
 +For values of ''bestcompatible'' four placeholders can be used: ''@DATEMOSTRECENT@'', ''@DATESECONDMOSTRECENT@'', ''@DATETHIRDMOSTRECENT@'' and ''@DATEFOURTHMOSTRECENT@''.
 +
 +Syntax examples:
 +
 +<code>
 +---- pluginquery -----
 +WHERE  : downloadurl IS null AND popularity > ?
 +VALUES : 400
 +-----
 +</code>
 +
 +<code>
 +---- pluginquery -----
 +SELECT : author type
 +WHERE  : (type & ?) AND (author LIKE ?)
 +VALUES : 3, %Andreas Gohr%
 +-----
 +</code>
 +
 +<code>
 +---- pluginquery -----
 +SELECT   : compatible
 +WHERE    : ?
 +VALUES   : 1
 +HEADLINE : All plugins and templates
 +-----
 +</code>
 +
 +
 +===== Configuration =====
 +
 +There are some config settings for the dokuwiki.org admin
 +
 +  * ''db_name'' -- contain the DataSourceName, which consists of the PDO driver name, followed by a colon, followed by the PDO driver-specific connection syntax. See also: [[http://se2.php.net/manual/en/pdo.construct.php]] \\ Example: 'mysql:dbname=testdb;host=127.0.0.1' or 'sqlite:C:\DokuWikiStickNew\dokuwiki\repo.sqlite' \\ SQLITE2 not supported
 +  * ''db_user'' -- database login username (leave blank for sqlite).
 +  * ''db_pass'' -- database login password (leave blank for sqlite).
 +  * ''bundled'' -- comma separated list of plugins that are bundled.
 +  * ''releases'' -- comma separated list of releases (YYYY-MM-DD "<name>") newest MUST be first.
 +
 +Repository plugin honors [[config:allowdebug|allowdebug]] for SQL debugging.
 +
 +=====Дополнения и Файлы=====
 +[[https://www.dokuwiki.org/plugin:repository:manual|Ссылка на оригинальную статью]]
wiki/plugin/repository/manual.1738914093.txt.gz · Последнее изменение: (внешнее изменение)

Если не указано иное, содержимое этой вики предоставляется на условиях следующей лицензии: Public Domain
Public Domain Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki