Currently fetch a lot of "metadata" off PDFs (word indexes for searching, boxes for text select, bookmarks, links, attached docs, etc.). This long list of requests can put a strain on both the frontend and the server.
Since depending on circumstances, either Latency (caused by a few monolith web request/response pairs), or Server memory consumption hikes (caused by several requests, which each require the loading of the entire PDF, hitting the server simultaneously), our best option, short of writing OpenAnnotate 3.0, is to add a lot of ways to tune these metadata fetching requests. Configurable Enhancements include:
[x] - Fix the loading of Internal Links / Bookmarks to load only once.
[x] - Fix the loading of Text Location Data to load only once.
[ ] - Add a configuration to lazy Load Internal Links / Bookmarks (and not try and re-load them).
[x] - Add a configuration for the number of pages of Search Indexes for in single request.
[x] - Add a configuration that allows Text Select data to be bulk fetched rather lazy page loaded.
[ ] - Move Text Select data fetching to PDFBox rather iText.
[ ] - Add a 'mega' metadata endpoint that returns some or all of the different 'PDF Metadata' that parse back (word indexes for searching, boxes for text select, bookmarks, links, attached docs, etc.) in one request, meaning 1 PDF in memory for the server.
[ ] - Allow Page Lazy Loaded data to load nearby page / be limited by the same 'nearby pages' threshold we set on page transformations.
[x] - WordMapModule should not be started if we're not viewing a PDF.
Fix the loading of Internal Links / Bookmarks to load only once.
Fix the loading of Text Location Data to load only once.
Add a configuration for the number of pages of Search Indexes for in single request.
Add a configuration that allows Text Select data to be bulk fetched rather lazy page loaded.
Add a configuration that allows Internal Link data to be bulk fetched rather lazy page loaded.
WordMapModule should not be started if we're not viewing a PDF.
Allow the user to navigate the document before the initial annotation fetch load is complete. Save is still disabled until the initial annotation fetch is completed, to avoid errors.
Currently fetch a lot of "metadata" off PDFs (word indexes for searching, boxes for text select, bookmarks, links, attached docs, etc.). This long list of requests can put a strain on both the frontend and the server.
Since depending on circumstances, either Latency (caused by a few monolith web request/response pairs), or Server memory consumption hikes (caused by several requests, which each require the loading of the entire PDF, hitting the server simultaneously), our best option, short of writing OpenAnnotate 3.0, is to add a lot of ways to tune these metadata fetching requests. Configurable Enhancements include: