DOI Enabling Joi Ito’s weblog, Phase II

After figuring out our blog post DOI identifier pattern, deploying it on Joi’s site and generating the registration XML in Phase I, I needed some time to get familiar with CrossRef’s DOI metadata submission process and mechanisms (Step 3 in CrossRef’s “Content Registration Guide”).

The academic publishing space does software development, UX and DX in a very no-frills way. No API, just a Web UI and an HTTP POST end-point with some basic documentation. Trial and error with real live data, bare-knuckle debugging, UI label tea-leaf reading… it was loads of fun, but also took a lot of time. As someone who’s been hacking stuff together with web APIs for years, it was fun to engage with something so raw. 🍖🤠 

As mentioned in the Phase I writeup, over the years I’ve built up a whole infrastructure for Joi’s site to do aggregation and caching and republishing and such. But the needs—both code and UI—for submitting an XML file via HTTP POST were not something we had yet, so I needed to build that up. We didn’t go the “automatic submission on publication” route for now as it represented a deeper technical footprint.

So, I made a Big Red Button for Joi to press anytime he wanted to update his weblog DOI registrations.

When pressed, the DOI submission XML—which is created by MT on publication—is POSTed to the CrossRef endpoint, and any Error or Success response is displayed.

Possible future directions

  • Separate utility to submit only new posts
  • Maintain local database of metadata and registrations status
  • Capture Crossref API response email and work into this process