Giter Club home page Giter Club logo

zotero-open-citations's Introduction

Open Citations Plugin for Zotero

This Zotero plugin adds information about open citations data for one or several items in Zotero. Currently, a DOI lookup in the OpenCitations COCI service is implemented, the result is added as a note, and the latest references are saved in a special collection in Zotero:

Screencast

TODO more and better functionalities

Installation

To install the extension:

  • Download the XPI file of the latest release.
  • In Zotero, go to Tools → Add-ons and drag the .xpi onto the Add-ons window.

Build and release

Run build.sh script, which creates a new .xpi file.

For a new release, run the script release.sh, push the code changes, publish a new release on GitHub and attach the .xpi file there.

Development

Create a text file containing the full path to this directory, name the file [email protected], and place it in the extensions subdirectory of your Zotero profile directory. Restart Zotero to try the latest code changes.

License

The source code is released under GNU Affero General Public License v3.

zotero-open-citations's People

Contributors

zuphilip avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

zotero-open-citations's Issues

Preference Pane

I feel a bit foolish, but yes there is a Preference Pane. I found it now. Note that Zotfile puts menu item in the Tools menu for the preference. This was where I was looking, and therefore didn't see it. It is hard to grab a screen shot of the menu items due to timing but you can sort of see it on the screen shot below.
preferences

Some issues with the Preference Pane:

  1. For me on Ubuntu, the window opened up behind other windows. It would be good if it opened up on top of the other windows.

  2. A radio button interface might be good for the only feature in the preference pane. For instance, leave "3" as default, but also have like a radio button which has three places [default '3', all, custom number].

You could also have some credits in the pane having it more substantial like the zotfile one below makes it easier to see and feel like it is real.

zotfile-pref

Warning when more than X items are selected

When a lot of items are selected than the whole process takes quite some time and cannot be stopped. Thus, we should at least show a warning before proceeding with more than X items. Any suggestions how large X should be? Are less than 50 processed reasonable fast and there we can try to set X=50 maybe?

Add installation instructions to README

The README should ideally include installation instructions. Here are some sample instructions from http://zotfile.com/#how-to-install--set-up-zotfile

"Install ZotFile

For Zotero 5, first download the extension file (follow the download link above, click on the .xpi file for the most recent release). Now start Zotero 5 and go to “Tool -> Add-ons -> Tools for all Add-ons (the small, drop-down wheel in the top right corner) -> Install Add-on From File” and select the downloaded .xpi file."

Reusing subfolders/data from a previously received Crossref calls

It seems from my limited experimentation that I one asks the COCI API for citations, that an unlimited number is returned and written into a note. However, limits are imposed on the import from CrossRef on these DOIs returned from COCI. These limits are set in the preference pane.

I ran the COCI query on a resource in Zotero with the default value of 3. three resources showed up in my folder on the left side.
screenshot from 2018-09-26 13-48-04
I ran the COCI query on a resource in Zotero with a custom value of 7. the three original resources showed up in a new folder with an additional 4 resources.
screenshot from 2018-09-26 13-48-15

two folders, one for each query.
screenshot from 2018-09-26 13-44-07

I think it makes sense to do two things:

  1. don't create a new folder if it already exists.
  2. don't download the citations again, because every time the plugin is run on a batch of resources it will import the previously imported ones again.

Problems with top level items

For top-level items, i.e. items shown under My Library directly the plugin has a problem, when it tries to check the child-collections, which then leas to an error:

[JavaScript Error: "TypeError: currentCollection.getChildCollections is not a function" {file: "chrome://zoteroopencitations/content/zoteroopencitations.js" line: 79}]

I guess that it is possible that currentCollection is null here.

Search for matches for retrieved citations within the user's library

After citations are retrieved from OC search for matches within the user's library. For example from 100 citations of an article I already have 2 of them in my library, for which I can then easily receive more information like title and authors. Moreover, it could be indicated in which collections these matched articles are found.

Use more precise language

I'm not sure what "Add some functionalities for open citations" means. Does this mean that you are finding citations to articles from OCC based on the DOI? More clear language would help potential users.

Select articles in the citations note and save their metadata

I love the idea to have a note for an article with the articles that cite it. I guess the note should be updated at intervals (maybe a third issue :), but it would be great if citing articles from that note can be easily bookmarked in Zotero themselves, but clicking the DOI in that note created by this plugin.

Folder Multi-select?

I'm just wondering if there is a programmatic way to move folders.... as there is no multi-select for collections... I'm still trying to clean up after my snafu... zotero-nomulti-select

Progress bar

As the process can take some time especially when a lot of items are selected or many items are retrieved, a progress bar could be helpful for users. Especially to see when it is finished. The progress bar should not prevent the user to click around, as it is possible now as well.

formatURLPref error because the link to preferences

After introducing the link to the preferences in install.rdf

<em:optionsURL>chrome://zoteroopencitations/content/preferences.xul</em:optionsURL>

I see the following error

[JavaScript Error: "formatURLPref: Couldn't get pref: extensions.getAddons.link.url" {file: "resource://gre/components/nsURLFormatter.js" line: 143}]
uf_formatURLPref@resource://gre/components/nsURLFormatter.js:143:7
gListView.initialize@chrome://mozapps/content/extensions/extensions.js:2735:9
gViewController.initialize@chrome://mozapps/content/extensions/extensions.js:709:7
initialize@chrome://mozapps/content/extensions/extensions.js:211:3

It does not seem to block anything, but still I would like to fix that. I copied the optionsURL from Zutilo and I don't see this problem there:

https://github.com/willsALMANJ/Zutilo/blob/deec2c43cac8b50fbdf69f32b08952aa3961bb1e/addon/install.rdf#L21

Ping @willsALMANJ, maybe you have any ideas how solve this

Not working

Hi,

Just installed this plugin and it does not work.

macOS 10.14 (Mojave)
Zotero 5.0.57
Zotero Open Citations 0.3.0

When I select one or multiple Zotero items, right click and Check for Open Citations on... > OpenCitations COCI nothing happens.

I was expecting to have the citations imported as per the readme.

Not sure if I have missed something. Any help would be greatly appreciated.

Thanks,
Atanas.

Some feed back from a grateful and excited user

I saw this plugin and said: "What a clever idea!" I proceeded to install and use the plugin on my Zotero library of over 3,000 items.

I first tried the plugin with one item not so bad. Then I tried it with the other 2,999 and it took about 1/2 hour based on the logs of materials added. – That was a bit unexpected, and I also felt a bit foolish for trying so many. There didn't seem to be a way to escape the script or to know what the consequences would be if I force quite/escaped.

I found the link in the left click menu button was an intuitive place for reaching the service as that is also where the zotfile service is located. But I did also look for a button in the UI. Is there one? there didn't seems to be anything in the application menu (I'm on Linux, Zotero standalone).

What was unexpected and I still don't know what to think about is all the new folders created under the library. There is something nice about being able to access the related citations in this way, but I think these should by default all be in a common sub-folder rather than directly under "My Library". I have a lot of collections and being able to hide these with a single click would be really helpful. Zotero does not allow the user to multi-select these library folders and move them, so now I have several hundred folders to manually move one at a time... this is not really all that encouraging. Also, I don't usually relate to citations by their DOI, so if these folders were titled by the name/title of the entity being referenced that would be much more usable.

screenshot from 2018-09-25 09-31-17

Related resources:
It seems (and please correct me if I am wrong) that when a DOI match is found a new record is created and then Zotero steps in and fills in the rest of the metadata. So, for items that are already in my Zotero database I now have two records. But I also now have a bunch of records which I might not have had before.

It is also unclear to me if when I am in Zotero's merge items view if items which are merged will appear in both collections still .... as a new item seems to be created for each resource citing it. That is if I have two citations each citing a single paper which I don't have in my current zotero lib, this plugin will download two copies of the metadata, one for each citation's reference.

The references in the newly created folders are to the new imports not the ones which already existed in my library.
It seems that I can manually relate resources but this is not automated? isn't this the point of #9
screenshot from 2018-09-25 09-14-33
I think automating this makes this plugin functional. Without connecting new imports to the user's existing entries the plugin seems to create a lot of noise in the user's library.

Also, again in the UI in the related entities tab everything is referenced as DOI, Titles are much more usable to end users, though DOIs are obviously not un-helpful, just helpful to a smaller degree.

Thank you for a lot of interesting and relevant work. Keep it up. I look for forward to seeing how this project evolves.

citation as first class entity in Zotero

Prof. Shotton proposed the CiTO some time ago, allowing people to indicate the meaning of a citation, e.g. whether the citing article disputes, supports the cited article, or if it uses method in or uses data from.

This annotation has not picked up, because there are not enough tools that support it. CiteULike was one of them, but seems abandoned. It would be great it Zotero would consider citations as first class entities too.

This is what CiTO looks like in CiteULike:
image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.