WMDE Technical Wishes/Sub-referencing/en

Currently, it is not possible to easily re-use the same reference with different details in an article. Community members have repeatedly requested a MediaWiki solution that works without templates and is based on the existing way references work, for both wikitext and Visual Editor. » Learn more about the problem

Sub-referencing
StatusIn progress
OriginTechnical Wishes survey 2013, 2015, 2022 and others
Focus areaMake reusing references easier
Phabricatorproject board
ResponsibleTechnical Wishes Team

Tell us what you think

We invite you to test our prototype, which we update continuously. Watch this page or sign-up to this massmessage list to learn about new things you can test
Read more about testing and feedback

As part of the focus area "Make re-using references easier", Wikimedia Deutschland’s Technical Wishes team is introducing sub-referencing – an optional feature that allows you to easily attach different details to an existing reference, without having to duplicate it.

Our plan is to bring sub-referencing to the Wikimedia wikis at the end of 2024.

Sub-referencing in a nutshell

To cite a source more than once with different details, you need a main reference and a sub-reference.

  • The main reference contains the main bibliographic information.
  • The sub-reference contains the details: page numbers, or any kind of additional information which are different for each citation, e.g. chapters, verses or notes.

 

  • In the references section, readers see all sub-references grouped together underneath their main reference. This makes it easier to grasp how often a single source has been cited in that article.
  • For wikitext, you use a new attribute for sub-referencing. The current name of that attribute is extends, but the name might change before the feature is deployed. We’ll collect more feedback on the name.
  • In Visual Editor, we are changing the existing citation dialog so that it supports sub-references.

Main benefits

  • Sub-referencing is based on the existing way references work.
  • It works for both Visual Editor and wikitext – bringing us closer to feature parity between Visual Editor and wikitext.
  • The solution will be integrated into MediaWiki, thus available across all Wikimedia wikis and usable without template-based workarounds.
  • Sub-references will be properly displayed in Reference Previews and mobile reference pop-ups.
  • It's optional: You can still use other methods for referencing. But you might encounter sub-referencing in articles written by other users.
 
Please tell us what you think. It is important that this new feature does not interrupt user workflows, is intuitive and works well for wikitext and Visual Editor users regardless of their experience level or knowledge about wikitext and templates. To make sure of that, we need your feedback:

How it works

In wikitext

Please note: The following sections describes the old wikitext syntax for sub-referencing. Talk:WMDE Technical Wishes/Sub-referencing#Request for feedback describes our new plans.

The wikitext solution for sub-referencing is nearly done. However, the name of the attribute might change. The solution has not been deployed yet mostly because we want to avoid that Visual Editor users have a vastly different experience than wikitext users. The Visual Editor support is still in development.   You can still test the prototype and tell us how it’s working for you.

Benefits specific to wikitext

  • The solution is based on the existing and known concept of named references.
  • It doesn’t require any knowledge of templates.
  • Near-duplicate references can be removed in the wikitext, making it cleaner, less redundant and easier to read.

 


 

Step by step

1) You need a reference with the main bibliographic information, the main reference. This reference needs a name:

<ref name="Miller">E. Miller, ''The Sun''. New York: Academic Press, 2005.</ref>

This main reference should be placed in the references section, or else you will have a reference in the article that does not show any details like page numbers. In the references section, use the syntax <references> … </references>. If the article is already using <references />, remove it.

2) You create a sub-reference, using the name of the main reference with the attribute extends. You add the details between the <ref> tags:

<ref extends="Miller">Page 23.</ref>

This is what it looks like:

According to scientists, the Sun is pretty big.<ref extends="Miller">Page 23.</ref> In fact, it is very big. Take their word for it.<ref extends="Miller">Page 48.</ref> Don't look directly at the sun!<ref extends="Miller">Page 23.</ref>

==References==
<references>
<ref name="Miller">E. Miller, ''The Sun''. New York: Academic Press, 2005.</ref>
</references>

 

 
Keep in mind

If you want to reference a new source using sub-references in wikitext, you only need to make sure to create the main reference in the references section.

But in many cases, you probably want to use sub-referencing with a reference that already exists in the article. In these cases

  1. Turn the original reference into a main reference by using <ref name>.
  2. Move the main reference into the references section.
  3. Create a sub-reference where the original reference previously was in the article text.
  4. Move the details of the main reference (page numbers etc.) into the sub-reference. Make sure they no longer remain in the main reference, otherwise those details will be shown twice.
  5. Create more sub-references wherever you want to cite the source with different details in the article.

You can also re-use a sub-reference itself by giving the sub-reference a name:

According to scientists, the Sun is pretty big.<ref extends="Miller" name="Miller, 23">Page 23.</ref> In fact, it is very big. Take their word for it.<ref extends="Miller">Page 48.</ref> Don't look directly at the sun!<ref name="Miller, 23" />

==References==
<references>
<ref name="Miller">E. Miller, ''The Sun''. New York: Academic Press, 2005.</ref>
</references>

 


Please note

  • Converting references to main and sub-references requires some clean-up; and the main reference typically needs to be in the references section (as described above).
  • You can use sub-referencing with citation templates. We’ve tested the most commonly used ones, but your favorite template might need some updates in order to work with our solution.
  • Some gadgets/scripts related to references might also need an update in order to properly work with the new sub-referencing solution.
  • It is not possible to make a sub-reference of a sub-reference.
  • If <ref group> is used, the main reference and the sub-reference need to be in the same group.


In Visual Editor (in development)

At this point, we don’t know exactly what the feature for Visual Editor will look like. So far, we have a very minimal solution that is not yet ready to be deployed. In the upcoming weeks, this solution will most likely change.   You can also test the prototype with the current state of the Visual Editor solution. Please keep in mind that it will likely change. We will update this page when new aspects can be tested.

Benefits specific to Visual Editor

  • To cite the same source with different details, you no longer have to create a new reference from scratch.
  • Sub-references are fully compatible with Visual Editor (as opposed to template-based workarounds): You can create them via the citation dialog and you can edit them from within the references section.

 


 

Workflows in the current prototype (likely to change)

Creating a sub-reference

  • Creating a sub-reference currently works via the the existing citation dialog.
  • In the "re-use" tab, select the reference you want to re-use via the three dots and click "re-use this reference with additional details".
     
  • Enter the details of that sub-reference and click insert.
     
  • The reference popup in Visual Editor shows you that this reference is a sub-reference, and how often it is re-used.
     

Editing an existing sub-reference

  • Click on the footnote marker in the article text to edit a sub-reference.
  • You can now change the details of the sub-reference. You are also informed that it is a sub-reference.
     
  • You cannot edit a sub-reference from the reference list yet.
  • To edit the main reference, click on it in the references section.

Re-using a sub-reference

  • You can re-use a sub-reference using the "re-use" tab in the citation dialog.
     

Please note

  • The existing problem with auto-names for references in Visual Editor also occurs with sub-referencing.
  • In Visual Editor, it is currently possible to make a sub-reference of a sub-reference. This is an error and causes an error upon saving. It is not supposed to work later in the actual solution, and does not work in wikitext, either.
  • We have yet to work on what happens when you delete a reference that is being re-used.
  • The workflow on turning an existing reference in a main and sub-reference has yet to be defined.
  • When you create a re-use of a sub-reference in Visual Editor and then switch to wikitext, you will find that the statement in wikitext is <ref extends="main-reference" name="sub-reference" />. This is a bug and will be fixed as part of T367749.
  • <ref name="sub-reference name"/> currently does not show the Reference Preview for the sub-reference properly in Visual Editor editing mode. You will only see the sub-reference's details in the pop-up and not the information from the main reference. To see the main reference's information in the pop-up as well, you should currently use the syntax <ref extends="main" name="sub-reference name" />.

 Test the prototype

We need your feedback to make sure we build the right things. Feedback or questions are always welcome on this project’s talk page.

The prototype is available on beta wiki. Currently, we primarily invite you to test the wikitext solution: Test on beta wiki Feedback

 
Please note that beta wikis are a bit different from your regular wiki:
  • They might look different (e.g. not use your preferred skin).
  • They might offer some new features that are still being tested.
  • They only contain some test pages and templates, not your entire wiki’s content, and not all the templates, modules, gadgets etc. you are used to.
  • Your regular Wikimedia login doesn’t work on beta wikis. You can either register an account – make sure to use a different password than your regular Wikimedia account – or test the feature without an account, which will lead to the creation of a temporary account (on de-betawiki) – or display your IP address (on en-betawiki).

The problem we are solving

In Wikipedia articles, it is common to reference a source multiple times. But while you can re-use a reference exactly as it is, you currently cannot re-use the same reference with different details (e.g. different page numbers). Your only option is to create a whole new reference or to use workarounds.

Status quo: Re-using references in wikitext and Visual Editor

If you want to re-use a reference in wikitext, you can turn it into a named reference and refer to that name at another point in the article. The named reference can be placed in the article text or in the references section. In Visual Editor you can use the option "re-use" in the citation dialog. In the references section, references with the same name are grouped together.

Status quo: Re-using references with different details in wikitext

If you want to re-use an existing reference with different details in wikitext, you currently need to copy and paste the existing reference and change the details of the duplicate or create a new (almost identical) reference from scratch. Some projects use workarounds like short citations or template-based solutions like shortened footnotes. In the references section, the original reference and the new one you created are not grouped together.

Status quo: Re-using references with different details in Visual Editor

If you want to re-use an existing reference with different details in Visual Editor, neither the option "re-use" in the citation dialog nor the copy-and-paste method will work, because both lead to identical re-uses, and changing details of the re-used/copied reference changes both instances of that reference. Instead you’ll need to create a new (almost identical) reference from scratch. In the references section, the original reference and the new one you created are not grouped together.

References created by template-based workarounds like {{sfn}} cannot be edited from within the references section and don’t appear in the citation re-use tab; but it is possible to edit them manually when locating them in the article text.

workaround with {{sfn}}:

Problems for readers

Template-based workarounds are not properly displayed in Reference Previews, Reference Tooltips and mobile reference pop-ups.

{{sfn}} workaround with previews for references:

Main problems with the status quo

  • The experience of Visual Editor and wikitext users is very different.
  • Most workarounds for reusing references with different details don’t work properly in Visual Editor.
  • Creating lots of almost identical references with different details makes the wikitext longer and potentially harder to read.
  • Template-based workarounds are not equally accepted by all communities and thus not globally available.
  • Some users try to avoid this issue by putting sources in the bibliography section without using them as references at all, which makes it harder to verify sections of the article.

Recent changes and next steps

Our team has worked on this problem on and off for some time now. Here is an overview of this project’s history, including our research.
Thank you to everyone who participated in tests and interviews and who showed interest, as well as everyone who took the time to comment on our talk pages over the years. It is deeply appreciated. If you have further feedback, please share it on the talk page.

  •  Y A prototype is available on beta wiki. It covers the wikitext solution and some of the basic features of the Visual Editor solution. You can continuously test the prototype and give feedback.
  •  Y We have sent out announcements across all wikis to let communities know about this upcoming feature, and have invited them to test and give feedback.
  •  Y Our team presented sub-referencing at Wikimania 2024 and discussed with participants. (YouTube)
  •  Y Moderated users tests took place across different projects in 2024.
  • As of October/November 2024, we are currently exploring possible changes to our wikitext approach, based on the community feedback we've received. We'll reach out to communities soon to get more feedback on possible changes to the sub-referencing feature.
  • Pilot wiki deployment is stalled, pending discussions and potential changes to our feature.
  • We are planning to deploy the sub-referencing feature to other Wikimedia wikis in 2025.
  • We will continue to collect feedback to improve the solution after deployment.

We are aware of other problems in the focus area "reusing references", and we will try to address them along the way. Our focus, however, remains on creating a solution for sub-referencing.

Frequently Asked Questions


How can I find articles that use sub-referencing?

A tracking category called Category:Pages that use extended references is added to any page where sub-referencing is used, allowing you to explore or fix pages using the new feature. The name of this category might change.

Can I use this feature with citation templates/tools?

Yes, you can use sub-referencing with citation templates. We’ve tested the most common citation templates (e.g. cite book or cite web) and don’t expect any issues. But your favorite template might need some updates in order to work with our solution. Some gadgets/scripts related to references might also need an update in order to properly work with the new sub-referencing solution. Because templates, gadgets and scripts are in the hands of the wiki communities, we are unable to adapt them.

Please let us know, on the talk page, if you discover any problems or need some help updating citation templates to make them work with the new feature.

What will the name of the sub-reference attribute be?

We don’t know yet. Currently, the attribute name for creating sub-references in wikitext is extends. We decided on this name some years ago after discussing with communities and stakeholders at the Wikimedia Foundation. However, we have received some feedback that this name might not be the best option. Before we will deploy this feature to the wikis, we want to get more feedback on the attribute name and are planning to put some alternatives up for discussion. We’ll let you know when that happens.

Why did you choose this wikitext syntax?

When we first started working on the wikitext implementation of this feature, we discussed different options. Adding a new tag (e.g. <subref>) was discussed carefully, but we wanted to stick to the existing <ref> approach, to minimize the amount of new syntax users have to learn. Besides, introducing a new tag would require many updates to existing community software (tools, gadgets, bots etc.) for referencing.

One proposal (from 2008) was to specify the subreference’s details within the <ref> tag: <ref page="page 2" name="Miller"> or later <ref detail="page 2" name="Miller"> using the name attribute to refer to the main reference. This is similar to what users know from working with templates like {{cite book}}.

The main issue with this approach is, however, that it causes problems with templates and is very likely to cause errors. Another problem with this syntax is that it does not allow to re-use a sub-reference, because the name attribute has already been used to refer to the main reference and cannot be used a second time.

A way to avoid both these issues is to create a new reference attribute and put the sub-reference’s details in the area between the opening and closing <ref> tags, the same way it is already done for the content of references. This is what our approach does.

Why did it take so long to find a solution?

The Technical Wishes team has worked on this feature on and off for many years. If you want to know more, here’s an overview of the history and complexity of this problem.