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:
Results (1 - 100 of 117)
- AdjectorIntegration Integrating Adjector in Trac wiki pages
- AgileTracPlugin Manage agile projects through Trac
- AnjLabSyncItPlugin Outlook task management integration
- BasicThemeEditorPlugin Basic Theme Editor
- BitbucketSyncPlugin Synchronise a Bitbucket repository with a Trac repository
- BranchTimelinePlugin Filter timeline by a specified branch
- BurndownPlugin Scrum burndown with support for re-estimates
- CleverBoxScript Interactive command line shell for the deployment and maintenance of Trac and subversion instances
- CloneTicketPlugin Add a "Clone" button to tickets
- ContactFormPlugin Add contact form to Trac site
- CustomFieldProviderPlugin Provide custom fields programmatically
- DefaultColsPlugin Default query columns
- DvbCronRecordingPlugin Adding recordings to a Trac database
- EggdropTicketInfoIntegration Supply ticketinfo in IRC using eggdrop
- EmacsWikiEditScript Trac Wiki Page Editing Mode for Emacs
- EntityMacro Display Character Entities
- ExcelReportPlugin MS-Excel (xls) report generation
- GanttCalendarPlugin Ticket-based Gantt chart and calendar
- GanttChartPlugin Wiki processor to render Gantt charts
- GenshiMacro Render Genshi templates directly in wiki pages
- GitLocationPlugin Display Git location of source code
- GitolitePlugin Manage Gitolite repositories from Trac
- GlobalRegisterPlugin Global registration plugin
- InfoCardAccountPlugin Information Card Account Management Plugin
- JabberTracScript Import Jabber-muc logs
- LinkedInMacrosMacro LinkedIn widget library
- 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
- NotificationOptOutPlugin Notification opt-out plugin
- 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
- PandocPlugin Preview docx files using Pandoc
- PerforceJobScript Synchronize Perforce jobs from/to Trac tickets
- PerforcePlugin Perforce Plugin for Trac
- PhpBugTracker2TracScript Import phpBugTracker tickets into Trac
PreCodeBrowserPlugin Replace code
- ProtectedMacro Protect parts of a wiki page from invalid access
- PublicNotificationsPlugin Public notifications plugin
- QuickTicketPlugin Quickly add a ticket from any page
- ReScheduleScript Reschedule milestones on a new timeline
- ReadOnlyTicketPlugin Set read-only permission on tickets
- 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
- RoadmapFilterPlugin Include or exclude milestones from the roadmap
- RssEmbedMacro Embed RSS feed into wiki page
- STLviewerPlugin View and preview STL files in Trac
- SavedQueriesScript Saved queries using Google Gears
- ScarabToTracScript Migrate Scarab issues to Trac tickets
- SfnToTracScript sfn2trac.py - importer of SourceForge's new backup file
- SimpleBlogPlugin Simple blogging tool for Trac
- StackOverflowBadgeMacro Stack Overflow Badge Macro
- SubProjectsPatch Add sub projects to your Trac environment
- SubticketsPlugin Subtickets support for Trac tickets
- SumMacro Sum a list of numbers
- SvnAuthzPatch Patch for new subversion svn_authz format
- SvnCcHelpersScript Tools and docs to work withTrac, Subversion and Clearcase
- TaskTicketsMacro Tickets for project tasks
- 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
- TicketReminderPlugin Send reminders to owners and subscribers of tickets
- TicketToTracScript Create tickets from the command line
- TicketsBoardPlugin Whiteboard vision of ongoing tickets
- TimingAndEstimationPlugin Estimation and Time Tracking
- TimingAndEstimationSVNPostCommitHook Using a Subversion commit hook to interact with TimingAndEstimationPlugin
- ToggleMacroPlugin Toggle Мacro
- TracAdvancedSearchPlugin Advanced search plugin that indexes your wiki
- TracCmdScript Remotely editing Trac using a command line interface
- TracCodeProcessorMacro Code Wiki Processor
- TracCreateWebUiScript Trac Create Web UI
- TracDocsPlugin Documentation plugin for Trac
- TracEmojiPlugin Trac-emoji component
- TracGoogleAdsPlugin Trac Google Ads Plugin
- TracGoogleAnalyticsPlugin Trac Google Analytics Plugin
- TracGoogleSearchPlugin Trac Google Search Plugin
- TracGvizPlugin Integrate Trac with Google Visualization API
- TracMathJaxPlugin Render mathematical expressions in Trac using MathJax
- 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
- TracOwlDocPlugin Generation of OWL Documentation in Wiki Pages