This page is still a beta!

Chapter 1. EXT: Modern Downloads

Extension Key: ab_downloads

Copyright 2005 - 2009, Andreas Bulling, <typo3@andreas-bulling.de>

This document is published under the Open Content License

available from http://www.opencontent.org/opl.shtml

The content of this document is related to TYPO3

- a GNU/GPL CMS/Framework available from www.typo3.com

1.1. Introduction

What does it do?

This is a modern download plugin based on the Modern Linklist (ab_linklist) extension.

It has the following features:

  1. Backend users can create categories and downloads, they can accept or delete new downloads proposed by frontend users, accept or disable downloads reported broken by frontend users and can check for non-working downloads (the latter also from behind a proxy server as curl support is available).

  2. Frontend users can rate downloads, the current rating/number of votes is shown in the detailed download view and also with small stars in the category view. Both features can be disabled in the backend.

  3. Frontend users can specify a contact address and a preview image when proposing a new download. The maximum sizes for images in the category and detailed link view can be defined in the backend.

  4. All download and category values (label, description, href, rating, preview image, parent category, ...) are fully editable in the backend which also provides comfortable, graphical category trees.

  5. The extension features comprehensive, FlexForm-based configuration options for all important plugin settings.

  6. For each category the total number of downloads (plus downloads in all subcategories) is shown in the frontend.

  7. For each category an image can be defined which is shown in front of the category link instead of the standard black triangle.

  8. The number of downloads shown on a page can be limited to a certain value, a comfortable page browser has been added.

  9. Flexible "TOP lists" show the TOPx number of downloads concerning rating, clicks and creation time per category (and below).

  10. A “TREE” view shows a tree of all categories and downloads on one page similar to other download extensions around.

  11. A “CATALOG” view shows a catalog of the categories and downloads similar to the google catalog.

  12. date_stdWrap and time_stdWrap functions can be used to format the display of date and time.

  13. An e-mail (with configurable subject) is sent to a specified address if a download is proposed/reported broken by a frontend user.

  14. The plugin supports basic multiple-click and multiple-rating protection by storing the user's IP address.

  15. A blacklist for words in the label and description fields of a download is provided. If the user-submitted label and/or description contains one of these words, the download proposal is refused with an error message.

  16. A (simple and slow) search function has been added which provides searching on label and description of downloads.

  17. The design and layout can be fully customized and fitted to your needs by editing the supplied CSS-based and table-based templates. “Default CSS-styles” with some basic CSS-definitions are also provided.

  18. Caching of the output can be enabled and the extension also makes use of the new cHash mechanism.

  19. The extension is capable of displaying multi-language content: Categories and downloads can be translated using the standard TYPO3 facilities.

  20. The extension supports the versioning of downloads and the workspaces functionality offered by TYPO3 version 4.0.

  21. The extension features import wizards which allow to 1) automatically generate a SQL query to import categories/downloads from other download lists/database tables and 2) to import categories/downloads from a CSV file.

  22. The extension also features an export wizard which allows to export categories/downloads to different output formats (HTML, XML, TXT and CSV are supported so far).

  23. The backend module offers a statistics functionality which allows to view statistics on the categories/downloads contained in the database.

  24. FreeCap and Captcha Library support (extensions: "sr_freecap" and “captcha”) is integrated for the “Propose a new download” frontend form.

  25. The extension supports frontend editing of download records.

  26. The extension features sponsored downloads which are always shown first in the different views and can have assigned an additional description.

Online Resources

If you like this extension please consider to rate it at:

http://typo3.org/extensions/repository/view/ab_downloads/$CURRENT_VERSION$/rating/

Project homepage:

http://typo3.andreas-bulling.de/en/extensions/modern-downloads/

Subversion repository:

http://repos.andreas-bulling.de/ab_downloads/

Bugtracker:

http://typo3.andreas-bulling.de/en/bug-tracker/

Donations:

http://typo3.andreas-bulling.de/en/donate-money/

A demo with the most recent features enabled can be found here:

http://typo3.andreas-bulling.de/en/demos/modern-downloads/

Most of the new labels/backend options have only been translated to German yet. So please feel free to send me more translations to make this extension usable for more people!

Screenshots

Frontend

This is the first of the three available main views, the “CATEGORY” download and category view in the frontend. The style and the layout can easily be changed via a template and CSS of course. You can see a “Propose a new download” (display for anonymous users can be suppressed with a backend option) [1] and also three of the possible “TOP” lists available with 5 downloads each (can be changed in the backend): Rating, Clicks and Date of adding [2].

Following “Propose a new download” frontend users can propose new downloads with a form you can see in the following illustration. New downloads have to be approved in the backend before they become visible in the frontend.

The following is the same view as in illustration 1 but with an additional link path [1] for easier navigation in the category tree. You can see the stars representation [2] which can be disabled for the category view in the backend. You can also see the three links shown for each download: To view the details, to report a download as broken and to rate a download [3]. These features are shown in detail in the next three illustrations. Please notice that instead of the “report broken” link in this case only a short text is shown because the download has been reported as broken before.

From the category view the user is able to view a page giving detailed information about a download:

Another feature is the handling of broken downloads. Frontend users can report downloads as broken from the category view. After that a backend notification record is created for further handling by BE users.

Frontend user also have the possibility to rate downloads which you can see in the following illustration:

The following is one of the additional views, the “SEARCH” view. It displays a search function one can use to search for a word in the titles and descriptions of all downloads available in the frontend.

The second main view meant as an alternative to the “CATEGORY” view is the “TREE” view which displays a tree of all categories and downloads on one page similar to other download extensions around.

The last main view is the “CATALOG” view which displays a catalog of the categories and downloads similar to the google catalog.

Backend

The extension's backend functionality can be divided into two main parts:

  1. The “Modern Downloads” backend module

  2. The functionality provided within the “Edit record” backend forms for categories and downloads.

The “Modern Downloads” backend module

Here you can see an overview of downloads submitted by frontend users. By clicking on the two icons besides each download you can accept or delete them. You can also select a different category for the download.

In this view you can see all the downloads that were reported as broken by frontend users. By clicking on the two icons besides each download you can accept or disable them.

Here you can see an overview of all downloads including their availability (online/offline). You have the possibility to enable/disable certain downloads by clicking on the two icons besides each download.

Here you can generate a SQL query to import categories/downloads from other download extensions/database tables. Just follow the instructions step by step.

Here you can export categories/downloads to different output formats. Just follow the instructions step by step.

Here you can view statistics on the categories/downloads in the database.

The functionality provided within the “Edit record” backend forms

This is how the “Edit record” backend form for categories looks like:

And this is how the “Edit record” backend form for downloads looks like: