Installation / Deployment and Configuration¶
Django-Music-Publisher (DMP) can be installed/deployed as a stand-alone application, or used as a Python package.
Depending on your needs and technical knowledge, there are several options. They are listed below, starting with the simplest option, which can be performed without any technical skills in under 5 minutes.
Deployment to Heroku (free tier)¶
Heroku is a cloud platform that lets companies build, deliver, monitor and scale apps — we’re the fastest way to go from idea to URL, bypassing all those infrastructure headaches.
Django-Music-Publisher can simply be deployed to a Free dyno on Heroku with a free Dev database with up to 10.000 rows. Depending on complexity of your metadata, this is enough for up to 1.000 musical works.
With Hobby Basic database ($9 per month), the database limit raises to 10.000.000 rows, which should be more than enough for any user od DMP. See Heroku prices for more information.
You will have to sign up with Heroku at https://signup.heroku.com/ and verify your e-mail, no payment information is required.
There are two ways to do it:
- Guided deployment, which uses a wizard that helps you fill out the deployment form, and
- Direct deployment, which does not, but takes you directly to the deployment form.
Guided Deployment to Heroku¶
The author and maintainer of Django-Music-Publisher provides a pre-installation wizard, which will guide you through the deployment process.
There is also a compatibility list for many collective management organizations. If your CMO or combination of CMOs is not supported, you can use the next method.
You will be taken directly to the deployment form. Please note that you must fill the form correctly, or Django-Music-Publisher will not be deployed. This is by design.
See Settings for more information.
Installing as Python package (developers only)¶
If you plan to use Django-Music-Publisher as one of the apps in your Django project, there is nothing special about it:
pip install --upgrade django_music_publisher
INSTALLED_APPS. Almost everything goes
through the Django Admin. The only exception is royalty calculation, which has to be added to
from music_publisher.royalty_calculation import RoyaltyCalculationView urlpatterns = [ ... path('royalty_calculation/', RoyaltyCalculationView.as_view(), name='royalty_calculation'), ]
There are several required settings.
PUBLISHER_SOCIETY_PR- Publisher’s performance collecting society (PRO) numeric code, required
PUBLISHER_SOCIETY_MR- Publisher’s mechanical collecting society (MRO) numeric code
PUBLISHER_SOCIETY_SR- Publisher’s synchronization collecting society numeric code, rarely used
For the list of codes, please refer to the official CISAC documentation. Society codes must be entered without leading zeros.