MyDonemus
A publishing portal for contemporary classical composers
All details of a composition, such as title, subtitle, genre, duration, line-up and number of players, are immediately processed in the Donemus database. Then, the workflow of contract signing starts, fully automated via DocuSign. After the digital signature, Donemus starts the production process via the editorial department. Composers can track the progress of this and see when the work is available in real time in the portal.
MyDonemus contains all transactions from the past 10 years. For example, when an orchestra orders a work from a composer, the income from renting out that sheet music is processed almost immediately. This information is also responsive, so it can be viewed everywhere.
Donemus:
"With MyDonemus we are an international leader in our segment."
Donemus generates income for composers from various sources, such as the sale and rental of sheet music, licenses (to libraries and conservatories) and major rights. In addition, Donemus has separate label activities, from which composers also receive income. The composers can view all this income ‘live’ in their portal. They see detailed overviews per work, per transaction type, and per year. There is also an overview of investments/advances and paid royalties.
Not only composers, but also musicians can supply suitable audio recordings in the new portal. Here too, a fully automatic contracting process via DocuSign follows. When all rights holders such as musicians, conductor, orchestra, have signed for agreement, Donemus Records will release the release via FUGA to more than 40 digital platforms. From singles of 3 minutes, to full-length productions of a few hours. Contemporary classical music from Donemus Records has millions of streams in over 80 countries.
Developer notes
Olaf Wempe on the development process of MyDonemus
“This project started with building the public-facing website donemus.nl . Their previous site was a horrible mess of hundreds of Facebook-live-chat plugins where pages took 30 secs to load. So: I rebuilt it from scratch.
The new site has all Donemus composers (about 600) as a Custom Post Type. There are other post types for events, releases and news, and relations between those can easily be set up by the site admins with bi-directional relationship fields.
When I had all this in place, and wanted to build the composer portal where the composers should be able to edit some of that data themselves, it made sense to build it on top of the public site, using the same database. This also allowed me to use existing user account – and login functionality for the portal. For the site admins, it has the advantage of being able to maintain both the site and the portal from the same back end.
The portal needed to hook into the existing webshop database with 50.000+ titles, and into the financial administration software. An API was built by the database designer, so I got access to – and was able to post data based on a composer ID.
For security reasons, access to that API has an IP whitelist that only allows access from the donemus.nl server IP. That means that API requests cannot be done directly with JavaScript (client side), but has to be done with AJAX, where JavaScript requests data from a PHP script on the server. That was a tough cookie to crack, and I’ll freely admit that some of the AJAX code was written by ChatGPT (first answer worked perfectly).
Next step was to parse the raw JSON API response into data for separate years, separate transaction types, best scoring titles etc., which took a fair bit of JavaScript number crunching, but resulted in those great looking chart.js graphs.”