Feature Request: One or the other

Moderators: kcleung, Wiki Admins

pml
Copyright Reviewer
Posts: 1219
Joined: Fri Mar 16, 2007 3:42 am
notabot: 42
notabot2: Human
Location: Melbourne, Australia
Contact:

Feature Request: One or the other

Post by pml »

You all might have noticed that my little template {{LinkComp}}, for providing handy, easily formatted links to composers’ pages, proved to be a particularly fertile invention and has recently spawned some progeny: we now have similar templates that create links to the pages of editors, arrangers, librettists, and translators.

Particularly in the case of the latter two types of personages, these individuals are generally not composers also, and so do not have associated composers’ pages. Thus the template for these adds a particular type of category reference to the target page, such as ‘Category:Works with text by so-and-so’ or ‘Category:Works translated by so-and-so’ (hidden away at the foot of the page), however the link that occupies the space for their name is a red link, e.g. Jo So-and-so, that usually points to a non-existent category (Category:So-and-so, Jo).

Now there’s a useful little Wiki variable called #ifexist which may be used to tell if a target page exists or not (such as the non-existent categories mentioned above). This could be implemented into the templates, so that if the category page for so-and-so doesn’t exist, the link is altered to point to the category that currently does exist – the ‘Works edited by/Works with text by/Works translated by …’ categories.

However before I could rush off to implement this cute lil’ idea, Davydov intervened with a comment which deserves to be quoted:
I think the ultimate aim is that all the red links will disappear, and that each person will have their own unique page, which will probably resemble what's currently called the composer template, but adapted to cover the other 'roles' (arranger, editor, translator, librettist, performer) that the person might also have — P.davydov 06:45, 24 January 2011 (UTC)
That seems like a very good idea. We already have Category:Composers and Category:Performers; what about Category:Editors and Category:Arrangers, Category:Librettists and Category:Translators then? (Currently, they don’t exist.)

I realise this will probably require new MediaWiki:FTE profiles (see the ones for composers and performers). However, these need at least some input from the programming end to be made to work.

(Why is that? At one time I toyed around with creating a special sub-type of the composer FTE template, called nonpublicdomaincomposer, which I think was self-explanatory: this would allow IMSLP to at least have a composer page for composers who we don’t stand a chance in living hell at being able to host. The point of this was to allow fans of said non-PD composers to give some limited representation to those composers on the site, in forms which aren’t copyright infringing:
• worklists, either external or hosted on IMSLP
• public domain image/signature
• external links to Wikipedia; publishers
The reason this hasn’t been implemented – despite some murmurs of approval in the peanut gallery – seems to be that the FTE template simply hasn’t been made to work at a programming level: you can call the FTE:composer and FTE:performer templates on a standard IMSLP page and they will work, but the FTE:nonpublicdomaincomposer simply doesn’t. End of this aside.)

So after all that, this feature request is: please, more types of “person” categories such as editor, translator, etc. (and maybe nonPDcomposer if you’re feeling generous, Ed!), pretty please, stat!

I’m happy to do some of the work in actually designing/altering the FTE pages if I know it’s not going to be wasted effort like the immediate previous case.

If this is not a practical request to look at in the short-term, then I would appreciate knowing, so that we can tweak the various {{LinkEd}}, {{LinkArr}}, etc. templates in order to fix the red link problem for the time being until such time as this may be addressed.

Cheers, Philip
--
PML (talk)
Davydov
Copyright Reviewer
Posts: 816
Joined: Sun Aug 17, 2008 8:31 am
notabot: 42
notabot2: Human
Contact:

Re: Feature Request: One or the other

Post by Davydov »

My preferred option would be for the present composer and performer pages should both be replaced with a single 'person' page. This would include the birth/date deaths, alternate names, and biography links just as they are now, and underneath there would be the following sections:

Compositions by X
[followed by a list of pages with X's musical works, as in our present composer category]
Arrangements by X
[list of pages with X's arrangements of music by other composers]
Scores edited by X
  • Editions translated by X
    • Works with text by X
      [list of pages with librettos, books, articles, essays, etc. by X]
      Performances by X
      • Sections not needed could be hidden until required. Whether all this is technically possible I don't know, but Feldmahler has worked miracles in the past :-)
imslp
Site Admin
Posts: 1642
Joined: Thu Jan 01, 1970 12:00 am

Re: Feature Request: One or the other

Post by imslp »

I have already programmed the following functions in an attempt to realize what you guys are mentioned. I'm not entirely clear on what result you guys want, but I hope I've provided the tools that, in some way or other, will get you there. I do agree that the explosion of different types of categories is confusing everyone (myself included).

The features:

#1. A multi-category viewer. Essentially, it lets a single category page show pages in multiple categories. This is an attempt to implement what Davydov suggested. You will be able to specify the heading for each section. For example: if the category is "Schubert, Franz", <!-- {MULTICAT:Works composed=DEFAULT|Works performed=$1/Performer} --> on the FTE page or even the category page will have the effect of the following:

Code: Select all

Works composed by Schubert, Franz
------------
<list of pages in the current category>

Works performed by Schubert, Franz
------------
<list of pages in the category "Schubert, Franz/Performer">
The page heading will be the text on the category page of "Schubert, Franz". If a particular child category has no items in it, it will be skipped.

#2. FTE masquerading. Essentially, this allows one FTE template to masquerade as another, such that all the internal variables generated by the code also applies to the template doing the masquerading. For example: for "MediaWiki:FTE:nonPDcomposer", <!-- {FTEMASQUERADE:composer} --> on the FTE page will have the effect of injecting the internal variables generated by the code behind #fte:composer (i.e. the {{{int:}}} values) into the #fte:nonPDcomposer template.

Stylistic issues:

Terminology: "Parent category" means the main category for a person, e.g. Category:Schubert, Franz, generally to be used for compositions. "Child category" means categories for non-compositions, e.g., Category:Schubert, Franz/Performer.

I'll just suggest a few stylistic standardizations we should adopt.

First, child categories should be in the format Category:<parent category>/<child category type>, as in the above Schubert example. I know this not the case currently, but insofar as we have not gone too far along the path perhaps it is feasible to change the link in the corresponding {{Link}} template.

Second, a smaller point that FTE template names should be all in lowercase without spaces or underscores. This makes the names more predictable.

Concluding remarks:

These features are not yet live on the IMSLP server, because I'm not entirely clear on how you guys would like to structure everything, and so would like feedback on what changes/improvements or additional features you would like. Accordingly, please post any feedback in this thread; the feedback also is not limited to PML or Davydov, though I obviously would like their opinion.

A particular point of interest is whether I should change any of the existing page-creation forms (e.g. add performer) to implement any of the structural changes (e.g. moving all performer categories into Category:<Name>/Performer).
Davydov
Copyright Reviewer
Posts: 816
Joined: Sun Aug 17, 2008 8:31 am
notabot: 42
notabot2: Human
Contact:

Re: Feature Request: One or the other

Post by Davydov »

Wow, that was quick! It sounds like it will produce the type of layout described in my last post, but it's hard to tell without seeing an example. Is there anywhere we could test this out?
pml
Copyright Reviewer
Posts: 1219
Joined: Fri Mar 16, 2007 3:42 am
notabot: 42
notabot2: Human
Location: Melbourne, Australia
Contact:

Re: Feature Request: One or the other

Post by pml »

I can see one you’ve raised possible bugbear, caused by the name re-ordering: the “person” category is usually Category:Surnames, First Names; the new categories we’ve been creating of late do not resemble Category:Surnames, First Names/Arrangements, but are instead Category:Arrangements by First Names Surnames, and thus variable substitution doesn’t look possible; we’d have to move a lot of categories, as well as possibly purging some pages in order to trick the Wiki into following the new categories...

I too am interested in having a play with the tools; might I suggest we report back here with anything we find that appears useful?

Cheers PML

PS I can see from my own composer page that it is beginning to “pull” works from the other categories of editions and arrangements; unfortunately, they’re being displayed ungrammatically as “Works composed by Legge, Philip”, “Arrangements by Legge, Philip”, and “Works with editions by Legge, Philip”, which doesn’t seem ideal. Also, I’m aware that a large number of such pages should be appearing and are not: only 3 out of 9 arrangements, and 6 out of 37 editions pages… so far!
--
PML (talk)
imslp
Site Admin
Posts: 1642
Joined: Thu Jan 01, 1970 12:00 am

Re: Feature Request: One or the other

Post by imslp »

See my recent contributions, which will answer your question :) Do ask if you have any other questions. The system seems to be working much better than I imagined (i.e. there are many people with several categories of works).

P.S. Note that Performers, Editors and Arrangers have all been preliminarily taken care of; everything else (and any tweaking that needs to be done on those) I leave to other contributors more in the know.
KGill
Copyright Reviewer
Posts: 1295
Joined: Thu Apr 09, 2009 10:16 pm
notabot: 42
notabot2: Human

Re: Feature Request: One or the other

Post by KGill »

pml wrote:the “person” category is usually Category:Surnames, First Names; the new categories we’ve been creating of late do not resemble Category:Surnames, First Names/Arrangements, but are instead Category:Arrangements by First Names Surnames, and thus variable substitution doesn’t look possible
Yes, but the text on the category uses a template which distinguishes given names from surnames and links to the appropriate 'composer' category in the standard form, so it should still be possible to automatically substitute somehow.
I have a couple questions:
1. Would it be possible to extend this to the categories for translators and librettists?
2. What should be done with the thousands of newly empty categories for works edited/arranged? I guess the most thorough solution would be to go through all of them and create a category for each separate person, so that the old category can be redirected there...is there anything automatic that can be done to alleviate the load? That would take months (not that I mind doing it, but you must admit that it's not all that efficient).
3. Would it be possible to do the multicategory thing automatically (i.e., without the necessity of adding the text to the page manually)? That would make it considerably easier to keep track of the various functions performed by each individual.
pml
Copyright Reviewer
Posts: 1219
Joined: Fri Mar 16, 2007 3:42 am
notabot: 42
notabot2: Human
Location: Melbourne, Australia
Contact:

Re: Feature Request: One or the other

Post by pml »

Kenny, re: your point 3. I didn’t have to do anything to get the multi-category listing on my page: the Wiki adds it if there are these child categories in addition to the parent. ;-) PML
--
PML (talk)
KGill
Copyright Reviewer
Posts: 1295
Joined: Thu Apr 09, 2009 10:16 pm
notabot: 42
notabot2: Human

Re: Feature Request: One or the other

Post by KGill »

Nice. Didn't even notice that :) Should have read more carefully, I guess...
pml
Copyright Reviewer
Posts: 1219
Joined: Fri Mar 16, 2007 3:42 am
notabot: 42
notabot2: Human
Location: Melbourne, Australia
Contact:

Re: Feature Request: One or the other

Post by pml »

What Feldmahler has done of course, is change the {{LinkArr}} and {{LinkEd}} templates to take these new daughter forms, i.e. Category:Surnames, First Names/Arranger and …/Editor. Not all of the work pages have caught up yet! As for performers, the audio files have a special variable of |Performer Categories= which does the same to generate …/Performer.

I suppose one could become used to the slight linguistic ugliness of “Works composed by Surname, First Names” – I feel a colon after the word “by:” would in each case remove the uneasy feeling I’m looking at a mangled sentence. PML
--
PML (talk)
KGill
Copyright Reviewer
Posts: 1295
Joined: Thu Apr 09, 2009 10:16 pm
notabot: 42
notabot2: Human

Re: Feature Request: One or the other

Post by KGill »

Re my own No.1 - never mind, I figured it out on my own. However, I now have a couple other questions (*groan*):
1. What of EdUser and ArrUser? There are no categories created for the editor/arranger in this case.
2. The 'Nationality' field on the 'composer' page has always required the input 'composers' after the nationality. This has always been a bit redundant (couldn't that have been added by the template?), but it hasn't mattered until now, when we are about to start creating many, many categories for non-composers. Would now perhaps be an opportune time for a bot?
pml
Copyright Reviewer
Posts: 1219
Joined: Fri Mar 16, 2007 3:42 am
notabot: 42
notabot2: Human
Location: Melbourne, Australia
Contact:

Re: Feature Request: One or the other

Post by pml »

Hi Kenny,

this is mainly in answer to your question 2 in the most recent reply… perhaps these newer questions should have been numbered 4 and 5?

What we can do is adapt the MediaWiki:FTE:composer page to cater for these new types of personage. Let us take the example of a German editor who’s known to have composed no works at all: obviously we don’t want to have him added to the category, German composers, by default.

So, there’s a new page called MediaWiki:FTE:editor; on this page a number of the categories would be altered to read:

{{~ifexist:Nationality<>[[Category:{{{Nationality}}}{{{int:sortkey}}}]]<>[[Category:Editors unclassified by nationality{{{int:sortkey}}}]]~}}

and so on. Critically, on this page we need to add the text <!-- {FTEMASQUERADE:composer} --> to complete the magic trick. Then, on the editor’s category page, instead of the page beginning with
{{#imslpcomposer
we substitute
{{#fte:editor
and the FTE “Masquerade” will embody all of the normal composer page attributes in the slightly different editorial guise.

By the way, the Nationality tag is usually spelt out in full on the composer/editor page, i.e.
|Nationality=German composers
or in this case,
|Nationality=German editors

so there shouldn’t be any huge problems, except the advent of a number of new categories.

If this doesn’t seem to make any sense at all, perhaps take a look at MediaWiki:FTE:nonpublicdomaincomposer. The main differences from the normal composer template are:
1) wacky alternate colour scheme
2) explicit copyright warning at top of page
3) no options to “add works to this page”
4) adds the composer to the Non-Public Domain Composers category.

Now that the FTE “Masquerade” code is available, any composer page can be “flipped” to this alternate page scheme, e.g. mine ;-)

Cheers PML
--
PML (talk)
KGill
Copyright Reviewer
Posts: 1295
Joined: Thu Apr 09, 2009 10:16 pm
notabot: 42
notabot2: Human

Re: Feature Request: One or the other

Post by KGill »

The only problem I can see with that solution is that many people (including yourself) have two or more different functions (composer, editor, and arranger, for example). Therefore, it may not be easy to determine which nationality system they are supposed to be included in, as it probably wouldn't be a great idea to arbitrarily favor one. What I was thinking of was more along the lines of a generic, non-function-specific nationality (e.g., simply 'German') which could be used to sort any 'type' of musician. That would not be all that practical to implement, unfortunately, since the current system has been bedded in for something like a year and a half, and we would need to change every single page...
imslp
Site Admin
Posts: 1642
Joined: Thu Jan 01, 1970 12:00 am

Re: Feature Request: One or the other

Post by imslp »

@PML: Please feel free to change the corresponding MediaWiki message to change the section headings (e.g. MediaWiki:Works Composed). Note that all MULTICAT headings point to the MediaWiki messages. If you want to add additional MULTICAT entries, you will also need to create the corresponding message, or else you will get slightly strange (but harmless) results.

@All: Please keep all the problem reports coming. I will not do anything for a few days while the cache is being cleared and people have a chance to test everything out. However, I would like to know what needs improvement.

Also, one additional feature:

#3. Automatic page content for MULTICAT categories with presumed child categories. Presumed child categories have (1) the format Category:<Parent name>/<Child type> (e.g. Category:Schubert, Franz/Performer), and (2) the presumed parent category includes a MULTICAT statement, even if the statement itself does not extend to the child. (Presumed child categories are not the same as actual child categories.) For all presumed child categories where there is no page text, the page text of the presumed parent category will be substituted. For example, if Category:Schubert, Franz/Performer has not been created, the page text from Category:Schubert, Franz will be used instead. In order to distinguish between the invocation of the parent versus the child category, #fte:composer has the additional internal variable {{{int:cattype}}} (e.g. for /Performer the cattype would be Performer).
imslp
Site Admin
Posts: 1642
Joined: Thu Jan 01, 1970 12:00 am

Re: Feature Request: One or the other

Post by imslp »

Also, nationality really should not mention "composer" or "editor". That is the function of the category intersects.
Post Reply