Skip to content

Add support for automatic ICORE conference ranking lookup #13476

@koppor

Description

@koppor

Motivation

The ICORE (International CORE Conference Rankings) is a ranking of computer science conferences (A*, A, B, C). In JabRef, we want to add a new field that stores the ICORE ranking of a given conference. Users often want to know how highly ranked a paper's venue is. You can search conferences manually via the ICORE website, but this should be automated.

Example search result

Image

📌 Goal

When a BibTeX entry includes a conference title like:

ACIS Conference on Software Engineering Research, Management and Applications (SERA)

The tool should:

  • Extract the acronym in parentheses — SERA.
  • Search the ICORE rankings for this acronym.
  • If a match is found (e.g. SERA has rank C), populate the new icoreranking field with that value.
  • If no exact match is found, fall back to fuzzy matching using similarity scoring (> 0.9).

🛠️ Tasks

  • Move DuplicateCheck#similarity from org.jabref.logic.database to a new utility class: org.jabref.logic.util.strings.StringSimilarity.
  • Add ICORE.csv to src/main/resources/
  • Create a class that loads and indexes the ICORE data at instantiation.
  • Implement the logic to detect and return the ranking from a full conference name.
  • Create a new field: ICORANKING ('icoranking') and add it to org.jabref.model.entry.field.StandardField at the // JabRef-specific fields section.
  • Create a new field editor ICoreRankingEditor (inspired by IdentifierEditor) and integrate it into the UI by modifying FieldEditors#getForField(...). - Tghe lookup button (like DOI lookup) to lookup the ranking in the CSV file
  • Write unit tests for acronym matching and similarity fallback.

Test end-to-end behavior via TDD.

📚 Helpful resources

How to contribute to JabRef

JabRef Developer Documentation

ICORE Rankings CSV: https://portal.core.edu.au/conf-ranks/ → Export CSV

Metadata

Metadata

Assignees

Labels

good first issueAn issue intended for project-newcomers. Varies in difficulty.📌 Pinned📍 AssignedAssigned by assign-issue-action (or manually assigned)

Projects

Status

In Progress

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions