Open Siedlerchr opened 4 years ago
Initial code: https://github.com/JabRef/JabRef4Word - this is based on Docear4Word.
Another idea would be to fork Zotero's word plugin: https://github.com/zotero/zotero-word-for-windows-integration This would reduce the maintenance cost in the future, for both JabRef and Zotoro. In the long term this may lead to one open source word plugin that can communicate to several bibliographic managers, instead of that each one has there own plugin.
On a second look, the zotero plugin still uses the old C++ interface while Microsoft is hard pushing the new Javascript-based Office Addons: https://docs.microsoft.com/en-us/office/dev/add-ins/word/?view=word-js-preview They work on Windows as well as on Mac (and web). So it seems they are the future-oriented technology.
Still, I think we should coordinate with the Zotero team. In particular, it should be compatible with the zotero format of inserting references, which is described here: https://github.com/rmzelle/ref-extractor/wiki. Example document: https://github.com/GVogeler/DHd2018/blob/1c2ff2f52eba09229a294658512e4251aeb78430/input/xml/BURGHARDT_Manuel_Digital_Dylan___Computergest_tzte_Analyse_d.xml
I can try to create Office Add-in with Visual Studio according to the instructions from here: https://docs.microsoft.com/en-us/office/dev/add-ins/develop/develop-add-ins-visual-studio. Initially, it is planned to have simple user interface written in plain HTML, CSS, Javascript.
I have downloaded initial code JabRef4Word to try it out. I need some time to familiarise with zotero format. I would like to develop it in C#, if it is possible.
Thanks for your interest @sfsharapov!
I share your preference for C#. However, it would be good if you could do a small research about what Microsoft is recommending for a new Add-in. Last time, I had the strong impression they were pushing strongly for Javascript/Typescript. For example, I don't think it is possible to integrate C# add-ins with Word Online (Browser version). Thus I got the impression the JS path is more future-proof.
For those looking into the issue: As the JS Api runs in a browser context, you obvioulsy can't access the file system. So you would need to use some kind of (web) sockets to connect to JabRef.
For every one interested in working on this for GSoC: In your project proposal, you can mostly ignore the issue of how to get the data from JabRef. For this, we are currently adding an API at https://github.com/JabRef/JabRefOnline, and other forms (e.g Websocket) are also in preparation. Instead, please focus on use cases and user interaction.
Workaround: YouTube video showing how a solution works by exporting all references to Word: https://www.youtube.com/watch?v=Q62nO-KDDZw
We need to create the connection to Jabref online to use the new developed Word add-on from Mohit
We could have JabRef offering a GraphQL interface so that the word add in can connect to it. Thus, no online hosting is necessary when working in a protected environment.
Please note @Siedlerchr that a Microsoft rep has just replied to the forums regarding some support for a JabRef JS add-in for Word, very encouraging!
https://discourse.jabref.org/t/incorporate-docear4word-into-jabref-4/619/10
I'd really like to see this, as it's a crucial feature when promoting JabRef and also in general to use it productively with Word.
Not having this functionality was the main reason to decide for Citavi in a collaborative project, recently.
Depends on fix for JDK-8240567: "MethodTooLargeException thrown while creating a jlink image".
A longstanding wish by many users. It should be possible to enter citations into Word directly from JabRef, simliar to the Open/LibreOffice functionality. Currently JabRef only supports exporting to the word XML file format used by internal citation manager in Word.
https://discourse.jabref.org/t/microsoft-word-and-cls-bibliography-styles-integration/2133
It should be invesitgated, if this is possible to do this with Apache POI for if we need a kind of word extension. Ideally the code for the LibreOffice and Word insertion should be abstracted/unified by a common interface.