Additional features for DMP Guru instances

DMP Guru has one fundamental promise. No lock-in. Customers can download their database backups, install Django Music Publisher themselves, restore the database from the backup. And continue using Django Music Publisher with no significant differences.

Differences between classic installations of Django Music Publisher and those on DMP Guru are unavoidable, as the deployment method is quite different, but also because I chose to include some additional features that I do offer as free online services, but am not willing to make the code open source.

Settings in the control panel

DMP Guru’s control panel is used for registration, setting and changing application settings, payments and invoices, etc. All configuration settings are set based on society affiliations. For example, if PRS/MCPS combination is chosen, then the society-assigned agreement numbers are required, if SIAE is chosen, they are not.

With vanilla instances of Django Music Publisher, one has to create the local_settings.py with settings that have the same result.

Single “normal” user

Django Music Publisher is a typical Django project and/or app. Usually, one creates a superuser in the console, who then manages users in the app. To simplify this, two permission groups are available through a fixture.

DMP Guru creates a single user for every DMP instance, who is not a superuser, but assigned to one of the two permission groups. Also, this user has no password set, as the password is stored in the control panel. If the support option is chosen, then another user with read-only permission is created for the staff of DMP Guru. This tightens the security, as the database backup holds no passwords, even hashed ones.

If a customer is moving away, they basically have to, as the last step, either set a password for this user or create a superuser. The only difference will be that passwords are now changed in the app itself.

CWR Syntax Highlighting

CWR Syntax Highlighting is one of the free online tools I provide. The web version is free, the API version is not. It was available to DMP Guru customers, but not in a vanilla Django Music Publisher.

However, this is no longer the case since 19.7 version. Basic syntax highlighting is now included in the open-source code. It is not as verbose as with the aforementioned tool, but in this case, it makes more sense. It highlights the key human-readable data and ignores the rest.

Future Differences

In many ways, DMP Guru drives the development of Django Music Publisher. Sometimes a feature is requested and I provide it with my closed-source code or service. Their number increases between major versions, and are then either included in the open-source code or ditched.