musedata / musedata-website

Website frontend for musedata
https://www.musedata.org
0 stars 0 forks source link

Allow cross-movement/work URL shorthands. #8

Open craigsapp opened 4 years ago

craigsapp commented 4 years ago

Ideally URLs for data for page files and Musedata Stage 2 files represent single files containing what are originally multiple files in the Musedata database. Such as multiple pages for Page files, and multiple parts for Stage 2 files.

Since this is happening at the speed of molasses running uphill in January (in the Arctic), a URL abbreviation system has been developed to represent multiple links to individual files for a multipage PDF, or multiple files representing each instrumental part.

The basic abbreviation is to add a comma to include multiple files in the same directory/folder. For example these can be see on the Musedata index of data for PDF files: http://bit.ly/musedata-menu, current in column I named DATA_URL.

Here is an example:

http://esf.ccarh.org/MuseData-Ed-202003/baroque/bach/rasmuss/inventio/0776/outputs/score/pages/01/01,02

which means two file URLs:

http://esf.ccarh.org/MuseData-Ed-202003/baroque/bach/rasmuss/inventio/0776/outputs/score/pages/01/01
http://esf.ccarh.org/MuseData-Ed-202003/baroque/bach/rasmuss/inventio/0776/outputs/score/pages/01/02

In addition, there are ranges of files allowed by placing two commas between two files at the start and ending of a numeric sequence:

http://esf.ccarh.org/MuseData-Ed-202003/baroque/vivaldi/roger/op04/rv383a_1/outputs/score/pages/01/01,,08

This represents 8 files:

http://esf.ccarh.org/MuseData-Ed-202003/baroque/vivaldi/roger/op04/rv383a_1/outputs/score/pages/01/01
http://esf.ccarh.org/MuseData-Ed-202003/baroque/vivaldi/roger/op04/rv383a_1/outputs/score/pages/01/02
http://esf.ccarh.org/MuseData-Ed-202003/baroque/vivaldi/roger/op04/rv383a_1/outputs/score/pages/01/03
http://esf.ccarh.org/MuseData-Ed-202003/baroque/vivaldi/roger/op04/rv383a_1/outputs/score/pages/01/04
http://esf.ccarh.org/MuseData-Ed-202003/baroque/vivaldi/roger/op04/rv383a_1/outputs/score/pages/01/05
http://esf.ccarh.org/MuseData-Ed-202003/baroque/vivaldi/roger/op04/rv383a_1/outputs/score/pages/01/06
http://esf.ccarh.org/MuseData-Ed-202003/baroque/vivaldi/roger/op04/rv383a_1/outputs/score/pages/01/07
http://esf.ccarh.org/MuseData-Ed-202003/baroque/vivaldi/roger/op04/rv383a_1/outputs/score/pages/01/08

A new feature would be to allow for cross-movement enumerations:

http://esf.ccarh.org/MuseData-Ed-202003/baroque/bach/bg/orch/1050/outputs/score/pages/01/01,,28,02/01,,04,03/01,,18

which would expand to 50 files (i.e., 50 pages):

http://esf.ccarh.org/MuseData-Ed-202003/baroque/bach/bg/orch/1050/outputs/score/pages/01/01
http://esf.ccarh.org/MuseData-Ed-202003/baroque/bach/bg/orch/1050/outputs/score/pages/01/02
http://esf.ccarh.org/MuseData-Ed-202003/baroque/bach/bg/orch/1050/outputs/score/pages/01/03
http://esf.ccarh.org/MuseData-Ed-202003/baroque/bach/bg/orch/1050/outputs/score/pages/01/04
http://esf.ccarh.org/MuseData-Ed-202003/baroque/bach/bg/orch/1050/outputs/score/pages/01/05
http://esf.ccarh.org/MuseData-Ed-202003/baroque/bach/bg/orch/1050/outputs/score/pages/01/06
http://esf.ccarh.org/MuseData-Ed-202003/baroque/bach/bg/orch/1050/outputs/score/pages/01/07
http://esf.ccarh.org/MuseData-Ed-202003/baroque/bach/bg/orch/1050/outputs/score/pages/01/08
http://esf.ccarh.org/MuseData-Ed-202003/baroque/bach/bg/orch/1050/outputs/score/pages/01/09
http://esf.ccarh.org/MuseData-Ed-202003/baroque/bach/bg/orch/1050/outputs/score/pages/01/10
http://esf.ccarh.org/MuseData-Ed-202003/baroque/bach/bg/orch/1050/outputs/score/pages/01/11
http://esf.ccarh.org/MuseData-Ed-202003/baroque/bach/bg/orch/1050/outputs/score/pages/01/12
http://esf.ccarh.org/MuseData-Ed-202003/baroque/bach/bg/orch/1050/outputs/score/pages/01/13
http://esf.ccarh.org/MuseData-Ed-202003/baroque/bach/bg/orch/1050/outputs/score/pages/01/14
http://esf.ccarh.org/MuseData-Ed-202003/baroque/bach/bg/orch/1050/outputs/score/pages/01/15
http://esf.ccarh.org/MuseData-Ed-202003/baroque/bach/bg/orch/1050/outputs/score/pages/01/16
http://esf.ccarh.org/MuseData-Ed-202003/baroque/bach/bg/orch/1050/outputs/score/pages/01/17
http://esf.ccarh.org/MuseData-Ed-202003/baroque/bach/bg/orch/1050/outputs/score/pages/01/18
http://esf.ccarh.org/MuseData-Ed-202003/baroque/bach/bg/orch/1050/outputs/score/pages/01/19
http://esf.ccarh.org/MuseData-Ed-202003/baroque/bach/bg/orch/1050/outputs/score/pages/01/20
http://esf.ccarh.org/MuseData-Ed-202003/baroque/bach/bg/orch/1050/outputs/score/pages/01/21
http://esf.ccarh.org/MuseData-Ed-202003/baroque/bach/bg/orch/1050/outputs/score/pages/01/22
http://esf.ccarh.org/MuseData-Ed-202003/baroque/bach/bg/orch/1050/outputs/score/pages/01/23
http://esf.ccarh.org/MuseData-Ed-202003/baroque/bach/bg/orch/1050/outputs/score/pages/01/24
http://esf.ccarh.org/MuseData-Ed-202003/baroque/bach/bg/orch/1050/outputs/score/pages/01/25
http://esf.ccarh.org/MuseData-Ed-202003/baroque/bach/bg/orch/1050/outputs/score/pages/01/26
http://esf.ccarh.org/MuseData-Ed-202003/baroque/bach/bg/orch/1050/outputs/score/pages/01/27
http://esf.ccarh.org/MuseData-Ed-202003/baroque/bach/bg/orch/1050/outputs/score/pages/01/28
http://esf.ccarh.org/MuseData-Ed-202003/baroque/bach/bg/orch/1050/outputs/score/pages/02/01
http://esf.ccarh.org/MuseData-Ed-202003/baroque/bach/bg/orch/1050/outputs/score/pages/02/02
http://esf.ccarh.org/MuseData-Ed-202003/baroque/bach/bg/orch/1050/outputs/score/pages/02/03
http://esf.ccarh.org/MuseData-Ed-202003/baroque/bach/bg/orch/1050/outputs/score/pages/02/04
http://esf.ccarh.org/MuseData-Ed-202003/baroque/bach/bg/orch/1050/outputs/score/pages/03/01
http://esf.ccarh.org/MuseData-Ed-202003/baroque/bach/bg/orch/1050/outputs/score/pages/03/02
http://esf.ccarh.org/MuseData-Ed-202003/baroque/bach/bg/orch/1050/outputs/score/pages/03/03
http://esf.ccarh.org/MuseData-Ed-202003/baroque/bach/bg/orch/1050/outputs/score/pages/03/04
http://esf.ccarh.org/MuseData-Ed-202003/baroque/bach/bg/orch/1050/outputs/score/pages/03/05
http://esf.ccarh.org/MuseData-Ed-202003/baroque/bach/bg/orch/1050/outputs/score/pages/03/06
http://esf.ccarh.org/MuseData-Ed-202003/baroque/bach/bg/orch/1050/outputs/score/pages/03/07
http://esf.ccarh.org/MuseData-Ed-202003/baroque/bach/bg/orch/1050/outputs/score/pages/03/08
http://esf.ccarh.org/MuseData-Ed-202003/baroque/bach/bg/orch/1050/outputs/score/pages/03/09
http://esf.ccarh.org/MuseData-Ed-202003/baroque/bach/bg/orch/1050/outputs/score/pages/03/10
http://esf.ccarh.org/MuseData-Ed-202003/baroque/bach/bg/orch/1050/outputs/score/pages/03/11
http://esf.ccarh.org/MuseData-Ed-202003/baroque/bach/bg/orch/1050/outputs/score/pages/03/12
http://esf.ccarh.org/MuseData-Ed-202003/baroque/bach/bg/orch/1050/outputs/score/pages/03/13
http://esf.ccarh.org/MuseData-Ed-202003/baroque/bach/bg/orch/1050/outputs/score/pages/03/14
http://esf.ccarh.org/MuseData-Ed-202003/baroque/bach/bg/orch/1050/outputs/score/pages/03/15
http://esf.ccarh.org/MuseData-Ed-202003/baroque/bach/bg/orch/1050/outputs/score/pages/03/16
http://esf.ccarh.org/MuseData-Ed-202003/baroque/bach/bg/orch/1050/outputs/score/pages/03/17
http://esf.ccarh.org/MuseData-Ed-202003/baroque/bach/bg/orch/1050/outputs/score/pages/03/18

Another useful addition would be to allow letter prefixes, since merged parts such as 01 and 02 can be merged onto a single staff, which is often called s01, where s means the "score". In addition, p01 is often used for "part" 1, which has added cue notes from other instruments.

Hypothetical example:

https://somelocation.us/vivaldi/op16/01/s01,,s15

which would expand to

https://somelocation.us/vivaldi/op16/01/s01
https://somelocation.us/vivaldi/op16/01/s02
https://somelocation.us/vivaldi/op16/01/s03
https://somelocation.us/vivaldi/op16/01/s04
https://somelocation.us/vivaldi/op16/01/s05
https://somelocation.us/vivaldi/op16/01/s06
https://somelocation.us/vivaldi/op16/01/s07
https://somelocation.us/vivaldi/op16/01/s08
https://somelocation.us/vivaldi/op16/01/s09
https://somelocation.us/vivaldi/op16/01/s10
https://somelocation.us/vivaldi/op16/01/s11
https://somelocation.us/vivaldi/op16/01/s12
https://somelocation.us/vivaldi/op16/01/s13
https://somelocation.us/vivaldi/op16/01/s14
https://somelocation.us/vivaldi/op16/01/s15

If there are more letters in the prefix, or postfix letters (which are uncommon), then there would be no multiple-files shortcuts and they would have to be single-comma encoded.