NCEAS / metacatui

MetacatUI: A client-side web interface for DataONE data repositories
https://nceas.github.io/metacatui
Apache License 2.0
42 stars 26 forks source link

Add support for Zotero, Mendeley, and EndNote #902

Open mbjones opened 5 years ago

mbjones commented 5 years ago

We used to fully support bibliographic import of citations from our UI, but since we moved to MetacatUI it hasn't worked as well. We seem to have partial support now through the patches in issue #491 but that also doesn't work for the common browser extensions like the Zotero Connector from Chrome. Issue #491 seems to indicate this is a problem with dynamic client-side loading of the page, which to me means we need to add support for server-side loading of this info. As we are also working on server-side solutions to pushing JSON-LD into the landing pages for data sets, I think it would be good to be sure to also include the markup needed for bibliography supporrt.

When I try to save the citation for a data set from the Arctic Data Center, Zotero wants to save it as a web page snapshot, and misses the key metadata (like author, etc). The BibTex produced looks like this:

@misc{noauthor_nsf_nodate,
    title = {{NSF} {Arctic} {Data} {Center}},
    url = {https://arcticdata.io/catalog/view/doi:10.18739/A2610VR7Z},
    urldate = {2019-02-12},
    file = {NSF Arctic Data Center:/Users/jones/Zotero/storage/6NAB6B89/A2610VR7Z.html:text/html}
}

To close this bug, we should:

datadavev commented 5 years ago

for Zotero: https://www.zotero.org/support/dev/exposing_metadata

laurenwalker commented 4 years ago

Hi @amoeba -- I'm currently triaging a lot of MetacatUI tickets and wondering about an update on this -- has there/will there be any work on this in the near future?

laurenwalker commented 4 years ago

We should also support capture of citations in the citations lists that are retrieved from the metrics service. They are on dataset landing pages, the /profile Summary page, and all portals.

amoeba commented 4 years ago

Hey @laurenwalker, I've built a proof-of-concept for this but we haven't decided to go that route yet. Would have to ask @mbjones and @datadavev I think.

amoeba commented 3 years ago

I wanted to update this ticket just to let folks know it's not being actively worked on but is still something we might work on in the future.

The problem here is that we need to produce this metadata in the response from the server, as @mbjones points out in the OP:

We seem to have partial support now through the patches in issue #491 but that also doesn't work for the common browser extensions like the Zotero Connector from Chrome. Issue #491 seems to indicate this is a problem with dynamic client-side loading of the page, which to me means we need to add support for server-side loading of this info.

The ultimate problem is our use of the SPA paradigm to serve MetacatUI. To add server side loading under our current architecture would be to ask Apache to insert the information before it sends MetacatUI's index.html. Something akin to Server Side Includes but I'm not really sure if any Apache-based solution is practical or fun.

A broader conversation about this topic may be warranted, as the SPA paradigm limits us in a number of ways any change, while hugely beneficial, would be substantially distruptive.

datadavev commented 3 years ago

For Zotero at least, you can notify the extension that new metadata is available. https://www.zotero.org/support/dev/exposing_metadata#force_zotero_to_refresh_metadata

amoeba commented 3 years ago

Thanks for the link @datadavev, I think I missed that part of the page back when we did this work. I think adding that method is worthwhile. Filed on https://github.com/NCEAS/metacatui/issues/1804.

amoeba commented 3 years ago

Support for Zotero Connect is done in https://github.com/NCEAS/metacatui/issues/1804. I re-confirmed that Mendeley and EndNote's extensions still don't pick up our metadata and I haven't found a similar support page for those as Zotero has.