Wiki

Case Status Kiln
Register Log In

Wiki

 
FogBugz Plugin Interfaces
  • RSS Feed

Last modified on 12/18/2014 11:42 AM by User.

Tags:

FogBugz Plugin Interfaces

Plugin Interfaces

(FogCreek.FogBugz.Plugins.Interfaces namespace)

Your plugin can implement any number of our powerful plugin interfaces, which allow your plugin to enhance the functionality, look, and feel of your Fogbugz site. The interfaces are organized into groups by functionality, described below. There is also a list of all interfaces.

Adding pages and links to FogBugz

  • Add Pages to FogBugz
    • Create a new page, either wrapped in the FogBugz interface, raw HTML, or raw binary data. The latter two are useful for providing file downloads or other non-HTML content such as HTML AJAX responses.
    • Create a configuration page for your plugin.
  • Custom Site-Wide Menus
    • Add links to the Settings menu, the Extras menu, and the Admin menu.

Database

  • Add Custom Database Tables
    • Add custom tables to the FogBugz database, and manage their schema and migrations when the plugin is upgraded.

See "Working with FogBugz Objects" below for explanations of how to set up special "Join" relationships with existing FogBugz tables to automatically load your data when an object is loaded.

See Generic Database Access for an explanation of how to query existing FogBugz tables via the Plugin API.

Working with FogBugz Entities

FogBugz provides three types of interfaces for working with FogBugz entities.

  • Commit interfaces provide methods that are called when changes to an entity are committed to the database.  These give plugins a way to know when a change has been made, and make their own changes to the object.
  • Join interfaces allow plugins to set up a special "Join" relationship between a custom Plugin table and an existing FogBugz table that will cause plugin fields to be automatically loaded when an entity is loaded.  These allow plugins to easily associate their own database columns with existing tables.
  • Display interfaces allow plugins to add UI elements to the page when entities are listed, viewed, and edited.

See Access and Modify FogBugz Entities for general information on loading and editing FogBugz objects via the Plugin API

Supported Classes (* indicates no Display interface exposed)

* indicates no Display interfaces exposed

Filters and the Grid View

Search

  • Enhance FogBugz Search
    • Extend the search query syntax to include new fields (axes), and/or add new data to the full-text indexer

Serve static files

Handling requests

Maintenance (asynchronous tasks)

  • Periodic Site Maintenance
    • For long-running tasks or periodic maintenance that don't need to slow down a user's request:
      • Heartbeat tasks run during the day (typically every few seconds)
      • Daily tasks run overnight