Django Music Publisher 19.7 - Planning the upcoming version
First a little bit about where the project is now. 19.7 is still in the planning stage. Well, I also did a little bit of programming, but that is how things go. The last phase starts well before the first is over. Anyway, here it goes.
18.7 to 18.11
When I started working on Django Music Publisher in July 2018, while I had a cold on the seaside, I made it only as a proof-of-concept for CWR-related API I had finished just a few weeks before. I released the next version just one month later, then another in the next month, then another two months after the third one … it pretty much seemed like a Fibonacci sequence.
At the same time, I worked on its bigger sibling I never released. Someone did not live up to my expectations. I should not have had them in the first place. If someone wants to invest…
With version 19.1, Django Music Publisher has become pretty complete and had all the main features I originally envisioned and it was no longer dependent on my API. It became truly free software. And it was also the first version I properly planned. And I also kept track of my time and estimated how much I could have earned as a freelancer, divided it by two and put this as a cost of development into the documentation, together with estimates for features people asked for (but did not show any money).
DMP.guru is a service that provides installation, simplified configuration, hosting, regular upgrades and technical maintenance for Django Music Publisher instances. The price is modest, and there is a 30-day trial without any limitations. Maybe I am just too lazy to program them in?
Music Pub Cartoons
I started making promotional/educational cartoonish videos. Pretty geeky, I am told. Anyway, for the first five weeks, Django Music Publisher was the main topic. Once again, people will think that it is my main product. Well, I guess other 40 videos in the “opening season” will change that.
There are several reasons why it is July. I usually have a bit more time in July. Django, the framework Django Music Publisher is built upon, has just released a new version in April. I’ll explain this in a bit. And, well, to release it a year after the initial version also somehow feels right. But, what will be new?
Django 2.2 LTS and Other Dependencies
This is important. Django releases an LTS (long term support) version every two years. It has all the features this project needs for the next two years, so this simplifies things. It will be the only supported version until 2021.
DMP is relatively light on dependencies (on software packages), but I want to double check some things and perhaps remove a few, at least for production environments.
Cleaning up under the hood
There are several things I am not completely happy with, like tests, some spaghetti code and large source files that need to be split up. Nothing a user will see, but I feel it needs to be done.
Multiple Recordings per Work
This is probably the largest change so far. Originally CWR 2.1 had a limitation that only the first recording of a musical work could be in a CWR file, but this limitation was removed in one of the revisions. I was not sure if all societies complied. Also, this was before I saw the draft for CWR 3.0.
So, instead of having only the first recording and the first release (album) of the first recording, a musical work will now be able to have multiple recordings. This is the last of the initial limitations I wanted to remove.
Production Music Library (Extension)
I started working on an extension for production music publishers. It will go far beyond registrations. But I am not sure if I will open-source it. Probably not. Anyway, this is beyond the scope of this article.
All other features will be added only if sponsors are found. Or by someone else, maybe. It is all well documented. Please note that sponsored features can be added also between major versions.