All tags

TAG

#pythonanywhere

2articles

🔑Retrofitting Firebase auth and a JSONkeeper-compatible API onto codh-mirror so IIIF Curation editing actually works — walking back the earlier `won't work` claim

A follow-up to the earlier codh-mirror post, which explicitly called Firebase auth and the curation save backend out of scope. This time I went back and wired them up: reusing a Firebase project (Authorized domains and sign-in providers), discovering that FirebaseUI 3.x's default redirect signInFlow silently fails on GitHub Pages subpaths, swapping the curationJsonExportUrl in 9 places across five tools, and pointing the iiif-curation-manager submenu links at the sibling tools via relative URLs. Server-side details (Cloudflare Workers + D1 as mainline and PythonAnywhere Flask as upstream-faithful fallback) live in two separate posts; this one covers only the codh-mirror client side.

codhiiiffirebasefirebaseui

🪣Deploying JSONkeeper on PythonAnywhere with HTTP API Only — A Self-Hosted Save Backend for the IIIF Curation Viewer

A reproducible runbook for self-hosting JSONkeeper — the save backend for the IIIF Curation Viewer / Editor / Manager / Board — on PythonAnywhere's free Beginner plan, using only HTTP API calls except for two one-time browser actions (API token issuance and first-time Bash console attach). Covers Flask 1.0 / apscheduler 3.5 incompatibility with modern Python, Firebase Admin SDK service-account key handling, the 100 CPU-second/day cap, CORS, and patching the Viewer-side codh-mirror repository.

pythonanywherejsonkeeperflaskfirebase