Hello Mentors (@koppor, @InAnYan, ) and Community,
My name is Rishikesh Varma, and I am interested in the “PostgreSQL as Full GUI Data Backend” project. I have successfully built JabRef from source and have been exploring the codebase, specifically looking at the BibDatabaseContext and how entries are currently managed in memory.
I understand that the current architecture loads entire libraries into RAM, which causes scalability issues. My proposal focuses on implementing a DAO layer to offload this to PostgreSQL.
I have a few architectural questions to refine my proposal:
-
Schema Flexibility: BibTeX entries are dynamic (users can add custom fields). Do you envision a strict relational schema (tables with fixed columns) or a hybrid approach using PostgreSQL’s JSONB for custom fields?
-
Existing SQL Support: I noticed JabRef has some shared SQL database functionality. Should the new PostgreSQL backend integrate with this existing code, or is the goal to build a new, distinct persistence layer?
-
Pagination Strategy: For the GUI integration, should the
MainTablefetch pages based on fixed row counts, or dynamic cursors?
I am currently working on a “Good First Issue” to get familiar with the contribution workflow. I look forward to your feedback.
Best regards, Rishikesh Varma
