OSDownloads is the easiest way to add downloads to Joomla. It makes it easy for you to collect an email address in exchange for downloads.
Over the last couple of months we've been working really hard on improvements to OSDownloads. These changes bring a lot of changes requested by OSDownloads users.
You'll see these changes in OSDownloads Free 1.8 and OSDownloads Pro 1.11.
In this blog post I'm going to give you an overview of the changes you'll see, including new URLs.
What are the new features in OSDownloads?
Coming soon, we'll also add custom fields for user submissions, so you can collect more information from visitors who download files.
We've also been working on the URL structure for OSDownloads which was old and causing problems for some users.
In order to improve OSDownloads, we had to fix some old bugs and improve some legacy code. One particular problem involved the URLs. It was too easy to create duplicate URLs and to create URLs that were far too long.
Here's an overview of the URL changes that you will see in OSDownloads. If you have public-facing URLs, please plan to redirect the old OSDownloads URLs to the new URLs.
Changes to Single File URLs
The URLs for single files will change.
We are removing the "file" portion towards the beginning of the URL. OSDownloads only has one view to display files, so we realized that users don't need the extra /file/ making their URLs longer.
- Schema: <menu-alias>/file/<category-alias>/<file-alias>
- Example: menu/file/category/file
- Schema: <menu-alias>/<category-alias>/<file-alias>
- Example: menu/category/file
Although it's not shown in those new URLs, we're also including the file ID in the URL. Currently, URLs for single files don't include the file ID. This creates a problem if you have different menu items for different files. Creating a menu item for the file with ID "35" generates the following link:
If you created another menu item for the file with ID "40", it would generated the same link for this file as well. When you access it, which file should it display?
To fix this potential issue, the new router adds the ID of the file making the URL unique for each file. Now the menu items’ URLs will have the following pattern:
You won't see the ID if you have SEF URLs enabled, but it will be there.
Finally, in order to make these changes possible, we've moved the menu link options. When creating a menu link, you'll now choose files via the "Details" tab. This is required in order to add the file ID to the menu item link.
Changes to Category URLs
In the upcoming release, there are also changes to the Category File List and Categories List menu types. As you can seen, we have removed the "category" segement from the URLs, and add "files" to the list of files in a category.
- Schema: <menu-alias>/category/<category-alias>
- Example: menu-/category/category/
New URL - Categories File List:
- Schema: <menu-alias>/<category-alias>/files
- Example: menu/category/files
New URL - Categories List:
- Schema: <menu-alias>/<category-alias>
- Example: menu/category/
Why are we doing this? Because we had the same URL for both types of URL: a list of file in a category, and a list of categories. That makes the “category” segment ambiguous between both views. Which view were we trying to load? We have now created different URLs for these two options.
As with single file URLs, OSDownloads will now also include an ID that is hidden with SEF URLs. Here is the current non-SEF URL for categories:
Adding the ID will now produce these non-SEF URLs:
To make this possible, we've moved the Category selection box when creating menu links. The selection box is now under the "Details" tab:
One consequence of this change is that you can no longer always select multiple categories when creating a menu link. You still can display multiple categories, but they both need to be nested into the same parent category.
If you have menu links with with multiple categories, OSDownloads will tweak the menu item settings when this update is released.
Your OSDownloads component will keep only one category and add the category ID to the menu item URL. Then it will display a notification explaining what has happened.
Sorry for the long and detailed post. This is a change that break some backwards compatability so we wanted to explain exactly why this is happening.