User:Jorge Stolfi/Out-of-body references



The following text used to be a section in my user page. It was moved here since I now believe that LDR is good enough. Please scroll further down for the original contents of this page. --Jorge Stolfi (talk) 16:15, 21 February 2013 (UTC)



Proposal for out-of-body references edit

In May 2009 I proposed another way of adding references to Wp articles. Here is a prototype implementation of that proposal, hacked with the template mechanism:

In brief: Instead of inserting the text of bibliographic citations ("ref-entries") in the article's source, with {{Cite...}} or <ref>...</ref> , each ref-entry is placed in a separate mini-article (a "ref-page"). Each ref-page is identified by a number, and is cited by including {{../@@|nnnnn}} in the citing article's source. (If the proposal is ever adopted, the template call will become just {{@@|nnnnn}}.)

When the citing article is fetched, the references are displayed in either of two formats. The "old style" is like today, with each citation showing as [23] (a "ref-link") that links to a "References" section at the end of the page. in the "new style", there is no "References" section, and each ref-link displays as that links to the corresponding ref-page.

For more details on the proposal, see

The prototype is presently implemented by the User:Jorge Stolfi/@@ and its sub-pages, such as User:Jorge Stolfi/@@/MakeRefNew and User:Jorge Stolfi/@@/UsersRefStyleOption. The ref-pages used in the demo are currently stored as sub-pages of User:Jorge Stolfi/@@, such as User:Jorge Stolfi/@@/63323. For each ref-page there may be a half-line "ref-snippet", stored in User:Jorge Stolfi/@@/63323-s, which is displayed as a popup when the mouse hovers over the "♦".

Thanks to User:Plastikspork for carefully "userifying" the "@@" template, and to User:Ruslik0 for decisive help with the wiki template language.



The original contents of this subpage follows.



These proposals and the replies were originally posted to Wikipedia:Village pump (proposals) page. They are copied here for reference. Please do not edit this page -- discuss in the live page instead. --Jorge Stolfi (talk) 07:29, 27 May 2009 (UTC)

References as separate mini-articles edit

Section created 18:03, 17 May 2009 (UTC) by Jorge Stolfi

The same reference text is often duplicated in dozens or hundreds of articles. Any copy-editing that has to be done in that text must be repeated that many times. So, what about entering the text of each reference only once, as a separate mini-article ? That could be either a special category of WP articles, like the disamb pages, or perhaps entries in a separate repository ("wikirefs"?). Then the main articles would just wikilink to those mini-articles, instead of copying them. (I suppose one could use templates for that. But the average WP editor does not know how to write templates, and they were not designed for this kind of use, right?) --Jorge Stolfi (talk) 05:47, 17 May 2009 (UTC)

Elaborating further:

  1. Location and naming: Each reference is entered as a separate Wikipedia article (a ref-page), in the main namespace.
  2. The ref-page is named "Reference @{677735}" where 677735 is a Wikipedia-assigned number.
  3. Format: Ref-pages will have a few specific style conventions, but otherwise they are ordinary articles, with same markup language, editing tools, etc.
  4. The lead section of a ref-page is the full text of the reference, as it would appear in a printed journal which did not mind printing costs, e.g.
    Alexander Undecimus Thor and N. O'Body (pseudonym of Carl O'Awther), DNA comparison of leprechauns and rhinogradentia. Journal of Missing References, vol.2 no 12, December 1996, pages 22-230.
  5. The ref-page may optionally include somewhere an invisible template {{Short-ref|A.U.Thor +|DNA comp. leprechauns...|J.Miss.Ref.|1996}},that specifies the text to be used when displaying the ref in cramped contexts (see below).
  6. Ref-pages can be redirects to other ref-pages, so duplicate entries can be easily merged and eliminated.
  7. Ref-pages can have categories, what-links-here, history, talk pages, see-alsos, links to other-language versions, etc. etc.
  8. In particular, ref-pages can cite other ref-pages, list external URLs, include abstracts, reviews, book covers and sample illustrations, etc..
  9. All pertinent WP policies and protocols apply to ref-pages too.
  10. Markup for citing a reference: To cite a reference that already has a ref-page, authors just have to insert @{677735} (a ref-link) in the article's source. See tools below.
  11. The citation may include arbitrary modifiers, e.g. @{677735|p.235}, @{677735|Ch.I–III}, etc.
  12. Or, the editor may use a normal wiklink to the ref-page, e.g. "An [[Reference @{677735}|authoritative source]] claims that leprechauns are related to..."
  13. Rendering of ref-links Any number of consecutive ref-links is displayed as a single ref-button, say "".
  14. Hovering the cursor over the ref-button brings up a pop-up with the (abbreviated) lead parags of the corresponding ref-pages, one per line, with the respective modifiers.
  15. If there is only one reference, clicking on the ref-button behaves just like clicking on a wikilink. Otherwise the same popup above opens, with each line behaving like a wikilink.
  16. There is also a single button somewhere that will produce a "self-contained" view of the current article, formatted according to the current convention --- with numbered ref-buttons "[21]" and the (full) lead parags of all cited ref-pages listed at the end of the article, in an automatically provided "References" section.
  17. Obtaining the id-number of a ref-page: Several tools may be provided to help the editor:
  18. The editor uses the WP search facility with an option to list only ref-pages. She then copy-paste pastes the @{677735} part of the ref-page's title into the edit buffer.
  19. Or, the editor opens another article that she knows that uses the reference. She clicks on the ref-button "" to jump to its ref-page. She then copy-pastes the @{677735} from the title, as above.
  20. Or, the editor right-clicks on the ref-button "" to bring up the popup with all its ref-page headlines. Then she right-clicks on the correct one to copy its ref-link into the clipboard. Then she pastes the clipboard it into the edit buffer.
  21. Creating a new ref-page. Above the edit buffer there could be a button labelled "New Ref". Clicking on it opens another article-edit window (or a second edit buffer below the current one) where the editor can enter the refrence as the new article's lead paragraph. When the ref-page is saved, its title is automatically set to "Reference @{677735}" where 677735 is a new WP-assigned id number. The editor then copy-pastes the ref-link @{677735} into the referencing article.
  22. The first time a new ref-page is saved, WP will use some heuristics to find similar-looking entries. If one or more possible duplicates are found, the editor is notified and asked to either confirm the creation, or cancel and use one of the pre-existing ref-page.
  23. Robots and edit tools can be provided to upload single refs or whole bibliographies, converting from external formats (Bibtex, Google scholar, etc.) to WP ref-page format.
  24. A robot or robot-assisted editor will eventually go through all current articles and rip out all the <ref>...</ref>, {{Cite ... }}, "==References==", "==Publications==", etc., replacing them by ref-links to ref-pages.

Does this make sense? All the best, --Jorge Stolfi (talk) 19:32, 17 May 2009 (UTC)

And this is intended to simplify reference creation? Happymelon 19:42, 17 May 2009 (UTC)
I believe so. The description looks complicated but that is mostly in the implementation. What the users --- and especially editors --- will see will be simpler, IMHO, than what they see now. Much more so for editors that maintain dozens of articles on relaetd topics.
Just try writing a similarly detailed description for the current model. All the best, --Jorge Stolfi (talk) 20:04, 17 May 2009 (UTC)
In fairness this only appears overwhelming because Jorge Stolfi has provided an extremely detailed and enthusiastic specification, including all kinds of interesting ideas about how it could be implemented and benefits that might accrue. Point 21 appears to stand on its own as an illustration that using such an approach, reference creation could be quite a simple action. I think the suggestion has merit in centralising references in what would perhaps effectively be a repository where they could be kept in good shape in a uniform way and not duplicated around the place as is presently necessary. PL290 (talk) 20:10, 17 May 2009 (UTC)
Isn't this what ref names are for? They do the same thing, but are far simpler. Dendodge T\C 20:17, 17 May 2009 (UTC)
I assumed ref names would only work within one article though. Am I mistaken? If so I must start using that technique. But the repository effect still seems to have benefits in any case. PL290 (talk) 20:25, 17 May 2009 (UTC)
Oh, I didn't know the OP was intending to use this across multiple articles. Anyway, I don't like the idea—the current system works just fine. If it ain't broke, don't fix it. Dendodge T\C 20:32, 17 May 2009 (UTC)
Hear, hear. Oppose proposal. ╟─TreasuryTagcontribs─╢ 20:33, 17 May 2009 (UTC)
Named refs only work within an article. Having used Bibtex (a 25-year-old piece of software, still the best thing aroud), I see the WP system of copying each reference whole into each article seems rather, well, prehistoric. (1) If a book is cited by 10 articles, making it into a ref-page will multiply by 10 any edits made to it. (2) turning a reference entry into a ref-page allows entering abstracts, reviews, and ref-to-ref links, *once*, no matter how many articles cite it. (3) each ref-page is fetched only if the reader wants to see it, which is almost never the case. This means signficant savings in server bandwidth, download time, browser cpu time and memory, and screen estate. (4) When a user opens an article for editing, he sees only the article text and the ref-links. The source is much easier to read and edit. (5) Conversely, users who look up a reference and feel like editing it will see only the source of the ref-page, not a ref entry embedded in a much larger article source. And so on. --Jorge Stolfi (talk) 21:58, 17 May 2009 (UTC)
(edit conflict) I think I have to agree with Happy-melon. (1) This whole "mini-articles in mainspace" idea is asinine; what about the template namespace, or a new namespace just for references? People have even made and used such templates before, that's nothing new. (2) Using opaque ID numbers instead of names is actively user-hostile. (3) A new syntax for transcluding references is superfluous, what's wrong with the existing transclusion syntax? (4) Adding all sorts of fancy javascript (which won't work for everyone), random buttons, and right-clicks in order to see anything besides a completely uninformative "♦" is foolish and inaccessible. (5) Better ideas about using symbols and combining adjacent references are in T18294. Anomie 20:36, 17 May 2009 (UTC)
The presentation details are secondary and surely there are better ideas. Accesibility is better served by letting users choose how they want the ref-links to be displayed, than by forcing everybody to use a lowest common denominator.
Putting ref-pages in the main namespace is better because (1) users will not need to learn a different set of conventions, styles, syntax, etc. (2) It discourages potentially disruptive programming hacks that are possible with templates, (3) it allows ref-pages to use all the tools and conventions of ordinary articles, (4) logically they are much more like ordinary articles ("data") than templates ("editing tools"), (5) they won't get downloaded and expanded when the article is fetched, as templates are.
As for using reference numbers, anyone who has collected a database of more than a few hundred articles knows that there is no "natural" way to refer to an entry. Nevertheless, that does not mean that in-article references are better than a large unified bibref database; quite the opposite, the latter gets more convenient as it gets bigger, since it is more likely that the reference one needs is there already. Mnemonic hints may help a bit (such as using authorInitials-year-firstWordOfTitle-serialNumber instead of just a serial number), but eventually the hassle of generating those tags (such as dealing wil variant name spellings) more than offsets their little benefits. If you look at scholarly databases used by millions of people -- the CAS registry, Genbank, Citeseer, IMDB, and even the venerable Roget's Thesaurus, you will see that opaque numerical IDs are actually more convenient to use than any mnemonic names or tags. The same problem would arise if all refs were turned into templates, and the same solution --- opaque, WP-chosen IDS --- would have to be used to refer to them.
All the best, --Jorge Stolfi (talk) 21:58, 17 May 2009 (UTC)
And on the downside of your "mini articles", they'll come up in Special:Random and they'll be included in our "count of articles" unless weirdness is done like MediaWiki:Disambiguationspage. Also, all of your points are incorrect: 1 is simply absolutely wrong as there will most certainly be special styles and syntax required (unless your proposal has drifted far from where it began), 2 is wrong because the only thing "special" about template space is that it's the default for {{}} transclusion syntax, 3 is wrong because there is nothing special about the main namespace that makes any "tools" or "conventions" not applicable to other namespaces, 4 simply makes no sense, and I fail to see how point 5 would work without them being "expanded" in some manner or other (again, unless your proposal has drifted far from where it began). This seems like stuff that anyone that has made many edits to Wikipedia should be familiar with. Anomie 01:36, 18 May 2009 (UTC)
Surely the random-page and article count are minor issues compared to the work involved in maintaining other WP bell and whistles.
For point 1, I don't see what "special syntax" a ref-page would need, besides the optional {{Short-ref}} template. By the way, for most books one could let the ref-page be just a redirect to a normal WP article on the book, e.g. the ref-page [[Reference @{67753}]] be a redirect to the book article Un Coup de Dés Jamais N'Abolira Le Hasard (Mallarmé). The redirect would be used for inline citations @{67753} while wikilinks to the book could use its full title, as now. So actual (non-redirect) ref-pages would be mostly for journal/newspaper/magazine articles, specific TV/radio shows, and for otherwise non-notable books and reports that do not deserve a named article (e.g. the 1967 Sears Catalog, or the 1996 Report to Stockholders of the Pastafazulla Company). But being in the same namespace would make promotion between the two categories easy, in case anyone cares.
For point 2, indeed I have mostly a fuzzy outsiders's view of what template-space and article-space means (Can you move a page from template-space to article-space, or vice-versa?). But that is not the point. It seems that I failed to get through an important feature/motivation of the proposal: the bibliography entries need not be and should not be pasted, included, or transcluded into the articles that cite them. They should be downloaded only if and when the reader clicks on the corresponding ref-button (whether it is displayed as or [23]); or if and when he asks to see all references of the article; or if he has opted to always get articles in the traditional format by default (with "References" section at bottom).
The assumption that the bibliography listing should be appended to the article is just another legacy of the printed paper era. Wikipedia has already broken many such legacies, such as the linear ordering of material, the concept of "definitive publication", "authorship", "edition", etc. We should question the concept of the "References" section as well. All the best, --Jorge Stolfi (talk) 04:12, 18 May 2009 (UTC)
I don't know about normalizing refs, this sounds unnecessary. I do think, though, that certain facts should be kept apart from presentation. Looking at a random page, Golden_ale_(UK), and assuming that the entire lead is somewhat controversial, we would have the following in talk, each followed by citations and links to previous talk-page discussions:
Golden ale
is a style of beer
was developed in the late 20th century by breweries
to compete with the large light lager market.
typically appears similar to a Pilsener.
Malt character is subdued [...]
This isn't the same idea as above, and it's partially implemented by faqs on some pages. The purpose is to have a solid reference for facts that might get blurred by frequent 'style' edits.  M  21:00, 17 May 2009 (UTC)
I don't see the point to this. I agree with most of what Anomie said. This seems at least as complicated as the current system with the extra drawbacks of: 1) its not at all backward compatible with the current system, 2) Any user who is familiar with the current system will be entirely back to square one. I think if we're going to refurbish the reference system, there are far better ways to do it. Mr.Z-man 23:33, 17 May 2009 (UTC)
"far better ways to do it" - such as? Rd232 talk 17:24, 18 May 2009 (UTC)

You may want to review {{Source_list}} and its subpages. Ruslik (talk) 09:45, 18 May 2009 (UTC)

That looks very useful to me, but is there a way to define a source in isolation from page numbers, or use parameters for the page numbers? Otherwise it would seem multiple sources, differing only by page numbers, must be defined for the same published work. PL290 (talk) 10:17, 18 May 2009 (UTC)
For a book used multiple times in a Wikipedia article, where information comes from different pages, you can still use a single footnote if you add the {{rp}} template wherever that source is cited in the article. [Page numbers aren't normally needed for newspaper, magazine, and journal articles.] -- John Broughton (♫♫) 20:52, 18 May 2009 (UTC)

Central bibliography edit

Section created on 16:01, 18 May 2009 (UTC) by PL290

Let's consider this in isolation from any implementation details. The vision of Wikipedia is to provide free access to the sum of all human knowledge. Human knowledge includes knowledge of published works. Wikipedia contains, embedded within article text, a large number of definitions of published works. The question then seems to be: once published work knowledge has been accumulated in this way,

  • does Wikipedia provide sufficient user access to the sum of that knowledge, and
  • does Wikipedia provide sufficient internal access to that knowledge, by allowing reference to it from inline citations in multiple articles?

From a current discussion on a certain proposed implementation, it appears the answer is no.


I propose that a mechanism be set up to allow access to the sum of all knowledge of published works, as a central bibliography, to both

  • users, who can then view and search the central bibliography, and
  • editors, who can then reference entries in the central bibliography from inline citations, specifying variable information such as page numbers as they do so.

PL290 (talk) 16:01, 18 May 2009 (UTC)

I really don't see how one can propose a new system without giving a thought to implementation. From my experience, in the vast majority of cases, it results in a bunch of people supporting and getting excited for something that never materializes. I've given some thought to an overhaul of the ref system myself, I have some notes at mw:User:Mr.Z-man/cite. Note that the a system to search references is one of the more difficult aspects of the implementation. Mr.Z-man 18:31, 18 May 2009 (UTC)
The goal of Wikimedia as a whole (and what Jimbo was talking about in that quote) is indeed to create "a world in which every single human being can freely share in the sum of all knowledge". Wikipedia is one component of that, we are an encyclopedia. Encyclopedias are not indiscriminate lists of things, such as books. When we're finished, we will have encyclopedic articles covering every notable work ever published. That's legitimate encyclopedic content. I don't think a List of all books ever published is legitimate content. That's what a library is for. Happymelon 18:34, 18 May 2009 (UTC)
Quoting Jimmy Wales is not the same as quoting Wikipedia policy. We follow policy, not what Jimmy said in some interview. And WP:NOT is quite clear: we're not a directory, and we're not an indiscriminate collection of information. Or, to put it at its most basic, we're an encyclopedia. Yes, we could, if we changed policy, spend huge amounts of time trying to build a central bibliography (do you have any idea how many tens of thousands of journal articles and books and newspaper and magazine articles are published every month?), at the cost of neglecting our core mission of improving articles. No, we shouldn't bother. -- John Broughton (♫♫) 20:43, 18 May 2009 (UTC)
Fair comments. I stand enlightened. I'll focus my thoughts then on only the "reference-sharing-across-articles" aspect, which was the trigger for this proposal in the first place. There seem to be further points still being made about this in the other discussion, so I'll see what transpires there. PL290 (talk) 18:52, 19 May 2009 (UTC)
I am working on a crude prototype of this thing. Check the draft article User:Jorge Stolfi/Oxocarbon test, Template:@@ and the subpages of the latter. Things to note in the draft artcile:
  • The "♦" buttons link to the entry in the repository, instead of the entry in the reflist.
  • The [E] buttons at the end of each entry in the reflist, to edit the entry in the repository.
  • The way references are entered in the drft article's source.
There are many things missing still, e.g. a button to omit/show the Reflist section, hovering popups, etc.. Please be patient, I am still learning how to write templates... All the best, --Jorge Stolfi (talk) 06:14, 21 May 2009 (UTC)
I haven't had a chance to study it in great detail yet, but it looks extremely promising as far as I can see. (As an aside, does an "out-of-body reference" result in an "out-of-body experience"?!) On a more serious note, do you envisage that it will support multiple references in an article to the same work, e.g., by passing a page-range argument to the template? (For an example of why this is needed, see The Beatles, section Notes and section References. PL290 (talk) 07:50, 21 May 2009 (UTC)
Perhaps in conjunction with {{rp}}, mentioned above by John Broughton? PL290 (talk) 07:55, 21 May 2009 (UTC)
A combined solution using {{rp}} and {{@@}} sounds quite interesting. I'm going to let this sit in the back of my head for a while before saying more. Kudos to the editors who have contributed to both. --User:Ceyockey (talk to me) 01:20, 22 May 2009 (UTC)
My prototype User:Jorge Stolfi/Oxocarbon test is broken at the moment because I can't figure out how to expand the {{{1}}} in <span title="{{{1}}}">...</span>. The #tag function works for ":ref" but not for ":span".) Hints would be appreciated... --Jorge Stolfi (talk) 06:20, 22 May 2009 (UTC)
I think, I fixed your problem. Ruslik (talk) 17:37, 23 May 2009 (UTC)
DBpedia, or related projects, would be more likely candidates for this idea. Wikipedia would then access their data.
Side-note: This thread reminded me of http://ottobib.com/ which might be of interest to anyone that hasn't seen it yet. -- Quiddity (talk) 02:27, 26 May 2009 (UTC)