User Tools

  • Logged in as: anonymous (anonymous)
  • Log Out

Site Tools


mantisbt:addson_requirements

This is an old revision of the document!


Mantis Add-Ons Requirements

Author: Victor Boctor Status: In Progress

Introduction

Mantis currently supports some extensibility features like custom fields, custom functions, custom constants, and custom strings. These has proven to be useful features that allowed Mantis users to tweak their own installations without having to change Mantis code base and hence making the upgrade experience much easier. The aim of Mantis Add-ons support is to take this to the next level and enable users to do more powerful additions to Mantis and be able to make these publicly available to other users. Some of the add-ons will be distributed with Mantis and others will be available through Mantis website / bugtracker.

Types of Plug-in

  • Display Filters - Provides the ability to pre-process strings before they outputted to the web page. This can be used to implement features like the ones built-in Mantis to link to issues, issue notes and cvs web. This is where # + 123 is converted to a hyperlink to issue number 123.
  • Group Action - Provides the ability to process a set of issues that have been selected from the View Issues page and based on user's input process such issues in a custom way.
  • Issue Action - Ability to add an action button to the Issue View page, this is like the Monitor and Delete buttons.
  • Reports - Users should be able to easily develop extra reports
  • Extensions - Ability to implement a Mantis extension which cuts accross all different areas of Mantis, extra fields, extra reporting, configuration, reports, menu options, etc.

Add-On Support Infrastructure

  • Ability to detect all adds-on in the Mantis directory structure.
  • From the add-ons page, allow users to install / un-install an add-on.
  • Keep track of the installed add-ons and make sure to provide them with the needed integration points.
  • Extend the database scheme upgrade script to support modules.

Components of an Add-On

  • Install Script - Once the module is place in the Mantis directory structure, it can be activating by running its install script.
    • Check pre-requisites (e.g. Mantis version, PHP version, MySQL version, etc).
    • Add-ons can provide their installation wizard or apply the installation steps without any user inputs.
    • Detect the install vs. upgrade scenario.
    • Extend the database as required.
    • Add the add-on to the list of installed add-ons.
    • Add the module specific configuration options.
    • Add the module specific information (e.g. Name, Version, GUID, etc).
  • Uninstall Script - Modules must provide the ability to un-install them, this includes the following:
    • Removing the add-on from the list of installed add-ons.
    • Reverting to the SQL schema before installing.
    • Remove add-on specific custom fields.
    • Remove the module specific configuration options.

Directory Structure

mantis/
  admin/
  core/
  lang/
  modules/
    constants_inc.php
    functions_inc.php
    lang/
      strings_english.txt
    

Feedback

This is still in progress, but you are free to contribute ideas.

mantisbt/addson_requirements.1159047282.txt.gz · Last modified: 2008/10/29 04:31 (external edit)

CC Attribution-Noncommercial-Share Alike 4.0 International Driven by DokuWiki