mantisbt:addson_requirements
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| mantisbt:addson_requirements [2007/09/06 02:07] – Added #modulename# to directory structure. vboctor | mantisbt:addson_requirements [2008/10/29 04:25] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ====== Mantis | + | ====== Mantis |
| * **Author:** Victor Boctor | * **Author:** Victor Boctor | ||
| Line 6: | Line 6: | ||
| ===== Introduction ===== | ===== Introduction ===== | ||
| - | Mantis currently supports some extensibility features like custom fields, custom functions, custom constants, and custom strings. | + | Mantis currently supports some extensibility features like custom fields, custom functions, custom constants, and custom strings. |
| ===== Types of Plug-in ===== | ===== Types of Plug-in ===== | ||
| Line 19: | Line 19: | ||
| * Ability to detect all plug-ins in the Mantis directory structure. | * Ability to detect all plug-ins in the Mantis directory structure. | ||
| - | * From the manage plug-ins page, allow administrators (configurable threshold) to install / un-install | + | * From the manage plug-ins page, allow administrators (configurable threshold) to install / un-install |
| - | * Keep track of the installed | + | * Keep track of the installed |
| * Extend the database scheme upgrade script to support modules. | * Extend the database scheme upgrade script to support modules. | ||
| * Detailed documentation about how to implement Mantis plug-ins. | * Detailed documentation about how to implement Mantis plug-ins. | ||
| Line 200: | Line 200: | ||
| * max access level | * max access level | ||
| * for each project? | * for each project? | ||
| + | |||
| + | ===== To be Spec'd ===== | ||
| + | |||
| + | * Detail the parameters sent to each of the events. | ||
| + | * How are the plug-ins going to be distributed. | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| ===== Feedback ===== | ===== Feedback ===== | ||
| This is still in progress, but you are free to contribute ideas. | This is still in progress, but you are free to contribute ideas. | ||
| + | |||
| + | * (DGtlRift) I would say that in " | ||
| + | * plugin version - could be used by a plugin manager to query if there is an updated plugin available from the plugin' | ||
| + | * minimum mantis compatibility version - verify that this plugin will actually work with this version of mantis. | ||
| + | * (DGtlRift) I would also suggest that the " | ||
| + | * I'm also thinking that it may be easier to use a hash table to store the constants in # | ||
| + | * Perhaps XML would be better for having this info | ||
| + | * (deboutv) In my plugin manager, I have chosen to provide Mantis plugin in pkg format. This file is the result of a zip and a serialize of an array => gzcompress( serialize( array ), 9 ); The array contains the following fields: | ||
| + | < | ||
| + | $t_pkg[' | ||
| + | $t_pkg[' | ||
| + | // | ||
| + | $t_pkg[' | ||
| + | $t_pkg[' | ||
| + | $t_pkg[' | ||
| + | $t_pkg[' | ||
| + | </ | ||
| + | * (deboutv) Hacking Mantis with a plugin. We need to think about the security of the Mantis application and its data. Allowing plugins is dangerous because of the content of the plugin (it could pretend to be a BBCode interpreter but in reality it could be a BBCode interpreter and a spy). With a plugin (ie: code of third parties), you can read/write the SQL database, grant priviledges to the users... | ||
| + | * (DGtlRift) There should also be a description of how plugins themselves should generate events. | ||
| + | * (DGtlRift) Re: Distribution. | ||
| + | * The most simple way is to just have a list of tar.gz compressed archives of each plugin. | ||
| + | * The next option would be to offer the ability to install via the admin interface, where Mantis would check against a web list of available plugins and download (to the server) and install the plugin (requiring Mantis to have write privileges) to the plugins directory. | ||
| + | * Another option is to have all the plgins in RPM form - which would automate installation for the sysadmin. | ||
| + | * (DGtlRift) Should the plugins be globally " | ||
| ==== First implementation ==== | ==== First implementation ==== | ||
mantisbt/addson_requirements.1189058850.txt.gz · Last modified: (external edit)
