Skip to content

GSoC 2022 — Implement a Three Way Merge UI for merging BibTeX entries

Houssem Nasri edited this page Aug 26, 2022 · 19 revisions
Student Houssem Nasri
Organization [JabRef]
Primary repository [JabRef/jabref]
Project name 3-Way-Merge dialog for bibentries
Project mentors @Siedlerchr, @calixtus, @koppor et al.
Project page Google Summer of Code 2022 Project Page
Status Work in progress

Project plan

May 20 - Jun. 12 (2 weeks / Community Bonding)

  • Remain in touch with my mentor and ask as many questions as possible.
  • Check what is reuseable from import merger dialog of last years GSoC project of btut.
  • Work on smaller features and issues to gain a better understanding of the codebase.

Jun. 13 - Jul. 3 (3 weeks / Coding officially begins!)

  • Milestone 1: Deliver a new UI concept for merging entries (required)
  • Create mockups and diagrams e.g. user flow diagram.
  • Deliver a design prototype using Figma or another program.
  • Discuss UI/UX decisions with the other devs and community members.
  • Start implementing the new design in code.

Jul. 4 - Jul. 24 (3 weeks)

  • Milestone 2: Deliver a fully functional 3-way merge (required)
  • Finish implementing the new design in code.
  • Implement the three-way merge.
  • Improve diff highlighting.

Jul. 25 - Aug. 14 (3 weeks)

  • Milestone 3: Fix issues related to merging entries (required)
  • Merge keywords koppor#12.
  • Assign merged entry to all groups of input entries #8024.
  • Fix trimmed spaces in merge dialog koppor#371.
  • And others. -- ?

Aug. 15 - Aug. 28 (2 weeks)

  • Milestone 4: Update user documentation and write tests (required)
  • Update Find duplicates documentation.
  • Update Merge entries documentation.
  • Write tests.

Aug. 29 - Sep. 12 (2 weeks)

  • A Buffer of two weeks is kept for any unpredictable delay

Project goals

  • Deliver a fully functional 3-way merge #6190.
  • Deliver a new UI concept for merging entries.
  • Implement Previous Difference/Next Difference.
  • Implement synchronized scrolling and make soft-wrap optional.
  • Improve diff highlighting.
  • Implement keyword merging as described in koppor#12.
Clone this wiki locally