Martin Holmes and Joey Takeda have released the latest production version of their staticSearch tool, one of the key products from Project Endings. This version adds several new features and improvements. See the release notes and full documentation.
Category: "Activity log"
Project Endings, a joint collaboration between the UVic Libraries and HCMC, funded by a SSHRC grant, now has a permanent resting-place for its website, at https://endings.uvic.ca. The site has links to all the presentations and publications coming out of the project, our Endings Principles for Digital Longevity, and news and information on all the related Endings-compliant projects which have been published recently.
Over the weekend I knocked off a few issues, including the key requirement to allow versioning of filenames, so that we can take advantage of browser caching for the JavaScript without risking the use of stale index files. There are a couple more minor things that need to be fixed for the 0.7 release, but they shouldn't take more than another couple of weeks. Then we can pin our projects to a specific release, which is more robust.
Did a whole pile of work over the break, which is best viewed on the GitHub repo. Today I've been bugfixing and optimizing the JSON retrieval stuff, which is now working pretty well even on heavily-throttled connections. Raised issues for a couple of bugs, and started adding a search for our interviews site (but was stopped by a bug).
JT has rewritten the JSON and search page generation code so that filter fieldsets on the search page now have ids which match their JSON files; that means the JS can trickle-retrieve them after startup, allowing for the normal sequence to be superceded if a search is initiated during the process. I have the JS retrieving them successfully; now I just have to tweak the search-preparation code so it can get specific ones more quickly if required, and then tweak the search execution code to use the new split-out filters instead of the old docs.json. After that, we can dispense with docs.json. 120 minutes.
With JT, drafted and submitted proposal for DHQ paper. 120 minutes.
Met with JT and planned the next stages; I've now (today) implemented URL search string handling, except for one problem with window.onpopstate which needs to be handled; once that's working, we start some experimentation to see how portable active promise/fetch objects are (can we start a fetch in one process and add it to a promise.all in another process?), and if that works as we hope, we can rewrite the JavaScript to retrieve things with optimal efficiency.
<p>Over the weekend and the last couple of days, we've made a lot of progress getting date filters set up to handle documents with date ranges; adding boolean filters, and getting them tested in live projects; planning the upcoming fragmentation of the docs.json data; and adding support for custom titles for documents to be displayed in the search results. All going well, and most of the new features are already merged into the master branch, which is being tracked by DVPP. It's very convenient to be able to switch the branch tracking from dev to master in Keats and DVPP for local testing purposes, while leaving the Jenkins build comparatively stable. 1000 minutes at a guess.</p>
I've nearly finished the code which will get a single set of docIds that conform to the currently-selected filter set. Once that's done, I can integrate it with the text search code and have filters finally working properly.
Took a little while, but I have the range placeholders working on date filter text boxes, and in the process I've also ended up more severely constraining what can end up in a date filter metadata record. Just starting on the JavaScript to implement those filters. 120 minutes.