HTML Logo by World Wide Web Consortium ( Click to learn more about our commitment to accessibility and standards.

Moving forward with Composr

ocPortal has been relaunched as Composr CMS, which is now in beta. ocPortal 9 will be superseded by Composr 10.

Head over to for our new site, and to our migration roadmap. Existing ocPortal member accounts have been mirrored.

ocPortal Tutorial: Providing downloads

Written by Chris Graham, ocProducts
A system for the storage, organisation and retrieval of files is provided by the software. A file in this system is called a download (and by the way, we don't use the noun 'download' to refer to other things in this software).

Note that the download system is not intended for placing articles: there is a dedicated news/articles system for this. You may of course use it to store articles if you prefer to, or to place articles in special formats such as PDF.

Setting up categories

Thumbnail: Adding a download category

Adding a download category

Thumbnail: The download tree after adding our category

The download tree after adding our category

In the download system, downloads are placed in categories, and categories together make up a tree (hierarchical) structure. When ocPortal is first installed there is just a single download category: the 'Home' category, which will be the 'parent' to the first new category ('child') you make. When you make a new category, you can choose a 'parent' of any existing category; by this structure, the tree is formed (by choosing a parent, you are essentially saying that your new category exists underneath it in the structure).

This tree principle applies to many areas of ocPortal: we strive to standardise things across our product to make things as consistent (hence, easy) as possible.

Download categories may have 'representative images'. When you are viewing a link to a category from it's parent category, the representative image will be included.

Adding a download

Thumbnail: Adding a download

Adding a download

Thumbnail: Do-next options are provided after adding a download, as is also the case when managing other ocPortal content

Do-next options are provided after adding a download, as is also the case when managing other ocPortal content

When you add a download you have a choice as to whether to specify a URL or to attach a file.

We recommend that you attach a file, as ocPortal can then manage it without risk of the URL being broken by something outside of the ocPortal control. There is a caveat with this, however, as the web was not designed for uploading large files. Essentially, the web was designed to make fast requests for web pages: attaching a large file extends the request, and widens the window for transfer errors (HTTP uploads have no 'resume' mechanism, and no good way of easily finding it a transfer is actually proceeding other than checking for network usage). In addition, PHP may not support large files (sometimes dropping POST information as well as the file, which makes ocPortal give an error message). Therefore we recommend not to try attaching a file more than around 50MB in size. Larger files should be uploaded manually, and then the URL entered.
Thumbnail: The subcategory (where our download is being stored) is displayed

The subcategory (where our download is being stored) is displayed

Thumbnail: Our download, listed in its category

Our download, listed in its category

For an uploaded file, you will see upon edit that the filename of the actual on-disk file can not be determined from the URL. ocPortal stores the true filename in the database, but makes it so that people cannot circumvent the download system and download files directly. When an uploaded file is downloaded, it does not actually directly indicate for the user's web browser to download the URL, but rather, it is 'piped through' ocPortal so as to hide where it came from. This allows you to maintain your chosen permission scheme. In addition, ocPortal provides an anti-leech feature which stops people placing the direct download links on other websites.

Important note

It is your responsibility to scan files for viruses, as ocPortal does not include a virus scanner. This is particularly relevant to those submitted for validation by users.
Thumbnail: Viewing a download

Viewing a download

When you add a download, ocPortal automatically adds a specially named gallery for it. You will actually see a convenient 'add image' icon directly after adding the download, and you will also find an equivalent link on the download-view screen itself. The download gallery is displayed in-line, within the actual download-view screen. The ocPortal gallery system is used for adding and storage of the images.

Editing/Deleting a download

Thumbnail: Editing a download

Editing a download

Thumbnail: Deletion options are presented on the edit screen, as is the standard in ocPortal

Deletion options are presented on the edit screen, as is the standard in ocPortal

When you edit a download, you get a choice to replace the file.

When deleting a download you get the option to leave the actual file on the server. This is something you will rarely want to do, as it is best to just let ocPortal manage the files inside your upload directories; however it is useful in the rare case that you added a second download to use the URL of the download about to be deleted.

ocPortal will never try to delete a file that is not inside an upload directory, and naturally it cannot delete the file at any arbitrary URL or any file for which there aren't sufficient file permissions.

Accessing downloads

Downloads are accessed from the 'downloads' module, which is linked to on the default menus on the website ('Downloads', under the 'Content' menu).
This link will take the user to the Home download category, from which they can browse through the categories until they find a download they want.

We understand how important it is for users to be able to navigate fast around a website, so we have also created a 'view the whole download tree' feature that they may use to jump straight to the category of their choosing; this is not linked in by default, but can be placed on menus by browsing for it in the menu editor's entry-point tree. The data for the tree is downloaded in a very compressed format, making it fast to load.

Searching inside downloads

User's may use the unified ocPortal searching system to find downloads that match their interests. i.e. downloads may be searched from the search module, or the search block.

In addition, the search module is able to search within the actual downloadable files. The following file types are supported for keyword extraction:
  • pdf
  • txt, 1st
  • rtf
  • xml
  • searching text buried within binary formats (e.g. doc, ppt)
  • searching for other file types within archive files (zip, tar, gz)


An entry in the download system, bound to a local file or a URL
Do-next manager
A standard ocPortal interface shown after managing content

See also