Changes between Version 40 and Version 41 of TracDev/PluginDevelopment
- Timestamp:
- May 6, 2010, 10:30:06 PM (14 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
TracDev/PluginDevelopment
v40 v41 6 6 == Extension points == 7 7 8 Trac offers an increasing number of ''extension points'' that allow you to plugin custom extensions for various functions. You can view a list of provided extension points on the page ''About Trac/Plugins'' of your Trac installation.8 Trac offers an increasing number of ''extension points'' that allow you to plugin custom extensions for various functions. You can view a list of provided extension points on the page ''About !Trac/Plugins'' of your Trac installation. 9 9 10 10 === Trac Extension Points === 11 11 12 Below you find a still incomplete list of extension points available in the current trac release ( 0.12). If you want to contribute documentation on any of the below described extension point interfaces, feel free to add the documentation. Please use the template [wiki:TracDev/PluginDevelopment/ExtensionPointDocumentationTemplate] when authoring new documentation.12 Below you find a still incomplete list of extension points available in the current trac release ([milestone:0.12 0.12]). If you want to contribute documentation on any of the below described extension point interfaces, feel free to add the documentation. Please use the template [wiki:TracDev/PluginDevelopment/ExtensionPointDocumentationTemplate] when authoring new documentation. 13 13 14 14 ||='''Extension Point Interface'''=||='''Source'''=||='''Description'''=|| … … 20 20 ||[wiki:TracDev/PluginDevelopment/ExtensionPoints/trac.mimeview.api.IHTMLPreviewAnnotator trac.mimeview.api.IHTMLPreviewAnnotator]||[source:trunk/trac/mimeview/api.py trac.mimeview.api.IHTMLPreviewAnnotator]||Allows plugins to add additional information to an XHTML representation of a given file, for example meta data on the file and so on.|| 21 21 ||[wiki:TracDev/PluginDevelopment/ExtensionPoints/trac.mimeview.api.IHTMLPreviewRenderer trac.mimeview.api.IHTMLPreviewRenderer]||[source:trunk/trac/mimeview/api.py trac.mimeview.api.IHTMLPreviewRenderer]||Allows plugins to provide support for rendering specific content of a specific type as HTML (used for TracSyntaxColoring and image preview).|| 22 ||[wiki:TracDev/PluginDevelopment/ExtensionPoints/trac.notification.IEmailSender trac.notification.IEmailSender]||[source:trunk/trac/notification.py trac.notification.IEmailSender]||Implement this interface to be able to send notification mails.|| 23 ||[wiki:TracDev/PluginDevelopment/ExtensionPoints/trac.perm.IPermissionGroupProvider trac.perm.IPermissionGroupProvider]||[source:trunk/trac/perm.py trac.perm.IPermissionGroupProvider]||Implement this extension point interface when you can provide information on groups that a given user is a member of.|| 24 ||[wiki:TracDev/PluginDevelopment/ExtensionPoints/trac.perm.IPermissionPolicy trac.perm.IPermissionPolicy]||[source:trunk/trac/perm.py trac.perm.IPermissionPolicy]||By implementing this interface you can do more finely grained permission checks.|| 22 25 ||[wiki:TracDev/PluginDevelopment/ExtensionPoints/trac.perm.IPermissionRequestor trac.perm.IPermissionRequestor]||[source:trunk/trac/perm.py trac.perm.IPermissionRequestor]||Plugins can use this extension point to define additional "actions", or permission roles, for the permission system.|| 26 ||[wiki:TracDev/PluginDevelopment/ExtensionPoints/trac.perm.IPermissionStore trac.perm.IPermissionStore]||[source:trunk/trac/perm.py trac.perm.IPermissionStore]||Plugins can use this extension point to implement a storage for permissions and also to handle user authorization.|| 23 27 ||[wiki:TracDev/PluginDevelopment/ExtensionPoints/prefs/trac.prefs.api.IPreferencePanelProvider trac.prefs.api.IPreferencePanelProvider]||[source:trunk/trac/api.py trac.prefs.api.IPreferencePanelProvider]||Allows plugins to add additional preferences panels to the user's preferences page.|| 24 28 ||[wiki:TracDev/PluginDevelopment/ExtensionPoints/trac.resource.IResourceManager trac.resource.IResourceManager]||[source:trunk/trac/resource.py trac.resource.IResourceManager]||Allows plugins to take over full control of the realms that they provide, incl. also introducing new resource types to the system.|| … … 33 37 ||[wiki:TracDev/PluginDevelopment/ExtensionPoints/trac.web.api.IRequestFilter trac.web.api.IRequestFilter]||[source:trunk/trac/web/api.py trac.web.api.IRequestFilter]||Allows plugins to both preprocess and postprocess HTTP requests.|| 34 38 ||[wiki:TracDev/PluginDevelopment/ExtensionPoints/trac.web.api.IRequestHandler trac.web.api.IRequestHandler]||[source:trunk/trac/web/api.py trac.web.api.IRequestHandler]||Allows plugins to process HTTP requests.|| 39 ||[wiki:TracDev/PluginDevelopment/ExtensionPoints/trac.web.api.ITemplateStreamFilter trac.web.api.ITemplateStreamFilter]||[source:trunk/trac/web/api.py trac.web.api.ITemplateStreamFilter]||Allows plugins to filter existing [http://genshi.edgewall.org. Genshi] streams prior to that the template will be rendered.|| 35 40 ||[wiki:TracDev/PluginDevelopment/ExtensionPoints/trac.web.chrome.INavigationContributor trac.web.chrome.INavigationContributor]||[source:trunk/trac/web/chrome.py trac.web.chrome.INavigationContributor]||Allows plugins to extend the navigation menus of the web interface.|| 36 41 ||[wiki:TracDev/PluginDevelopment/ExtensionPoints/trac.web.chrome.ITemplateProvider trac.web.chrome.ITemplateProvider]||[source:trunk/trac/web/chrome.py trac.web.chrome.ITemplateProvider]||Extension point interface for components that provide their own templates and accompanying static resources.||