From: <nuc...@us...> - 2008-09-29 18:28:28
|
Revision: 5609 http://mantisbt.svn.sourceforge.net/mantisbt/?rev=5609&view=rev Author: nuclear_eclipse Date: 2008-09-29 18:27:56 +0000 (Mon, 29 Sep 2008) Log Message: ----------- Basic documentation structure for plugin system. Modified Paths: -------------- trunk/mantisbt/docbook/developers/en/developers.sgml trunk/mantisbt/docbook/developers/en/file-entities.ent trunk/mantisbt/docbook/developers/en/plugins.sgml Added Paths: ----------- trunk/mantisbt/docbook/developers/en/plugins-building.sgml Modified: trunk/mantisbt/docbook/developers/en/developers.sgml =================================================================== --- trunk/mantisbt/docbook/developers/en/developers.sgml 2008-09-29 15:55:01 UTC (rev 5608) +++ trunk/mantisbt/docbook/developers/en/developers.sgml 2008-09-29 18:27:56 UTC (rev 5609) @@ -38,7 +38,7 @@ &database; &events; + &plugins; &eventref; - &plugins; </book> Modified: trunk/mantisbt/docbook/developers/en/file-entities.ent =================================================================== --- trunk/mantisbt/docbook/developers/en/file-entities.ent 2008-09-29 15:55:01 UTC (rev 5608) +++ trunk/mantisbt/docbook/developers/en/file-entities.ent 2008-09-29 18:27:56 UTC (rev 5609) @@ -1,6 +1,7 @@ <!ENTITY database SYSTEM "database.sgml"> <!ENTITY events SYSTEM "events.sgml"> <!ENTITY plugins SYSTEM "plugins.sgml"> +<!ENTITY plugins-building SYSTEM "plugins-building.sgml"> <!ENTITY eventref SYSTEM "event-reference.sgml"> <!ENTITY eventref-output SYSTEM "event-reference-output.sgml"> <!ENTITY eventref-bug SYSTEM "event-reference-bug.sgml"> Added: trunk/mantisbt/docbook/developers/en/plugins-building.sgml =================================================================== --- trunk/mantisbt/docbook/developers/en/plugins-building.sgml (rev 0) +++ trunk/mantisbt/docbook/developers/en/plugins-building.sgml 2008-09-29 18:27:56 UTC (rev 5609) @@ -0,0 +1,33 @@ + <sect1 id="dev.plugins.building"> + <title>Building a Plugin</title> + + <para> + This section will act as a walkthrough of how to build a plugin, from the + bare basics all the way up to advanced topics. A general understanding of + the concepts covered in the last section is assumed, as well as knowledge + of how the event system works. Later topics in this section will require + knowledge of database schemas and how they are used with Mantis. + </para> + + <sect2 id="dev.plugins.building.basics"> + <title>The Basics</title> + + <para> + </para> + </sect2> + + <sect2 id="dev.plugins.building.events"> + <title>Using Events</title> + + <para> + </para> + </sect2> + + <sect2 id="dev.plugins.building.config"> + <title>Configuration and Languages</title> + + <para> + </para> + </sect2> + </sect1> + Property changes on: trunk/mantisbt/docbook/developers/en/plugins-building.sgml ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:eol-style + native Modified: trunk/mantisbt/docbook/developers/en/plugins.sgml =================================================================== --- trunk/mantisbt/docbook/developers/en/plugins.sgml 2008-09-29 15:55:01 UTC (rev 5608) +++ trunk/mantisbt/docbook/developers/en/plugins.sgml 2008-09-29 18:27:56 UTC (rev 5609) @@ -5,9 +5,49 @@ <title>General Concepts</title> <para> - TODO: discuss the plugin system. + The plugin system for Mantis is designed as a lightweight extension to the + standard Mantis API, allowing for simple and flexible addition of new + features and customization of core operations. It takes advantage ofthe new + <link linkend="dev.events">Event System</link> to offer developers rapid + creation and testing of extensions, without the need to modify core files. </para> + + <para> + Plugins are defined as implementations, or subclasses, of the MantisPlugin + class as defined in <code>core/classes/MantisPlugin.php</code>. Each + plugin may define information about itself, as well as a list of conflicts + and dependencies upon other plugins. There are many methods defined in the + MantisPlugin class that may be used as convenient places to define extra + behaviors, such as configuration options, event declarations, event hooks, + errors, and database schemas. Outside a plugin's core class, there is a + standard method of handling language strings, content pages, and files. + </para> + + <para> + At page load, the core Mantis API will find and process any conforming + plugins. Plugins will be checked for minimal information, such as its name, + version, and dependencies. Plugins that meet requirements will then be + initialized. At this point, Mantis will interact with the plugins when + appropriate. + </para> + + <para> + The plugin system includes a special set of API functions that provide + convenience wrappers around the more useful Mantis API calls, including + configuration, language strings, and link generation. This API allows + plugins to use core API's in 'sandboxed' fashions to aid interoperation + with other plugins, and simplification of common functionality. + </para> </sect1> + &plugins-building; + + <sect1 id="dev.plugins.api"> + <title>API Usage</title> + + <para> + </para> + </sect1> + </chapter> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |