zotero-cita icon indicating copy to clipboard operation
zotero-cita copied to clipboard

Support Zotero 7

Open diegodlh opened this issue 1 year ago • 4 comments

Support Zotero 7. Beta has been released already: https://forums.zotero.org/discussion/105094/announcing-the-zotero-7-beta. For details on what changes need to be made, see https://www.zotero.org/support/dev/zotero_7_for_developers

Work tracker

Progress:

  • [x] initial build #267
  • [x] initial overlay #267
  • [x] setup new branch and make dev instructions
  • [x] show citations overlay #267
    • [x] Get CSS styling to work
    • [x] Get PIDs to be selectable text
  • [x] item pane columns #267
  • [x] fix localisation #275
    • [ ] #288
    • [ ] #289
  • [x] add right click menu
  • [x] add translators (need to copy them into the addon as part of the build process) #270
  • [x] fix CitationEditor UI #273
  • [x] fix UI for pushing to wikidata (popup menus)
    • Need to change line 16 in node_modules/wikibase-edit/lib/request/fetch.js to const controller = new window.AbortController() to be able to add new citations on wikidata - otherwise AbortController is undefined... (https://github.com/diegodlh/zotero-cita/commit/47bae1aef133dd392a3fca185fc0249d654cd728)
  • [x] fix local citations network #284
  • [x] fix settings menu UI #281
  • [x] fix importing citations by identifier #277
  • [x] fix importing citations by text #279
  • [x] fix exporting citations #280
  • [x] fix progress messages #276
  • [x] fix preferences
  • [x] make sure auto updating works when transitioning from Zotero 6 to 7 (https://github.com/diegodlh/zotero-cita/commit/4fa3123240c9de94c829d1763438452991a1f866)
    • v0.5.5 install.rdf points to https://raw.githubusercontent.com/diegodlh/zotero-cita/master/update.rdf
    • this should be updated in the JSON format to point to v0.5.5 for Zotero 6, and the latest version (or v1.0.0) for Zotero 7

Building and running the Zotero 7 version

See build instructions here.

Note: the first time you run the plugin you might need to enable the Cita plugin under Tools -> Plugins then, close Zotero, then run npm run start again

The entrypoint to the addon's code is in src/hooks.ts

Bugs

Zotero Pane:

  • [x] citations don't update when updating the sort order, need to reselect the current item (https://github.com/diegodlh/zotero-cita/commit/07943cfdaf5b241c2f972635031f1ef943264b36)
  • [x] sometimes when editing the PID row, the text gets erased automatically (https://github.com/diegodlh/zotero-cita/commit/5a88d50b1ea5d0ca9701c901bd54f2fdd37633ff)
  • [x] Editing PID rows doesn't get saved when the the input loses focus / the item changes. It works in the citation editor though (because of the Save button)
    • I think this is because React mistakenly thinks it's operating in IE8 when rendering the citations box, but not in the citations editor (https://github.com/capricorn86/happy-dom/issues/534) (https://github.com/diegodlh/zotero-cita/commit/f1792e787db2d97a7544af48d118a517e6804f2c)
    • This was also useful as inspiration for the fix https://stackoverflow.com/questions/61371194/react-trying-to-attachevents-under-jsdom#61371195
  • [x] citation pane heading doesn't show up - fixed in 7033ea2 image
  • [x] #292
  • [x] #293

Citation Editor:

  • [x] PID rows aren't editable - they get erased back to the default value whenever typing in them (https://github.com/diegodlh/zotero-cita/commit/5a88d50b1ea5d0ca9701c901bd54f2fdd37633ff)
  • [x] can't use the PID row fetch functions as they can't access the main Zotero object #283
  • [x] can't open the author context menu "..." for a similar reason - win.goUpdateGlobalEditMenuItems is not a function (17ee82c)
  • [ ] can't open the title/publication context menus "..." - get error this.delayConnectedCallback is not a function

Identifier Importer / Citations importer:

  • [x] CSS isn't reactive to resizing the window height (https://github.com/diegodlh/zotero-cita/commit/c75ecc522aa1e022c617db0ebad56ac8d61a8597)

Dialogs:

  • [x] #290

Wikidata:

  • [ ] #291

Questions

  • how do we use Zotero components in react? We can follow this approach if we have access to the global window object, but I tried passing this into the CitationsBox and it didn't work.
  • [x] https://github.com/diegodlh/zotero-cita/commit/47bae1aef133dd392a3fca185fc0249d654cd728#commitcomment-146460819
  • [x] https://github.com/diegodlh/zotero-cita/commit/f1792e787db2d97a7544af48d118a517e6804f2c#r146509552
  • [x] https://github.com/diegodlh/zotero-cita/commit/4fa3123240c9de94c829d1763438452991a1f866#commitcomment-146528656

New release procedure

  • see #296

Final steps

  • Before merging the zotero7 branch into master, @diegodlh will review changes in static/chrome/locale/ to make sure they will be ok with Translatewiki
  • Announce the new release supporting Zotero 7:
    • Wikidata
      • https://www.wikidata.org/wiki/Wikidata_talk:Zotero/Cita
      • https://www.wikidata.org/wiki/Wikidata:WikiProject_LD4_Wikidata_Affinity_Group/Affinity_Group_Calls ?
      • https://www.wikidata.org/wiki/Wikidata:Status_updates/Next
    • Zotero forum
    • ...

diegodlh avatar Jun 04 '23 21:06 diegodlh

Thanks for the hard work. Could you release a the beta version?

llity avatar Aug 22 '24 13:08 llity

Hi @llity! Thank you so much for your message. We are currently working on the final details and we plant release a beta version in around one or two weeks :)

diegodlh avatar Aug 22 '24 18:08 diegodlh

There's a first beta release here. I also tested the automatic release tools which seemed to work out nicely.

There are a couple of remaining issues with translations and UI, but otherwise everything should be functioning so let us know if you encounter any issues!

Dominic-DallOsto avatar Aug 27 '24 19:08 Dominic-DallOsto

Great job, @Dominic-DallOsto! I've reviewed your latest commits and overall it looks great.

I've added some comments to some commits, reported a few bugs and created a discussion about the new release procedure. Everything is linked from the main comment, above.

Looks like we will finally have a stable release for Zotero 7 very soon :)

diegodlh avatar Sep 11 '24 00:09 diegodlh

I just modified the release procedure so that now beta releases will automatically update to the latest beta release too.

This works because update.json and update-beta.json are now both stored in a release called "update".

Otherwise I fixed a couple of UI issues that were pointed out so things should be smoother now.

Dominic-DallOsto avatar Sep 23 '24 21:09 Dominic-DallOsto