Installation / Deployment and Configuration

Django-Music-Publisher (DMP) can be installed/deployed as a stand-alone application, or used as a Python package.

Standalone Deployment

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.

https://www.heroku.com/what

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.

Note

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.

_images/pre_wizard.png

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.

Direct Deployment

First, you need to sign up with Heroku and/or log in. Then click here. This will deploy the latest code in 20.7 Endemic branch.

_images/heroku.png

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.

Other options - manual deployment (developers or system engineers)

Django-Music-Publisher is based on Django, which can be installed on Windows, Mac and Linux PCs and servers. For more information, consult the official Deploying Django documentation.

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

Add music_publisher.apps.MusicPublisherConfig to INSTALLED_APPS. Almost everything goes through the Django Admin. The only exception is royalty calculation, which has to be added to urls.py

from music_publisher.royalty_calculation import RoyaltyCalculationView

urlpatterns = [
    ...
    path('royalty_calculation/', RoyaltyCalculationView.as_view(), name='royalty_calculation'),
]

There are several required settings.

Settings

Affiliation 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.