Customisation Examples
INTEGRATION with third parties
Subversion Integration -- Allow tracker updates from subversion commits, and display subversion revision info in tracker web interface.
ShibbolethLogin -- Authenticate to Roundup via Shibboleth
RequireReCAPTCHAForLogin -- Prevent automated login password guessing.
ViewCvsIntegration -- Allow linking from ViewCVS revision logs to the issue they relate to in Roundup.
ThirdPartyEmail -- some ideas on using third party email providers with Roundup.
DETECTORS
NewIssueCopy -- Send a copy of new issues to specified email addresses.
CreatorResolution -- Only allow the creator of an issue to close it - otherwise set the status to "confirm-done" if it's available, else "in-progress".
AnswerNewIssue -- Answer a new issue with a mail.
IRCBot notifications -- Automatically notify issue-changes/updates/creation using IPC (fifo)
COMPATIBILITY
EmailCompatibility -- Contains an auditor that works around an issue in Internet Explorer and email attachments.
MessagesAsMbox -- Download an issue's message spool as an mbox-formatted file.
ImportingFromBugzilla -- Importing issues from BugZilla isn't as hard as you might think.
DISPLAY
MsgFile -- Show each message with its files and enforce that they stay together at all times
TodoTemplate -- An example how roundup can be used as an extensive personal todo list manager
LinkFormattingExample -- Want to integrate roundup with other systems? Here's a poor-mans-simple-yet-powerful way to do it.
ReactionTime -- Calculates time between the start of the issue and reaction to it from one of the responsible people.
PopupResultMessages -- Change the red/white result messages at the top to pop-up messages.
SimpleStatusCharts -- Generate a pie chart summary of statuses in your tracker.
QueryResultPieCharts -- Show a pie chart dependent of the query results. The slicing depends on the selected *Grouped by* property.
Issue Collector to show a graph of issues over time.
DateHelp -- ClassHelp popup for date properties (now integrated into Roundup 1.1.3+ )
DefaultChangeNoteText -- Filling the "change note" text box with some default text in issue creation.
MultiSelect -- Uses a multiselection option for nosy and superseder option in issue.item.html (instead of classhelp and javascript popup)
IssueCopyClipboard -- A mechanism to create a reference for the current issue and copy it to the clipboard
UserMenu -- With many users user menus can be a performance penalty. This solution creates the drop-downs as static HTML in a detector
ShowRoundupVersion -- How to display the current roundup version in webpages.
IndexBackLink -- Adds a "back link" to return directly to the most recently displayed index.
UsingSymbolicTimezone -- Simple change to the user.item.html page and some supporting extensions to enhance the user setting of timezone.
TalSnippets - example tal statements to implement particular actions.
ReplacingAtNoteWithExplicitMsg - Implementing @note using msg-1 directly
SortByDragAndDrop - allow sorting of index view using drag and drop. Useful when ordering a backlog in Scrum or other ordering task.
MarkupUsingMarkdownOrCreole - Use local_replace.py to support comments in markdown or creole.
UseSelect2andRestForIssueMultilink - Replace multilink text edit box with a searchable rest based selection widget.
IsJavascriptAvailable - Allow roundup to determine if javascript is enabled on the client. Allows fallback to non-javascript based interface elements.
BugsPythonOrgJavascriptAutocompleteNosy - The bugs.python.org autocomplete widget for the nosy list.
FileUploadViaDragDropAndPaste - allow you users to add files using drag and drop
- (single files only) or paste screenshots for attachment.
BreadCrumbs - The Breadcrumb feature allows one to quickly move among issues one is working on. The author often will be working on several issues and will jump from one to another. Breadcrumbs make this simple to do.
NEW FUNCTIONALITY
TimelogAuditor -- Automatically scanning messages for time logs. A useful extension to the timelog example in the customisation doc.
GrabBagIssues -- Issues comprised of lots of little semi-issues to do.
ProjectManagerBatchEditing -- Edit properties on all your open issues at once.
BatchSearchAndEditing -- Edit properties on issues filtered through a search process.
RoundupAsWiki -- Turn Roundup (or parts of it) into a wiki.
FeedingRoundup -- Take items from multiple RSS feeds and turn them into Roundup issues
FeedGeneration -- Generating RSS or Atom feeds from roundup.
RetiredUserSearch -- Searching for an issue created by a retired user
CustomerSupport -- Using roundup as a customer support system (under construction).
CloneAnIssue -- Have a link in the Issue template to let you create a new issue with the same current content.
LoopCheck -- Sometimes issues refer to other issues via a link (or multilink). The loop-check ensures that no issue refers to itself transitively
RegularExpressionSupport -- A new variant for the 'issue.search.html' page that will add regular expression search support to your tracker.
SpamBayesIntegration -- Integrating with SpamBayes to fight spam on public trackers
SpellCheck -- Add a spell check feature to be used by the web interface. Aspell is used as spell check engine.
MultipleIncomingAddresses -- How to let one roundup instance handle mail to several mail addresses
RoundupReminderForUnAssigned -- Roundup reminder script for sending emails of un-assigned issues to a static email address.
RoundupBookmarks -- A simple mod to roundup's saved queries mechanism so you can save any search URL, not just web form created ones.
JumpSearchIssueEntryBox -- A replacement for the quick "Search" form that provides a jump to issue when a number is entered (use a quoted number to search for the number). So you can enter 25 and display issue25, or enter 25 issues and see issues that include the number 25 and the word issue or enter "25" and see issues that contain the number 25.
ReplyLinkForMessages -- Sometime you want to reply to a previous update to a ticket. This code provides a reply link that can be aded to the message display to quote the message into the @note box. Suggested in https://issues.roundup-tracker.org/msg3007
AddAboutPage -- Get info about the running tracker by navigating to this page.
SECURITY
CustomerIssues -- Create logins for customer that are allowed to view only their issues.
CheckForExposedPasswordHIBP -- check to see if a password has been exposed by searching Have I been Powned.
LDAPLogin -- Authenticate to Roundup via an LDAP server
LDAPLogin2 -- Authenticate Roundup via an LDAP/AD server. The code uses both ideas from ldap_login.py of MoinMoin and ideas from LDAPLogin, works until verion 1.5.0 included
LDAPLogin2_1_5_1 -- Updated version of LDAPLogin2 which which takes the change in the API of 1.5.1 into account
ActiveDirectoryLogin -- Authenticate to Roundup via LDAP to Active Directory
WindowsNTLogin -- Authenticate to Roundup via an NT Server.
ConfidentialEmail -- Replies to issues should only go to a closed user group (e.g. company employees).
OneTimePasswords MultiFactorAuthentication-- Implement HOTP [4226] (or with modifications TOTP [6238]) two factor authentication (2FA) for your tracker. Compatible with Google Authenticator.
ShibbolethLogin -- Authenticate to Roundup via Shibboleth
RequireReCAPTCHAForLogin -- Prevent automated login password guessing.
LoginWithEmail -- an extension to allow login using the user's primary email address.
TestPasswordComplexity -- Modify a tracker to stop people from using insecure passwords
MODIFICATIONS
NosyMessagesAllTheTime -- Send nosy messages even when no change note was entered during a change.
SubmitSilentChange -- Allow a change to an issue but don't notify people even if change note was added.
ExportCSVNames -- Exports csv with names of linked items instead of ids
ExportCSVNames_Extended -- Exports csv with names of the objects, it is an extended version of ExportCSVNames
ListFilesWithMessages -- List uploaded files alongside the messages they were attached to.
ReverseLinkEdit -- When editing a link to items of the same type, provide the ability to link from another issue to this issue as well as change this issues' links to other issues.
SqliteFullTextIndexer -- Use SQLite's built-in fts4 module as a full-text indexer
ProduceJsonData -- A github project for returning json data from the web interface.
ExportiCalendarFile -- RFC2445 export an ical file from roundup.
API/Changing core functions from tracker
DatabaseWrapper -- A wrapper for roundup's hyper database. It has convenient methods of retrieving and changing data in the database without having to know too much about the roundup API.
MixinClassFileClass -- A mixin/ClassInterceptor for Class or FileClass used in schema.py (hence supporting all backends). This can:
- compress file "content" (for messages primarily composed of text); and
- suppress duplicate file uploads (e.g. keep only one copy of a signature for people who have "image signatures" setup in their email client.)
This method could be use to encrypt file content on disk.
Database Backend
FirebirdSQL -- A backend for the FirebirdSQL database.
Works with 0.7 (not updated to 0.8+)
TimelogBillable -- Enhance your timelog functionality by tracking billable, non-billable and already-billed timelogs.
MergeIssues -- Consolidate multiple issues into a single issue
VersionManager -- Adds a popup version manager tool to add, edit and link versions to (in this case) products
TextSearchBox -- Adding a text search box to the sidebar. Included in 0.8 by default.
PerUserStartPage -- Allows users to customise the page shown on logging in to Roundup
(Add a page with your example, and link it here.)