Skip to content

Understanding the structure of a repository

Nicholas K. Dionysopoulos edited this page May 26, 2021 · 3 revisions

Akeeba Release System has a hierarchy of Category, Release, Item. Each Category can be marked as an Official Release or a Development Release. This creates a dual repository, three-level hierarchy organization of your downloads.

Top level repositories

ARS is separated in two sub-repositories. By default, they are named "Official Releases" and "Development Releases". Their only difference is the way items are added to them. In "Official Releases" you have to manually go to the back-end, enter an existing "category", create a new "release" and start uploading "items" to it, then publish the lot for your site visitors to see and download.

In "Development Releases" you do not have to use your site's back-end. All you need to do is to use FTP to create a new directory, which automatically creates and publishes a new "release", and upload files, which automatically creates and publishes a new "item". The separation is only logical. If you wish to do so, you can display both sub-repositories as a single repository.

IMPORTANT! You CAN NOT use a Development Releases (BleedingEdge) category as a regular category. Any edits you make in the backend of your site will be overwritten next time the BleedingEdge code runs and detects changes to your files.

Repository organization

  • Category (software name e.g. Example Software)
    • Release (software version e.g. 1.2.3)
      • Item (download files e.g. pkg_example.zip, example_documentation.pdf etc)

The repository follows a simple convention of categorization.

Each repository can have one or more "categories". You need to create one category per software you provide downloads for. Each category will have its own releases (versions) and its own download items (files).

Each category can have one or more "releases". These are the versions of your software. Each release belongs to exactly one category.

Each release can have one or more "items". Each item is one file that your users can download. You could, for example, have different files for a free of charge edition of your software, a paid edition with more features, the documentation for that version, an English language package, a French language package and so on and so forth.

Clone this wiki locally