Add admin CSV export for citation data (per-journal and all-journals) - #3
Add admin CSV export for citation data (per-journal and all-journals)#3alexdryden with Copilot wants to merge 4 commits into
Conversation
Co-authored-by: alexdryden <47127862+alexdryden@users.noreply.github.com>
|
@copilot it looks like you pulled main immediately before the port to feature was implemented. Review all of the changes that went into #2 including reviewing any interface changes to 3.5. Make sure that you have implemented in a way that is compatible with 3.5 and fix the conflict with the new state of main. |
Co-authored-by: alexdryden <47127862+alexdryden@users.noreply.github.com>
Done. I merged
Merge commit: 81d66e2 |
|
@copilot Getting Directly calling iopn.library.illinois.edu/journals/jams/citations/export produces a csv, but iopn.library.illinois.edu/journals/jams/citations/export?scope=all produces a 500 error with : |
…or page URLs Co-authored-by: alexdryden <47127862+alexdryden@users.noreply.github.com>
Fixed in the latest commit. Two issues were addressed:
|
|
@copilot do a complete review to make sure all work here is compatible with 3.5 and make sure that any fix is likewise. Getting new error on the get all journals call: |
….5 compatibility Co-authored-by: alexdryden <47127862+alexdryden@users.noreply.github.com>
I also reviewed the rest of the handler: |
Admins have no way to extract citation data in bulk — citations are only surfaced per-article in the frontend widget. This adds a CSV export endpoint usable by journal managers and site admins.
Endpoint
GET /index.php/<journal>/citations/export?scope=allto export every enabled journal in one fileExport always fetches full citation lists (ignores the
showListdisplay setting) from all configured providers (Crossref, Scopus, EuropePMC).CSV columns
Journal·Article DOI·Article Title·Article Year·Citation Source·Citation DOI·Citation Title·Citation Authors·Citation Journal·Citation Year·Citation Volume·Citation Issue·Citation Pages·Citation TypeUTF-8 with BOM for Excel compatibility.
Plugin UI
Two new action buttons in the Plugin Management page:
Implementation notes
export()added directly toCitationsHandler(same page, new op — no routing changes needed)Content-Dispositionheader$settings['provider']guarded with?? ''to handle partially configured pluginsgetAllContextMap()call fetches all context names to avoid N+1 queries on the all-journals path