Page MenuHomePhabricator

Enable people to generate and save citations to a personal sandbox
Open, Needs TriagePublic

Description

Prompted by an idea @Sj shared in T362379#9913315, this ticket seeks to introduce a workflow that would enable people to generate citations and save them to a personal sandbox of sorts.

Story

As someone who is reading a long-form text (PDF, book, etc.), I'd like to be able to quickly generate a citation for said work and save it in such a way that I can later cite it on Wikipedia, so that I can remain present with simply reading in the moment.

Background

Event Timeline

@Sj could you please take a pass at filling in the task description's Background section with the connection you see between this idea and the issues we're investigating in T362379?

By the time I paste a URL into an editing interface as a citation, I have generally already visited that URL in the same browser to read it.
So when I call on citoid to extract and format a citation, I would ideally not need to download the source again.

In an ideal environment, my editing interface might

  1. check other browser tabs or my browser cache for a copy of that URL
  2. check a local citation-cache (e.g., via a browser extension or bookmarklet) to see if I've captured a citation while browsing that URL
  3. check a global citations wikibase to see if anyone has cached a citation for that URL

All of these options would avoid having spiders or bots visit those URLs on my behalf, once or more additional times, just to render a citation. 2. and 3. would additionally build for me a citations sandbox a bit like a personal bibtex file that includes all sources I plan to use (ever, or just across a research session).

(And having an option for 2. and a community of practice would make it easier to experiment with 3. in the future. :)

I think @Esanders mentioned in that task earlier that we cannot check user's browser for caches of other sites they've visited as it violates our privacy policy.

Having a global citation database has been stalled for a while and the subject of a lot of conversation. See also: https://meta.wikimedia.org/wiki/WikiCite

Yes, by 'ideal environment' I meant one that lets an informed user do what they want, which includes things currently prohibited by nested (possibly over-specified) privacy + security policies that protect me from myself :)

In theory, I don't see why a differentially private client couldn't check {a local bibtex file for a cite for $URL; a local cache for a cache of $URL, which a client-side script tries to convert into a cite} and return a cite or "not found". Then leave it to a user setting to decide whether to have a client-side citoid try to generate these from browser cache; or only support active cite-gen-while-reading via bookmarklet; or equivalent. Certainly the browser itself could support this, and WP isn't the only place that I might want smooth citation generation for my reading list.

In the above examples, 2. may be the most practical thing that people already working on / around Citoid could implement, w/o having to deal with the privacy aspects of 1. or the global ambitions of 3. Naming the canonical local bibtex file that Wikipedia interfaces with, would also be useful to many of these other tools and experiments. (including WikiCite, an idea I heartily endorse).

Client-side metadata extraction sounds like an interesting idea to both circumvent sites blocking Citoid (as mentioned in T362379) and to support sites which rely on the browser running some JavaScript code to display content.

A very indirect solution, which you are probably aware of, involves using Zotero and the Zotero browser connector to:

  1. Use the Zotero browser connector to extract citation metadata (using the same Zotero translators used by Citoid) from webpages you are visiting, and save them as items into Zotero.
  2. Edit citation metadata as needed in Zotero (e.g., the item type).
  3. Use Zotero's Quick Copy function to easily export citation metadata as Wikipedia citation templates using Zotero's Wikipedia Citation Templates export translator.
  4. Paste into a Wikipedia article as reference.

Similarly, it occurs to me that it may be possible to create a fork of the Zotero browser connector that, instead of saving an item into Zotero, directly copies the corresponding citation template (generated with the Wikipedia Citation Template exporter) into the clipboard, so users can paste it into Wikipedia.

Alternatively, for better integration with current workflows, the extension may copy the raw citation metadata JSON instead, and a modified version of the Visual Editor's "Cite" dialog may take this to generate the citation (as it currently does with Citoid's response).