Skip to content

Commit

Permalink
Merge remote-tracking branch 'upstream/master' into importerbackgroun…
Browse files Browse the repository at this point in the history
…dtask

* upstream/master:
  Upgrade citeproc to 3.x snapshot without graal (#7370)
  Fix Exception if no AzureInstrumentationKey is available (#7373)
  Update snapcraft source url (#7372)
  Fix checkstyle and adjust language
  GitBook: [master] 3 pages and 32 assets modified
  Add migration to special field (#7368)
  GitBook: [master] 5 pages and 29 assets modified
  Modify message at the duplicates found dialog (#7231)
  Fixes miss-parsed names in `AutomaticPersonsGroup` (#7228)
  Fix an issue where the password for a shared SQL database was only remembered if it was the same as the username (#7364)
  Fix harvard exporter by changing AuthorsFormatter (#7355)
  Bump styfle/cancel-workflow-action from 0.6.0 to 0.7.0 (#7363)
  Bump mockito-core from 3.7.0 to 3.7.7 (#7360)
  Bump org.beryx.jlink from 2.23.1 to 2.23.2 (#7361)
  Bump libreoffice from 7.0.3 to 7.0.4 (#7362)
  Export full month name instead of number in ms office (#7358)
  • Loading branch information
Siedlerchr committed Jan 22, 2021
2 parents ef0cc31 + 94f4c1e commit 2fec815
Show file tree
Hide file tree
Showing 70 changed files with 501 additions and 504 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/deployment.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ jobs:
name: Create installer and portable version for ${{ matrix.displayName }}
steps:
- name: Cancel Previous Runs
uses: styfle/cancel-workflow-action@0.6.0
uses: styfle/cancel-workflow-action@0.7.0
with:
access_token: ${{ github.token }}
- name: Fetch all history for all tags and branches
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Cancel Previous Runs
uses: styfle/cancel-workflow-action@0.6.0
uses: styfle/cancel-workflow-action@0.7.0
with:
access_token: ${{ github.token }}
- name: Checkout source
Expand Down
6 changes: 6 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,9 @@ Note that this project **does not** adhere to [Semantic Versioning](http://semve

- We improved the "Find unlinked files" dialog to show import results for each file. [#7209](https://github.com/JabRef/jabref/pull/7209)
- The content of the field `timestamp` is migrated to `creationdate`. In case one configured "udpate timestampe", it is migrated to `modificationdate`. [koppor#130](https://github.com/koppor/jabref/issues/130)
- The JabRef specific meta-data content in the main field such as priorities (prio1, prio2, ...) are migrated to their respective fields. They are removed from the keywords. [#6840](https://github.com/jabref/jabref/issues/6840)
- We fixed an issue where groups generated from authors' last names did not include all entries of the authors' [#5833](https://github.com/JabRef/jabref/issues/5833)
- The export to MS Office XML now uses the month name for the field `MonthAcessed` instead of the two digit number [#7354](https://github.com/JabRef/jabref/issues/7354)

### Fixed

Expand All @@ -31,7 +34,10 @@ Note that this project **does not** adhere to [Semantic Versioning](http://semve
- We fixed an issue where the "Find unlinked files" dialog would freeze JabRef on importing. [#7205](https://github.com/JabRef/jabref/issues/7205)
- We fixed an issue where the "Find unlinked files" would stop importing when importing a single file failed. [#7206](https://github.com/JabRef/jabref/issues/7206)
- We fixed an issue where an exception would be displayed for previewing and preferences when a custom theme has been configured but is missing [#7177](https://github.com/JabRef/jabref/issues/7177)
- We fixed an issue where the Harvard RTF exporter used the wrong default file extension. [4508](https://github.com/JabRef/jabref/issues/4508)
- We fixed an issue where the Harvard RTF exporter did not use the new authors formatter and therefore did not export "organization" authors correctly. [4508](https://github.com/JabRef/jabref/issues/4508)
- We fixed an issue where the field `urldate` was not exported to the corresponding fields `YearAccessed`, `MonthAccessed`, `DayAccessed` in MS Office XML [#7354](https://github.com/JabRef/jabref/issues/7354)
- We fixed an issue where the password for a shared SQL database was only remembered if it was the same as the username [#6869](https://github.com/JabRef/jabref/issues/6869)

### Removed

Expand Down
69 changes: 31 additions & 38 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ plugins {
id 'com.github.ben-manes.versions' version '0.36.0'
id 'org.javamodularity.moduleplugin' version '1.7.0'
id 'org.openjfx.javafxplugin' version '0.0.9'
id 'org.beryx.jlink' version '2.23.1'
id 'org.beryx.jlink' version '2.23.2'
// nicer test outputs during running and completion
// Homepage: https://github.com/radarsh/gradle-test-logger-plugin
id 'com.adarshr.test-logger' version '2.1.1'
Expand Down Expand Up @@ -114,7 +114,7 @@ dependencies {

implementation 'commons-cli:commons-cli:1.4'

implementation 'org.libreoffice:libreoffice:7.0.3'
implementation 'org.libreoffice:libreoffice:7.0.4'
implementation 'org.libreoffice:unoloader:7.0.4'

implementation 'io.github.java-diff-utils:java-diff-utils:4.9'
Expand Down Expand Up @@ -171,7 +171,7 @@ dependencies {
implementation group: 'org.apache.logging.log4j', name: 'log4j-core', version: '3.0.0-SNAPSHOT'
annotationProcessor group: 'org.apache.logging.log4j', name: 'log4j-core', version: '3.0.0-SNAPSHOT'

implementation 'de.undercouch:citeproc-java:2.1.0-SNAPSHOT'
implementation 'de.undercouch:citeproc-java:3.0.0-SNAPSHOT'

implementation group: 'jakarta.activation', name: 'jakarta.activation-api', version: '1.2.1'
implementation group: 'jakarta.xml.bind', name: 'jakarta.xml.bind-api', version: '2.3.2'
Expand All @@ -198,7 +198,7 @@ dependencies {
testImplementation 'net.bytebuddy:byte-buddy-parent:1.10.19'
testRuntime group: 'org.apache.logging.log4j', name: 'log4j-core', version: '3.0.0-SNAPSHOT'
testRuntime group: 'org.apache.logging.log4j', name: 'log4j-jul', version: '3.0.0-SNAPSHOT'
testImplementation 'org.mockito:mockito-core:3.7.0'
testImplementation 'org.mockito:mockito-core:3.7.7'
testImplementation 'org.xmlunit:xmlunit-core:2.8.2'
testImplementation 'org.xmlunit:xmlunit-matchers:2.8.2'
testRuntime 'com.tngtech.archunit:archunit-junit5-engine:0.15.0'
Expand Down Expand Up @@ -390,7 +390,6 @@ run {
'org.controlsfx.controls/impl.org.controlsfx.skin' : 'org.jabref',

'javafx.controls/com.sun.javafx.scene.control.behavior' : 'com.jfoenix',
'com.oracle.truffle.regex/com.oracle.truffle.regex' : 'org.graalvm.truffle',

// Not sure why we need to restate the controlfx exports
// Taken from here: https://github.com/controlsfx/controlsfx/blob/9.0.0/build.gradle#L1
Expand Down Expand Up @@ -567,56 +566,51 @@ jlink {
// The module descriptor automatically generated by the plugin for the merged module contained some invalid entries.
// Execute ./gradlew suggestMergedModuleInfo and include the suggested directives here.
mergedModule {
requires 'java.xml'
requires 'com.sun.xml.txw2'
requires 'java.desktop'
requires 'org.objectweb.asm'
requires 'jdk.jfr'
requires 'jdk.unsupported'
requires 'com.google.gson'
requires 'java.management'
requires 'java.naming'
requires 'java.security.sasl'
requires 'jdk.security.jgss'
requires 'java.logging'
requires 'jdk.xml.dom'
requires 'java.sql'
requires 'java.rmi'
requires 'java.security.jgss'
requires 'com.oracle.truffle.regex'
requires 'jdk.jsobject'
requires 'jdk.management'
requires 'jdk.unsupported.desktop'
requires 'org.objectweb.asm.util'
requires 'java.scripting'
requires 'org.objectweb.asm.commons'
requires 'org.graalvm.truffle'
requires 'java.datatransfer'
requires 'java.compiler'
requires 'java.sql.rowset'
requires 'java.transaction.xa'
requires 'org.graalvm.sdk'
requires 'java.compiler';
requires 'java.datatransfer';
requires 'java.desktop';
requires 'java.logging';
requires 'java.management';
requires 'java.naming';
requires 'java.net.http';
requires 'java.scripting';
requires 'java.security.jgss';
requires 'java.security.sasl';
requires 'java.sql';
requires 'java.sql.rowset';
requires 'java.transaction.xa';
requires 'java.rmi';
requires 'java.xml';
requires 'jdk.jfr';
requires 'jdk.jsobject';
requires 'jdk.unsupported';
requires 'jdk.unsupported.desktop';
requires 'jdk.security.jgss';
requires 'jdk.xml.dom';
requires 'com.google.gson';
requires 'com.sun.xml.fastinfoset';
requires 'com.sun.xml.txw2';
requires 'org.slf4j'
uses 'org.apache.logging.log4j.util.PropertySource'
uses 'org.apache.logging.log4j.core.util.WatchEventService'
uses 'org.apache.logging.log4j.plugins.processor.PluginService'
uses 'org.controlsfx.glyphfont.GlyphFont'
uses 'com.airhacks.afterburner.views.ResourceLocator'
uses 'com.oracle.truffle.js.runtime.Evaluator'
uses 'org.apache.logging.log4j.message.ThreadDumpMessage.ThreadInfoFactory'
uses 'com.airhacks.afterburner.injection.PresenterFactory'
uses 'com.oracle.truffle.js.runtime.builtins.JSFunctionLookup'
uses 'org.apache.logging.log4j.spi.Provider'
uses 'org.mariadb.jdbc.credential.CredentialPlugin'
uses 'org.mariadb.jdbc.tls.TlsSocketPlugin'
uses 'org.mariadb.jdbc.LocalInfileInterceptor'
uses 'org.eclipse.jgit.transport.SshSessionFactory';
uses 'org.eclipse.jgit.lib.GpgSigner';
uses 'javax.xml.bind.JAXBContextFactory'
provides 'org.apache.lucene.codecs.DocValuesFormat' with 'org.apache.lucene.codecs.lucene80.Lucene80DocValuesFormat';
provides 'javax.annotation.processing.Processor' with 'org.apache.logging.log4j.plugins.processor.PluginProcessor'
provides 'org.controlsfx.glyphfont.GlyphFont' with 'org.controlsfx.glyphfont.FontAwesome'
provides 'org.apache.logging.log4j.message.ThreadDumpMessage.ThreadInfoFactory' with 'org.apache.logging.log4j.core.message.ExtendedThreadInfoFactory'
provides 'org.mariadb.jdbc.tls.TlsSocketPlugin' with 'org.mariadb.jdbc.internal.protocol.tls.DefaultTlsSocketPlugin'
provides 'com.microsoft.applicationinsights.core.dependencies.io.grpc.ServerProvider' with 'com.microsoft.applicationinsights.core.dependencies.io.grpc.netty.shaded.io.grpc.netty.NettyServerProvider'
provides 'com.oracle.truffle.js.runtime.Evaluator' with 'com.oracle.truffle.js.parser.GraalJSEvaluator'
provides 'com.microsoft.applicationinsights.core.dependencies.io.grpc.NameResolverProvider' with 'com.microsoft.applicationinsights.core.dependencies.io.grpc.internal.DnsNameResolverProvider'
provides 'org.apache.logging.log4j.util.PropertySource' with 'org.apache.logging.log4j.util.EnvironmentPropertySource',
'org.apache.logging.log4j.util.SystemPropertiesPropertySource'
Expand All @@ -639,7 +633,6 @@ jlink {
provides 'java.security.Provider' with 'org.bouncycastle.jce.provider.BouncyCastleProvider',
'org.bouncycastle.pqc.jcajce.provider.BouncyCastlePQCProvider'
provides 'com.microsoft.applicationinsights.core.dependencies.io.grpc.ManagedChannelProvider' with 'com.microsoft.applicationinsights.core.dependencies.io.grpc.netty.shaded.io.grpc.netty.NettyChannelProvider'
provides 'com.oracle.truffle.js.runtime.builtins.JSFunctionLookup' with 'com.oracle.truffle.js.builtins.JSDefaultBuiltinLookup'
}

jpackage {
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion docs/SUMMARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
* [Custom SVG icons](advanced-reading/custom-svg-icons.md)
* [Working on fetchers](advanced-reading/fetchers.md)
* [Creating a binary and debug it](advanced-reading/jpackage.md)
* [JabRef and Software Engineering](teaching.md)
* [JabRef and Software Engineering Training](teaching.md)
* [Readings on Coding](readings-on-coding/README.md)
* [Readings on JavaFX](readings-on-coding/javafx.md)
* [Useful development tooling](readings-on-coding/tools.md)
Expand Down
44 changes: 21 additions & 23 deletions docs/advanced-reading/fetchers.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Information about Fetchers
# Working on fetchers

Fetchers are the implementation of the [search using online services](https://docs.jabref.org/collect/import-using-online-bibliographic-database). Some fetchers require API keys to get them working. To get the fetchers running in a JabRef development setup, the keys need to be placed in the respective environment variable. The following table lists the respective fetchers, where to get the key from and the environment variable where the key has to be placed.

Expand All @@ -16,39 +16,37 @@ On Windows, you have to log-off and log-on to let IntelliJ know about the enviro

## Fulltext Fetchers

- all fulltext fetchers run in parallel
- the result with the highest priority wins
- `InterruptedException` | `ExecutionException` | `CancellationException` are ignored
* all fulltext fetchers run in parallel
* the result with the highest priority wins
* `InterruptedException` \| `ExecutionException` \| `CancellationException` are ignored

### Trust Levels

- SOURCE (highest): definitive URL for a particular paper
- PUBLISHER: any publisher library
- PREPRINT: any preprint library that might include non final publications of a paper
- META_SEARCH: meta search engines
- UNKNOWN (lowest): anything else not fitting the above categories
* SOURCE \(highest\): definitive URL for a particular paper
* PUBLISHER: any publisher library
* PREPRINT: any preprint library that might include non final publications of a paper
* META\_SEARCH: meta search engines
* UNKNOWN \(lowest\): anything else not fitting the above categories

### Current trust levels

All fetchers are contained in the package `org.jabref.logic.importer.fetcher`.
Here we list the trust levels of some of them:
All fetchers are contained in the package `org.jabref.logic.importer.fetcher`. Here we list the trust levels of some of them:

- DOI: SOURCE, as the DOI is always forwarded to the correct publisher page for the paper
- ScienceDirect: Publisher
- Springer: Publisher
- ACS: Publisher
- IEEE: Publisher
- Google Scholar: META_SEARCH, because it is a search engine
- Arxiv: PREPRINT, because preprints are published there
- OpenAccessDOI: META_SEARCH
* DOI: SOURCE, as the DOI is always forwarded to the correct publisher page for the paper
* ScienceDirect: Publisher
* Springer: Publisher
* ACS: Publisher
* IEEE: Publisher
* Google Scholar: META\_SEARCH, because it is a search engine
* Arxiv: PREPRINT, because preprints are published there
* OpenAccessDOI: META\_SEARCH

Reasoning:

- A DOI uniquely identifies a paper. Per definition, a DOI leads to the right paper. Everything else is good guessing.
- We assume the DOI resolution surely points to the correct paper and that publisher fetches may have errors: For instance, a title of a paper may lead to different publications of it. One the conference version, the other the journal version. --> the PDF could be chosen randomly
* A DOI uniquely identifies a paper. Per definition, a DOI leads to the right paper. Everything else is good guessing.
* We assume the DOI resolution surely points to the correct paper and that publisher fetches may have errors: For instance, a title of a paper may lead to different publications of it. One the conference version, the other the journal version. --> the PDF could be chosen randomly


Code was first introduced at [PR#3882](https://github.com/JabRef/jabref/pull/3882).
Code was first introduced at [PR\#3882](https://github.com/JabRef/jabref/pull/3882).

## Background on embedding the keys in JabRef

Expand Down
Loading

0 comments on commit 2fec815

Please sign in to comment.