DokuWiki

It's better when it's simple

User Tools

Site Tools


devel:plugins

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
devel:plugins [2016-10-16 20:08] Aleksandrdevel:plugins [2023-11-19 23:53] (current) – plugin survey a bit too old Klap-in
Line 16: Line 16:
   * [[Remote Plugins]] allow to add webservices to your plugin.   * [[Remote Plugins]] allow to add webservices to your plugin.
   * [[Auth Plugins]] add additional authentication backend to the DokuWiki, which could be activated via configuration manager.   * [[Auth Plugins]] add additional authentication backend to the DokuWiki, which could be activated via configuration manager.
 +  * [[CLI Plugins]] add command line tools to your plugin
  
 A simple plugin like [[plugin:color|color plugin]] may only consist of a single file, ''syntax.php''. More advanced plugins consist of several components, for example the [[plugin:data|structured data plugin]] have the syntax handling split in "data entry" and "table view" components, an action component for the special edit button attached to every data entry and an admin interface for database maintenance. A simple plugin like [[plugin:color|color plugin]] may only consist of a single file, ''syntax.php''. More advanced plugins consist of several components, for example the [[plugin:data|structured data plugin]] have the syntax handling split in "data entry" and "table view" components, an action component for the special edit button attached to every data entry and an admin interface for database maintenance.
Line 40: Line 41:
 ===== Plugin Wizard ===== ===== Plugin Wizard =====
  
-A Wizard to create the basic skeleton for a DokuWiki plugin can be found at http://pluginwizard.dokuwiki.org/ and is recommended to be used for starting the development.+A Wizard to create the basic skeleton for a DokuWiki plugin can be found at http://pluginwizard.dokuwiki.org/ and is recommended to be used for starting the development. Alternatively use the [[plugin:dev|dev Plugin]].
  
 If you later need to extend your plugin refer to the [[plugin_file_structure|plugin file structure]] on how files are arranged in a plugin. If you later need to extend your plugin refer to the [[plugin_file_structure|plugin file structure]] on how files are arranged in a plugin.
Line 48: Line 49:
 If you created a plugin, please share it with the community. Just create a page named after your plugin in the plugin namespace. E.g. if your pluginfolder is named ''sample'' create a page ''plugin:sample'' here in the wiki. If you created a plugin, please share it with the community. Just create a page named after your plugin in the plugin namespace. E.g. if your pluginfolder is named ''sample'' create a page ''plugin:sample'' here in the wiki.
  
-The page should contain all needed documentation on how to install and use the plugin and give users a pretty good idea what it does before installing the plugin. Adding screenshots might be a good idea as well((You can use the [[plugin:imageshack]] plugin to add images here))The [[devel:plugin_homepages|plugin homepage template]] contains more tips on how to make a user friendly page.+The page should contain all needed documentation on how to install and use the plugin and give users a pretty good idea what it does before installing the plugin. Adding screenshots might be a good idea as well. When creating the new page, a namespace template will prefill sections and tips for you.
  
 At the top of the plugin page a few metadata fields have to be filled. A description of each field can be found on [[plugin:repository|Repository Plugin]] page. At the top of the plugin page a few metadata fields have to be filled. A description of each field can be found on [[plugin:repository|Repository Plugin]] page.
  
-From version Ponder Stibbons up an automated update signalling is possible. For the update process to work properly it is necessary that the date “Last updated on” at the Plugin wiki page equals the date in the file [[devel:plugin_info|plugin.info.txt]] in the source tarbal/zipfile. If this is not the case: the update will not take place or the “Update” signal persists.+Users will see that an update is available in the extension manager. For this to work properly it is necessary that the date “Last updated on” at the Plugin wiki page equals the date in the file [[devel:plugin_info|plugin.info.txt]] in the source tarball/zipfile. If this is not the case, available  updates will not be shown or the “Update” signal will persist despite the plugin being up-to-date!
  
 Uploads are not allowed on dokuwiki.org, so you need to host your plugin files somewhere else. We recommend to manage your source with a Revision Control System like [[git]]. If you do, it's easiest to use a public repository host like [[https://github.com/|GitHub]], [[https://gitlab.com/|GitLab]] or [[https://bitbucket.org/|Bitbucket]] which offers also a bug tracker for your repository. Uploads are not allowed on dokuwiki.org, so you need to host your plugin files somewhere else. We recommend to manage your source with a Revision Control System like [[git]]. If you do, it's easiest to use a public repository host like [[https://github.com/|GitHub]], [[https://gitlab.com/|GitLab]] or [[https://bitbucket.org/|Bitbucket]] which offers also a bug tracker for your repository.
Line 58: Line 59:
 Plugin developers can check the [[devel:badextensions|bad extension page]] for differences in their github repository checkin, the [[devel:plugin_info|plugin.info.txt]] and the respective page at dokuwiki.org. Plugin developers can check the [[devel:badextensions|bad extension page]] for differences in their github repository checkin, the [[devel:plugin_info|plugin.info.txt]] and the respective page at dokuwiki.org.
  
-===== Overview of Plugin Survey=====+===== Inspiration =====
  
-[[devel:plugin survey:|Plugin Survey]] is a developers overview of all [[:plugins]] present in the plugin namespace of %%www.dokuwiki.org%%. Data was collected by an automated script 2010-09-05 with some additional manual data download and mining. A total of 697 plugin pages containing 672 plugins was examined and source code for 647 plugins (96%) downloaded and parsed.+Already more than 1200 plugins are written for DokuWiki. To learn how things are working, you might study some existing plugins that have some similarity with your ideas. At [[https://codesearch.dokuwiki.org/]] can find all them in a browsable format.
  
devel/plugins.1476641293.txt.gz · Last modified: 2016-10-16 20:08 by Aleksandr

Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Share Alike 4.0 International
CC Attribution-Share Alike 4.0 International Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki