Contents

Adds a downloads section

Description

This plugin provides downloads section which may contain releases or other files. It is administrated via WebAdminPlugin and there is an interface to the trac-admin tool that may help during automatic server maintenance. The Downloads section of Trac displays a table with information about the uploaded files such as description, component, version, size, architecture, type and optionally assigned tags which the download is related to. It also collects information about number of downloads which can be displayed on wiki page together with direct links to the specified download.

Download

Source

Dependencies

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.

Installation

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

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. visible_fields 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:

In 0.12 branch, the DownloadsCore component was splited into the DownloadsDownloads component, which handles Downloads section of Trac, and the DownloadsCore component that serves file download requests and other core features. This means that you can disable the DownloadsDownloads component to hide Downloads section from users. admin module was renamed to consoleadmin.

The next step is to upgrade your environment:

# trac-admin <path_to_environment> upgrade

Permissions

DownloadsPlugin defines three permissions: DOWNLOADS_VIEW for normal users and DOWNLOADS_ADD and DOWNLOADS_ADMIN for people who uploads and administrates downloads. DOWNLOADS_ADD permission is implemented since 0.12 branch and allows user to upload downloads without access to WebAdmin interface.

Displays sum of number of downloads for downloads identified by comma separated list of IDs or filenames. If there is empty list or any zero (last two examples), sum of all number of downloads for all downloads is returned. Non-existing downloads silently counts as zero. Works with branch 0.12 only.

[[ListDownloads()]]

Displays same table that is displayed in Downloads section of the Trac on a wiki page. Works with branch 0.12 only.

Inteface to trac-admin

There is ability to list, insert or delete downloads from server's console/script with following commands: