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

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