This page lists some procedures around adding and maintaining Trac hacks. The TracHacks page contains more information, contact details, bug reports, enhancements, suggestions, etc.
Contributing a hack
To contribute a hack, do the following:
- Register a user name and login with that name (requires cookies).
- Fill out the NewHack form.
- Verify that all the details for your new page are correct.
- Commit your code to the provided Subversion URL. Alternatively, you can attach your hack to your Wiki page, but you can't delete or replace attachments.
- Consider subscribing to the trac-hacks mailing list.
List your own hack hosted elsewhere
Feel free to create a stub page here with a short description and links to your own hack. Please adhere to the page naming convention by appending the hack type, so that a plugin that creates Gantt charts is called GanttPlugin and a generic DoStuff macro is named DoStuffMacro.
Adopt Unmaintained Hacks
Trac hacks tag guidelines
Tags are keywords that can be added to your hack and provide a broad categorisation to your hack to indicate its type and scope. Tags can be added to your hack through the keywords field, which is present at the bottom of the hack's wiki page. Tags are entered as free format text and therefore need to be maintained manually.
Finding tags and plugins using tags
- The currently used tags can be found on the Trac hacks tag cloud: https://trac-hacks.org/tags
- The hacks meeting a certain keyword, say notification, can be found as follows: https://trac-hacks.org/tags/notification?wiki=on
- Hacks sharing the same tag can be found by adding the following macro to your wiki page: [[ListTagged(notification)]]
Tags make your hack accessible to a wider audience in the following ways:
- gives an indication of how well tested and maintained your hack is
- makes other hacks that offer similar functionality easier to find
- gives an indication of the functional scope of your hack
When authoring or maintaining hacks, always make sure the tags are up to date by providing at least these keywords:
- Type: plugin, script, macro, theme, patch. See type.
- Trac release number for which the plugin has been tested: 0.12, 1.0 etc. See release.
- License: a list of available licenses is at DevGuide#Licensing.
- Functional attributes: some keywords that would broadly categorise the scope and functionality of your plugin, see the tag-cloud for helpful options to choose from.
Tag keywords can be either plural or singular. It is recommended to use the keyword that is already being used, whether that is singular or plural. Having both plural and singular would otherwise obscure the meaning behind them.
Additionally, TracHacks uses a couple of metatags when creating new hacks: release and type. Please don't abuse this. If a tag page (eg macro) is itself tagged with one of the meta-tags, it will be included as an option in NewHack. To understand what this means, just take a look at page type as an example.
Community and Site Evolution
The following proposals hold more ideas on best practices and may even yield procedures and guidelines in the future:
- CodeReviewPlugin/Concepts CodeReviewPlugin Concepts
- License/MandatorySignOff Rules for contributions
- NewHackTemplate/InstallAndConfigureProposal Discussion
- ProjectManagementIdeas Project management ideas
- SiteUpgradeProposal Site Upgrade Proposal
- SiteUpgradeProposal/UserClearance Username Policy for trac-hacks.org
You are heartily invited to join in for discussion and your own suggestions.