Version 7 (modified by Blackhex, 7 years ago) (diff)

Partial update of documentation for lastest (0.12) branch of the plugin.

Downloads Plugin


This plugin provides downloads section which may contain release or other files. It is administrable via WebAdminPlugin and shows information about uploaded files such as description, component, version, size, architecture and type which is download related to. It collects information about number of downloads too.

Bugs/Feature Requests

Existing bugs and feature requests for DownloadsPlugin are here.

If you have any issues, create a new ticket but read BugReporting page first, please.


Download the zipped source from [download:downloadsplugin here].


You can check out DownloadsPlugin using Subversion, or browse the source with Trac.


DownloadsPlugin for Trac 0.10 depends on WebAdminPlugin since many configuration options are avaiable only on apropriate WebAdminPlugin's pages. On Trac 0.11 this is supported by Trac itself. Optionally DownloadsPlugin uses TagsPlugin for tags support.

Plugin Versions

As many other plugins in this site even this plugin names its branches according to Trac versions. Here is a simple table explaining this convention for DownloadsPlugin:

Plugin Branch Trac Branch Plugin Version
0.10 0.10-stable 0.1
0.11 0.11-stable 0.2
0.12 trunk, 0.11-stable* 0.3

Main difference between 0.1 and 0.2 version is that 0.2 uses Genshi templates and 0.1 ClearSilver ones. 0.12 branch is the one where new features are introduced so you may experience some regressions with this branch.

* So far 0.12 branch of the plugin works with Trac 0.11 except of interface to trac-admin command. If you want to use this full-featured but testing branch, just disable DownloadsConsoleAdmin component.


After installing plugin's egg you can set up few configuration variables in trac.ini. Their default values are displayed bellow:


title = Downloads
path = /var/lib/trac/downloads
ext = zip gz bz2 rar # For 0.10 and 0.11 branch.
ext = zip,gz,bz2,rar # For 0.12 branch.
visible_fields = id file description size time count author tags component version \
  architecture platform type # For 0.10 and 0.11 branch.
visible_fields = id,file,description,size,time,count,author,tags,component,version, \
  architecture,platform,type # For 0.12 branch.
unique_filename = False
consoleadmin_user = anonymous # 0.12 branch only.

Variable title sets text of main navigation bar button. path is location where uploaded downloads are stored. It has to be accessible for writing to web server. Setting ext variable restricts allowed extensions of uploaded files. If unique_filename is enabled, plugin checks if file name of download file is not already occupied by any other download file. visibled_field variable controls appearance of downloads table columns in Downloads section. Finally, consoleadmin_user option serves for permission checks when listing, adding or removing downlads using trac-admin. This option is available only in 0.12 branch.

Note: Don't miss that ext and visible_fields options has changed to comma separated lists in 0.12 branch of the plugin.

If you run Trac in environment which needs to enable plugins explicitly put in trac.ini these lines:

tracdownloads.api.DownloadsApi = enabled
tracdownloads.admin.DownloadsWebAdmin = enabled
tracdownloads.core.DownloadsCore = enabled
tracdownloads.init.DownloadsInit = enabled
tracdownloads.timeline.DownloadsTimeline = enabled = enabled

The next step is to upgrade your environment:

# trac-admin <path_to_environment> upgrade


DownloadsPlugin defines two permissions: DOWNLOADS_VIEW for normal users and DOWNLOADS_ADMIN for people who uploads and administrates downloads.

You can grant them using these commands:

# trac-admin <path_to_environment> permission add <user> DOWNLOADS_VIEW
# trac-admin <path_to_environment> permission add <user> DOWNLOADS_ADMIN


There is only macro with two possible evocations for downloads referencing on wiki pages:

[download:<download_id> <text>] or
[download:<download_filename> <text>]

Recent Changes

15264 by rjollos on 2016-02-11 05:22:34
Remove unnecessary svn:mime-type on py files

svn:mime-type was set to "plain" for many files.

14882 by rjollos on 2015-08-13 22:09:47
0.3dev: Don't rely on transitive imports. Refs #12482.

from tracdownloads.api import * brings in to_datetime and utc.

14881 by rjollos on 2015-08-13 22:06:38
0.3dev: Returning a datetime object is enforced in Trac 1.1.3 and later.

Patch by sdegrande. Fixes #12482.



Author: Blackhex