ampache7 for admins
WORK IN PROGRESS
This page will cover the backend and Admin specific changes to Ampache.
For information about what you'll see and changed behavior's check out (if it needs to exist later)Ampache7 for Users
There are a few changes in Ampache7 that might block you upgrading. Consider all the changes before upgrading.
You can check out the latest builds of Ampache7 using docker.
Just check out the ampache/ampache:preview tag to get these builds.
You can also check out the latest builds of Ampache7 using git.
Check out the patch7 branch to try it out on your own server.
(Don't replace your existing Ampache database if you want to go back!)
Check out the wiki - Installation page for more information
git clone -b patch7 https://github.com/ampache/ampache.git ampache
The first major change is that Ampache7 supports PHP8.2+ only!
Builds will no longer support other versions. Stay on Ampache6 until you can move your server.
To make sure zip downloads are still available cross platform, the core php zip module is being used.
On Linux the module is usually called php-zip
and is now required whether you enable zip downloads or not in the config.
When you update Ampache you need to add another step to the update processes.
In addition to composer install you need to update the NPM packages.
So now when you're updating from git just add it at the end of your scripts.
cd /var/www/ampache
git pull
composer install --prefer-source --no-interaction
npm install
npm run build
Check out update_from_git.sh for an updated example.
The Ampache API is not breaking anything with this release.
This will be the first time that the API and Ampache do not have the same version number.
Ampache versions will be 7.x.x and API6 will remain the default API version. (Currently 6.4.0)
If you send a version 7 API call you will be downgraded to API6 instead of getting an error.
If Ampache8 requires major changes the version will bump from 6 to 8 to match the next major release and skipping API7 entirely.
Do you use your user profile picture in other areas? (I like to use may avatar as a custom logo up there in the corner.)
The old links used the show action like all other objects
https://music.com.au/image.php?action=show&object_id=1&thumb=4
Ampache7 user avatar links now use their own action
https://music.com.au/image.php?action=show_user_avatar&object_id=1&thumb=4
We're now using Google Material Symbols & Icons to refresh some of the older icons on the site.
If you see the question mark, it means the requested SVG was not found.
Instead of loading from URL's the icons are loaded from the XML and they look pretty good!
API6 Errors return an error object with the following parts:
-
errorCode
: numeric code -
errorAction
: method that caused the error -
errorType
: further information such as the type of data missing or access level required -
errorMessage
: translated error message
It's been decided to keep the errorMessage
in US English and NOT translate the messages.
This is a change in behaviour but is not considered breaking as the errorMessage
could not be considered consistent.
Now it can be used for more complicated error handling.
You can now hide areas from the main sidebar including the arrows to switch between light and full sidebars.
When enabled the menu groups will be skipped from the HTML entirely. (Not just hidden with CSS)
You can also hide everything if you want without affecting the other layouts