projectEndings / staticSearch

A codebase to support a pure JSON search engine requiring no backend for any XHTML5 document collection
https://endings.uvic.ca/staticSearch/docs/index.html
Mozilla Public License 2.0
50 stars 22 forks source link

Should we integrate Zenodo? #233

Closed joeytakeda closed 2 years ago

joeytakeda commented 2 years ago

I think we should integrate Zenodo into the repository--it would automatically archive all of the releases (which is a good thing) and provide a simple citation for the repository (an even better thing). It would also be nice for us to be able to put any papers or presentations we've given about staticSearch in Zenodo so interested parties could read about it.

martindholmes commented 2 years ago

That works for me. Is there a conventional approach to this with existing tools or hooks, or are we talking about a manual process that archives each release as part of the release protocol?

joeytakeda commented 2 years ago

Zenodo links to your GitHub repository, so it automatically archives any new release. I don't know how smart it is about archiving past releases, however, so we may need to manually push those over.

joeytakeda commented 2 years ago

I've now linked it to the GitHub repo and it does not import past releases--I'm going to test importing the first release to see how simple it is to do.

joeytakeda commented 2 years ago

Well, that was fairly simple, actually. You can import releases via the GitHub API, so I just POSTed the first release and it yielded: https://zenodo.org/record/6329800

One thing that's odd is that, for whatever reason, I have two associated GitHub accounts so that I get two credits (my name and then joeytakeda-sfu, which I must have made at some point to test something and ended up polluting the contribution history). From the Zenodo docs, we can put add a hidden json file to the root that configures the metadata: https://developers.zenodo.org/#add-metadata-to-your-github-repository-release, but I'm not sure if that would affect older releases or not (I'm not sure if Zenodo reads the repository metadata as it is currently or as it was when the release was created?)

I'm going to make this metadata file and put it in dev and see what happens with the second release.

joeytakeda commented 2 years ago

Added the .zenodo.json file to dev, but that didn't seem to do anything for old releases, so I just went ahead, added all of them, and then manually fixed them up (we'll see if the same happens in the next release).

In any case, all of the past releases are now on Zenodo and you can see them all either represented under our DOI (10.5281/zenodo.6329799) or through their search: https://zenodo.org/search?page=1&size=20&q=conceptrecid:%226329799%22&sort=-version&all_versions=True

We could add a little DOI badge to the README, if we'd like

DOI

martindholmes commented 2 years ago

I've added the badge. Thanks for all this work!