citation-style-language / schema

Citation Style Language schema
https://citationstyles.org/
MIT License
187 stars 60 forks source link

input: uris, mendeley properties #349

Open bdarcus opened 4 years ago

bdarcus commented 4 years ago

Two quick questions below.

As I was digging around for an answer of how to annotate the csl-citation.json uris property, I came across this, from Mendeley.

So the description for uris should simply be:

"description": "Any number of URIs that identify the bibliographic item."

Question 1 no reason to change this right; simply add the annotation? Or is there any reason to deprecate?

The other issue is the other properties they have; example:

    "mendeley":
    {
        "previouslyFormattedCitation" : "(2007)",
        "manualFormatting" : "2007b"
    }

These are defined as follows:

  • a "previouslyFormattedCitation" element of type "string", set to the rendered output of the cite of the previous rendering round (this can be used to determine if the user manually altered the output)
  • a "manualFormatting" element of type "string", set to the user-customized output of the cite (this output will be used in favor of the generated output)

Question 2 should we add either or both of these to the schema? Do they provide value to citeproc-js or citeproc-rs in the context of Zotero?

To me, the first one seems more obvious than the second.

@fbennett @cormacrelf

bwiernik commented 4 years ago

I think uri is how Zotero manages the link to the document, too. Is that correct @adomasven?

In Zotero, manually-edited citations are handled by adding the dontUpdate flag. The plainCitation property stays the same: "plainCitation":"(Wiernik, 2016)","dontUpdate":true,"

denismaier commented 4 years ago

These are really implementation specific properties, right? Looks like they won't be really helpful for other implementation, say pandoc-citeproc. Is that correct?

bdarcus commented 4 years ago

These properties, and this citation schema, is for interactive GUI apps really; not batch processors.

And yeah, for Zotero, Mendeley, etc., seems there should just be one way to do this.

bwiernik commented 4 years ago

I don't have a strong preference on trying to get GUI apps to all use the same structure--this is something that those applications interact with, not the processors. For example, for Zotero, if dontUpdate is true, then it just ignores the processor generated output and leaves the text along. If Mendeley sets up a different workflow, I don't think that's necessarily a problem, especially not enough of one to try to get applications to make changes.

Perhaps we should just allow custom properties (additionalProperties) on the citation JSON schema? Thinks like uris, dontUpdate, etc. can be added by the application as needed, but aren't of concern to CSL?

bdarcus commented 4 years ago

I'm really asking the question of Zotero and Mendeley folks.

bwiernik commented 4 years ago

Yes, understand. Just wanted to be clear that this is really up to them, doesn't involve other moving parts at all.