Site Maintenance Procedure
This page documents site maintenance procedures. It is a work in progress.
See also: BugReporting
- Plugins hosted outside of trac-hacks.org should have the external tag.
- Many externally hosted plugins have a Recent Changes section that can be removed from the page.
- Pages for externally hosted plugin that are no longer reachable should be removed after attempting to contact the author and waiting for 30 days.
- Authors of plugins hosted on GitHub should be invited to join the trac-hacks organization. The wiki page should be tagged with github-hosted.
- A stub page should be created for a plugin hosted on GitHub, if the stub page doesn't already exist.
- Plugins that are not only hosted on trac-hacks, but also PyPi, should be tagged with pypi.
[[Maintainer]]macro can be used on project wiki pages, for example TagsPlugin@78.
- It isn't necessary to specify the owner in the new ticket query string. It makes maintenance easier if the owner is removed, for example TagsPlugin@79).
- Deprecated plugins should have a notice at the top of the page using the
boxWikiProcessor, for example TracTagsXmlrpcPlugin@6. The deprecated tag should be added to the page.
- Plugins without a license should be tagged with nolicense. A ticket should be created to request that the author adds a license. The ticket should refer to DevGuide#Licensing for best practices of adding a license.
- Plugins should be tagged with one of the licenses listed on the license page. New licenses can be added to the list by creating a page and tagging it with license.
- Each license page should contain a link to the license text on the corresponding OSI page.
- Sporadically a page has a license notice and can in applicable cases be found at the bottom. This needs to be removed and the license should be added as a tag (if not already).
- Source code attached to unmaintained plugins would preferably be checked into the repository.
- Plugins without source code should be tagged with nosource. A ticket should be created to request that the author adds the source code.
- TODO Determine process for removing deprecated and unmaintained plugins and their associated tickets.
- TODO Should plugins be tagged with 'plugin' to distinguish them from users? Should macros similarly be tagged as 'macro' or 'plugin' or both? Same for themes?
trac-hacks organization on GitHub
The organization on GitHub has grown to a reasonable size through proactively contacting plugin author and asking if they'd like to join the organization and/or move their repository to the organization. An example invite is here.
Transferring a repository is better than forking it because it moves all of the issues and pull requests, and sets up a redirect from the old location. If the repository owner wishes to transfer the repository but maintain their own fork, it is better for them to transfer the repository and then create the fork rather than attempting to "give" the repository to the trac-hacks org by forking their repository.
Moving a repository to the organization
After a repository owner has decide to move their repository to the organization, complete the following steps:
- Create a New Team with the repository name as the team name. The team should be Visible.
- Add the repository owner to the team. If the owner is not yet a member of the organization this step will implicitly send them an invite.
- Wait for the repository owner to transfer their repository to the organization.
- After the transfer, promote the repository owner to Team Maintainer. Skip this step if the repository owner has chosen to transfer the repository to the organization but doesn't wish to maintain the code.
- Add the repository to the team with Write access granted to team members.
- Label the repository with the trac-plugin topic.
Plugins without license
The following query should help us locate plugins that don't have a license tag. License tags are the following:
This is the current list of trac-hacks contributions that do not have a license:
- AdjectorIntegration Integrating Adjector in Trac wiki pages
- CleverBoxScript Interactive command line shell for the deployment and maintenance of Trac and subversion instances
CodeTagsPlugin Add code tags (
TODO) to source code
- DvbCronRecordingPlugin Adding recordings to a Trac database
- EggdropTicketInfoIntegration Supply ticketinfo in IRC using eggdrop
- EmacsWikiEditScript Trac Wiki Page Editing Mode for Emacs
- GanttChartPlugin Render Gantt charts in wiki pages
- InfoCardAccountPlugin Information Card Account Management Plugin
- JabberTracScript Import Jabber-muc logs
- LinkedInMacrosMacro LinkedIn widget library
- MacTheme Themes for Trac based on MacOS appearance
- MantisImportScript Mantis to Trac conversion script
- MetaTrackerPluginMacro MetaTracker integration
- MoinToTracScript Convert MoinMoin (or twiki) Wiki to Trac
- MultiRepoSearchPlugin Full text search in multiple repositories
- MylynTracConnector Trac Eclipse Mylyn Integration
- NavigationMenuPlugin Subtree Navigation Menu
- NewTicketLikeThisPlugin New Ticket Like This
- NoNotifyTimingPatch Don't notify us someone stopped working
- NoticePublisherPlugin Publish notices
- OAuth2Plugin Authenticate using OAuth2
- OneRepoManyTracSitesPatch One Repository Commit Can Update Tickets From Multiple Trac Sites
- OpenIdConnectPlugin |version| |trac versions| |build status|
- OsxRssDashboardWidgetLeopardIntegration OSX RSS Dashboard Widget
- Page2DocbookPlugin Page2DocBook - Export wiki pages as docbook documents
- PageVariableMacro Declare and use variables in wiki pages
- PerforcePlugin Perforce Plugin for Trac
- RedirectsPlugin Define server-side redirects
- RegistrationConfirmationPatch Registration Confirmation Patch for AccountManagerPlugin
- ReportChangesRSSPlugin Report ticket changes in a RSS feed
- RevtreePlugin/MergeInfoEnhancer RevtreePlugin enhancer for SVN 1.5 or later
- SavedQueriesScript Saved queries using Google Gears
- SimpleBlogPlugin Simple blogging tool for Trac
- SubProjectsPatch Add sub projects to your Trac environment
- SvnAuthzPatch Patch for new subversion svn_authz format
- TaskjugglerPlugin Export from Trac to TaskJuggler
- TestingWorkflow Testing Workflow enhancement
- TicketDepPlugin Add support for ticket dependencies to Trac
- TicketOwnerGroupPatch Ticket owner's group
- TicketRemindScript Yet another Trac tickets reminder script
- TicketToTracScript Create tickets from the command line
- TicketsBoardPlugin Whiteboard vision of ongoing tickets
- TimingAndEstimationSVNPostCommitHook Using a Subversion commit hook to interact with TimingAndEstimationPlugin
- TracAdvancedSearchPlugin Advanced search plugin that indexes your wiki
- TracCodeProcessorMacro Code Wiki Processor
- TracFoundationTheme Trac Foundation (Zurb) Theme
- TracGoogleAnalyticsPlugin Trac Google Analytics Plugin
- TracGoogleSearchPlugin Trac Google Search Plugin
- TracMathPlugin Support for LaTeX Math Formulas in wiki pages
- TracMercurialPlugin Mercurial VCS backend plugin
- TracMergeScript Merge N source Tracs into M destination Tracs
- TracMyPagePlugin Navigation bar tab for user personal page
- TracNavMacro Customizable navigation side-bar
- TracOnTwikiContribIntegration Trac On TWiki Contrib
- TracPeekIntegration TracPeek Windows Desktop Tool
- TracRedirect Redirection Macro for Trac
- TracRpcProtocolsPlugin Multiple protocols to perform RPC calls
- TracTimeTrackerPlugin TMetric - Free Trac Time Tracker
- TracToProjectIntegration Convert Trac tickets to MS Project tasks and vice versa
- TracUserPagePlugin Namespace for public or private user pages
- TracVS Visual Studio add-in for Trac
- TrueHttpLogoutPatch True logout mechanism for Basic/Digest Authentication