Installation

Code repository for DMP can be found at https://github.com/matijakolaric-com/django-music-publisher.

Installation to a cloud

DMP (Django-Music-Publisher) is based on Django Web Framework (https://djangoproject.org), and requires Python 3 (https://python.org). It can be installed to a PC, but installing it into a cloud is highly recommended.

Digital Ocean is the recommended provider.

Digital Ocean

Minimal monthly cost is $5 for the application, $7 for the database, so $12 in total. Optional $5 for file storage is only required for experimental features.

They usually give free credits that must be used within 60 days.

  1. Click on the button below. (This is an affiliate link, providing you with free credits.)
DigitalOcean Referral Badge
  1. Wizard

Once you have registered, click on the next button to start the installation wizard.

Deploy to DO

2.1. In the first step, edit the plan and select Basic, then the cheapest plan, this is enough for publishers with up to several thousand works.

_images/installation_do_1.png

2.2 Edit web environment variables. See settings for details. Click on SAVE!!

2.3 Select region closest to you.

2.4 Review and click on “create resources”.

  1. Installation takes several minutes. Once it is done, click on the console tab and enter:
python manage.py migrate
python manage.py createsuperuser

Then enter your user name and password (twice). You can leave e-mail empty, it is not used.

If you forget your login/password, you can use the console for adding a new superuser or change the password with:

python manage.py changepassword

Heroku

This is another provider with semi-automated deployment. The deployment to Heroku using the button below is NOT tested, and issues with deployment will not be tested nor fixed.

Deploy

Custom installation

For everything else, basic programming and/or system administration skills are required.

Start with Deploying Django documentation.

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'),
]

Experimental features (involving file system) may require additional work.

Good luck!

Settings

There are several environment variables that need to be set, and several optional ones. Note that if invalid data is entered or required data is not entered, deployment may fail and/or application may break down.

Secret key

Django requires SECRET_KEY to be set. It can be any random string. You can use https://miniwebtool.com/django-secret-key-generator/ to generate one, but do change it somewhat after pasting for complete security.

S3 storage

For Digital Ocean Spaces, you need to set up only four config (environment) variables. AWS and other S3 providers will also work.

_images/installation_do_f1.png
  • S3_REGION (alias for AWS_S3_REGION_NAME) and S3_BUCKET (alias for AWS_STORAGE_BUCKET_NAME), you get them when you set up your Spaces, and
_images/installation_do_f2.png
  • S3_ID (alias for AWS_ACCESS_KEY_ID) and S3_SECRET (alias for AWS_SECRET_ACCESS_KEY), you get them when you generate your Spaces API key.

If you want to use AWS or some other S3 provider, the full list of settings is available here.

Other options

  • OPTION_FORCE_CASE - available options are upper, title and smart, converting nearly all strings to UPPER CASE or Title Case or just UPPERCASE fields to Title Case, respectively. If unset, everything is left as entered.
  • OPTION_FILES - enables support for file uploads (audio files and images), using local file storage (PC & VPS)

Collective management organisations

Following list contains official CWR codes for CMOs, to be entered in PUBLISHER_SOCIETY_PR, PUBLISHER_SOCIETY_MR and rarely PUBLISHER_SOCIETY_SR environment variables.

1 ACUM ISRAEL
2 ADDAF BRAZIL
3 AEPI GREECE
4 AGADU URUGUAY
5 AKM AUSTRIA
6 BUCADA CENTRAL AFRICAN REPUBLIC
7 APDAYC PERU
8 APRA AUSTRALIA
9 ARTISJUS HUNGARY
10 ASCAP UNITED STATES
11 AUSTRO-MECHANA (AUME) AUSTRIA
12 AMCOS AUSTRALIA
14 ARGENTORES ARGENTINA
15 APA PARAGUAY
16 BUMDA MALI
17 AMRA UNITED STATES
18 BGDA GUINEA
19 BMDA MOROCCO
20 SODRAC CANADA
21 BMI UNITED STATES
22 MCSN NIGERIA
23 BUMA NETHERLANDS
24 BURIDA COTE D’IVOIRE
25 SODAV SENEGAL
26 CASH HONG KONG
28 LITA SLOVAKIA
29 SCD CHILE
30 AMAR BRAZIL
31 DILIA CZECH REPUBLIC
32 FILSCAP PHILIPPINES
33 OMDA MADAGASCAR
34 HFA UNITED STATES
35 GEMA GERMANY
36 IPRS INDIA
37 BUBEDRA BENIN
38 JASRAC JAPAN
39 MUSICAUTOR BULGARIA
40 KODA DENMARK
41 LITERAR-MECHANA AUSTRIA
43 MCSK KENYA
44 MCPS UNITED KINGDOM
45 BBDA BURKINA FASO
47 BCDA CONGO
48 NCB DENMARK
49 ONDA ALGERIA
50 OSA CZECH REPUBLIC
51 PROLITTERIS SWITZERLAND
52 PRS UNITED KINGDOM
54 ALCS UNITED KINGDOM
55 SABAM BELGIUM
56 SACD FRANCE
57 SACERAU EGYPT
58 SACEM FRANCE
59 SACM MEXICO
60 SACVEN VENEZUELA
61 SADAIC ARGENTINA
62 SADEMBRA BRAZIL
63 SAMRO SOUTH AFRICA
64 SOKOJ SERBIA AND MONTENEGRO
65 SAYCE ECUADOR
66 SBACEM BRAZIL
67 SBAT BRAZIL
68 SDRM FRANCE
69 SPA PORTUGAL
70 SOGEM MEXICO
71 SESAC Inc. UNITED STATES
72 SGAE SPAIN
73 SCAM FRANCE
74 SIAE ITALY
75 SUISSIMAGE SWITZERLAND
76 ACEMLA PUERTO RICO
77 STEF ICELAND
78 STEMRA NETHERLANDS
79 STIM SWEDEN
80 SUISA SWITZERLAND
82 OTPDA TUNISIA
84 SAYCO COLOMBIA
85 SOZA SLOVAKIA
86 SICAM BRAZIL
87 SPACEM FRANCE
88 CMRRA CANADA
89 TEOSTO FINLAND
90 TONO NORWAY
91 SSA SWITZERLAND
93 UBC BRAZIL
94 RAO RUSSIAN FEDERATION
95 VG WORT GERMANY
96 COTT TRINIDAD AND TOBAGO
97 ZAIKS POLAND
98 ZIMURA ZIMBABWE
101 SOCAN CANADA
102 NASCAM NAMIBIA
103 ACDAM CUBA
104 MACP MALAYSIA
105 MASA (RMS) MAURITIUS
106 COMPASS SINGAPORE
107 ACAM COSTA RICA
108 CHA TAIWAN, CHINESE TAIPEI
109 KCI INDONESIA
110 LATGA-A LITHUANIA
111 HDS-ZAMP CROATIA
112 SAZAS SLOVENIA
115 UCMR-ADA ROMANIA
116 EAU ESTONIA
117 MESAM TURKEY
118 KOMCA KOREA, REPUBLIC OF
119 MCSC CHINA
120 LIRA NETHERLANDS
121 VDFS AUSTRIA
122 AKKA-LAA LATVIA
124 COSOMA MALAWI
125 BNDA NIGER
126 MCT THAILAND
127 ALBAUTOR ALBANIA
128 IMRO IRELAND
129 SOBODAYCOM BOLIVIA
130 BUTODRA TOGO
131 SADA GREECE
132 BILD-KUNST GERMANY
133 ZAMCOPS ZAMBIA
134 SLPRS SRI LANKA
135 SADH GREECE
136 ZAMP - Macédoine MACEDONIA
137 SOFAM BELGIUM
138 KOPIOSTO FINLAND
139 VISDA DENMARK
140 UACRR UKRAINE
141 ATN CHILE
142 DALRO SOUTH AFRICA
143 TEATERAUTOR BULGARIA
144 HAA CROATIA
145 DIRECTORS UK UNITED KINGDOM
146 SPAC PANAMA
147 FILMAUTOR BULGARIA
148 ADAGP FRANCE
149 ARS UNITED STATES
151 BONO NORWAY
152 Bildupphovsrätt (Visual Copyright Society) SWEDEN
153 DACS UNITED KINGDOM
154 HUNGART HUNGARY
155 SOMAAP MEXICO
156 VAGA UNITED STATES
157 BILDRECHT GmbH AUSTRIA
158 VEGAP SPAIN
159 VISCOPY AUSTRALIA
160 NCIP BELARUS
161 MÜST TAIWAN, CHINESE TAIPEI
162 AMPAL AUSTRALIA
163 APG-Japan JAPAN
164 APSAV PERU
166 AUTORARTE VENEZUELA
168 CA AUSTRALIA
169 COSCAP BARBADOS
170 CPSN NEPAL
171 CREAIMAGEN CHILE
172 DGA UNITED STATES
173 DIRECTORES MEXICO
174 FILMJUS HUNGARY
175 CopyRo ROMANIA
176 JACAP JAMAICA
177 KazAK KAZAKSTAN
178 KOSA KOREA, REPUBLIC OF
179 KUVASTO FINLAND
181 NMPA UNITED STATES
182 PAPPRI INDONESIA
183 SACK KOREA, REPUBLIC OF
184 SARTEC CANADA
186 SGDL FRANCE
187 SNAC FRANCE
189 SOCINPRO BRAZIL
190 SOPE GREECE
191 SPACQ CANADA
192 SFF SWEDEN
193 The Society of Authors (SOA) UNITED KINGDOM
194 UFFICIO GIURIDICO HOLY SEE (VATICAN CITY STATE)
195 VEVAM NETHERLANDS
196 WGA UNITED STATES
197 WGJ JAPAN
198 ZAMP Association of Slovenia SLOVENIA
199 SFP-ZAPA POLAND
200 MSG TURKEY
201 ABRAMUS BRAZIL
202 AsDAC MOLDOVA, REPUBLIC OF
203 AWGACS AUSTRALIA
204 GCA (former SSA) GEORGIA
206 UFW FINLAND
207 The Author’s Registry Inc. UNITED STATES
208 SGA GUINEA-BISSAU
209 ARMAUTHOR NGO ARMENIA
210 ACCESS COPYRIGHT CANADA
212 CSCS CANADA
213 DRCC CANADA
214 ECCO SAINT LUCIA
215 Kyrgyzpatent KYRGYZSTAN
216 SQN BOSNIA AND HERZEGOVINA
217 ABRAC BRAZIL
218 ANACIM BRAZIL
219 ASSIM BRAZIL
220 ATIDA BRAZIL
221 SABEM BRAZIL
222 FONOPERU PERU
223 COSOTA TANZANIA, UNITED REPUBLIC OF
224 SOMAS MOZAMBIQUE
225 SAIF FRANCE
226 AACIMH HONDURAS
227 SGACEDOM DOMINICAN REPUBLIC
228 ROMS RUSSIAN FEDERATION
229 ICG UNITED STATES
230 ADAVIS CUBA
231 AUTVIS BRAZIL
232 GESTOR CZECH REPUBLIC
233 SACEMLUXEMBOURG LUXEMBOURG
234 UPRS UGANDA
235 SACENC FRANCE
236 ARTEGESTION ECUADOR
237 TALI ISRAEL
238 BSCAP BELIZE
239 CMC CAMEROON
240 DAMA SPAIN
241 NICAUTOR NICARAGUA
242 SACIM EL SALVADOR
243 SADIA ANGOLA
244 SASUR SURINAME
245 SETEM TURKEY
246 VCPMC VIET NAM
247 IVARO IRELAND
248 DAC ARGENTINA
249 PAM CG MONTENEGRO
250 AEI-GUATEMALA GUATEMALA
251 ASDACS AUSTRALIA
252 COLCCMA TAIWAN, CHINESE TAIPEI
253 AAS AZERBAIJAN
254 SOCILADRA CAMEROON
256 PICTORIGHT NETHERLANDS
257 SAVA ARGENTINA
258 MRCSN NEPAL
259 SDCSI IRELAND
260 ACS UNITED KINGDOM
261 GAI Uz UZBEKISTAN
262 SINEBIR TURKEY
263 SACS SEYCHELLES
264 CARCC CANADA
265 MACA MACAU
266 BeAT BRUNEI DARUSSALAM
267 UPRAVIS RUSSIAN FEDERATION
268 COSON NIGERIA
269 WAMI INDONESIA
270 JASPAR JAPAN
271 DHFR CROATIA
272 MOSCAP MONGOLIA
273 AMUS BOSNIA AND HERZEGOVINA
274 AuPO CINEMA UKRAINE
275 AUTODIAHIRISI GREECE
276 DASC COLOMBIA
277 RSAU RWANDA
278 RUR RUSSIA
279 SDADV ANDORRA
280 SANASTO FINLAND
281 ATHINA- SADA - S.A.D.A. GREECE
282 UNAC-SA ANGOLA
283 CAPASSO SOUTH AFRICA
284 COSOZA ZANZIBAR
285 GHAMRO GHANA
286 ODDA DJIBOUTI
287 KORRA KOREA
288 ABYROY KAZAKHSTAN
289 AIPA SLOVENIA
290 AZDG AZERBAIJAN
291 OFA SERBIA
292 ZPAP POLAND
293 DBCA BRAZIL
294 REDES COLOMBIA
295 SAGCRYT MEXICO
296 DACIN-SARA ROMANIA
297 GEDAR BRAZIL
298 OOA-S CZECH REPUBLIC
299 SCM-COOPERATIVA CAPE VERDE
300 WID Centre UNITED STATES
301 GESAC BELGIUM
302 LATINAUTOR URUGUAY
303 NORD-DOC SWEDEN
304 SONGCODE UNITED STATES
306 ACCS TRINIDAD AND TOBAGO
307 MIS@ASIA SINGAPORE
308 ECAD BRAZIL
309 LatinNet SPAIN
310 DIVA HONG KONG
311 MCPS-PRS Alliance UNITED KINGDOM
312 CISAC FRANCE
313 FastTrack DCN FRANCE
314 IDA FRANCE
315 CSI FRANCE
316 CIS-Net AVI FRANCE
317 INTL-REP FRANCE
318 SGS  
319 ICE Services AB SWEDEN
320 ARMONIA FRANCE
321 PUBLISHERS  
322 EVA BELGIUM
635 GEMA-US Additional CIS-Net Node
658 SACEM-US Additional CIS-Net Node
672 SGAE-NY Additional CIS-Net Node
707 MusicMark USA
758 SACEM-LIBAN Additional CIS-Net Node
775 Solar EMI GERMANY/UK
776 Solar Sony GERMANY/UK
777 CELAS GERMANY/UK
778 GMR  
779 Polaris Nordic SCANDINAVIA
780 UNISON Spain
781 SOUNDREEF ENGLAND and WALES
782 NexTone JAPAN
888 PAECOL Additional CIS-Net Node