ontologies

2024 - Week 36

Once more we kick off proceedings with an apology for the break in transmission. Three weeks with no notes is two weeks too many. As ever, we have our excuses. Our last outing spent so long in Librarian Anya’s post-production suite that resharpening the weeknotes pencil felt a little premature. Delays were compounded when week 34 saw your regular correspondents take a well-deserved vacation before heading up to the White Rose county for a spot of Wuthering Bytes. More of which later.

That said, gazing around Trello, we don’t appear to have all that many updates to report. But we always think that before we start typing. And we all know where that usually ends up. Back to media res.

General purpose work planning

As we entered the season of mists and mellow fruitfulness, librarians packed their pencil cases and sewed in name tags for the return to school. In some attempt to get ahead of lesson planning by elders and betters, we got together for an impromptu chat about what we’re expected to work on, what we want to work on, what the overlaps might be and whether we have enough time to do any of it.

There are the things scrawled in indelible ink on our dance cards - the quickstep and foxtrot slots are quite taken up with search, the subject specialist finder, election website tidies and the replacement of OASiS.

Then there are other things we really rather like the look of. Besides, a half-filled dance card does little for one’s reputation. The season ahead will see us waltzing our way through finally finishing the standing orders application, looking into replacing procedure editor with Data Graphs, taking the results of that and creating a ‘browsable procedure space’, continuing with the legislative consent motion work, and properly documenting our election related models. A handsome assortment, I’m sure you agree.

If you’re one of those strange people with no interest in searching for parliamentary material, elections to Parliament, graph-based data models, standing orders, procedure mapping, LCMs and ontologies, you may want to click the unsubscribe button and get back to us in March. Though if you’re reading this and have no interest in such matters, it’s more than possible you’ve taken a turn down the wrong off-ramp on the hypertext highway. You’ll find the back button top left.

The problem with writing weeknotes for new, old search is Developer Jon and our crack team of librarians churn through so much work it’s difficult to impose any kind of coherent narrative structure. Still, we cannot kid ourselves that anyone comes here for the writing. If you want decent writing, we can only suggest you get yourself a library card. Consider this a RAG report but with far fewer colours.

Because we are consumate professionals and like to use all the big business words, we don’t just write code and test it. No siree. In these parts, we do ‘quality assurance’. Like grown ups. Well, our first pass ‘quality assurance’ is now considered complete, Librarian Jayne and Developer Jon’s game of Trello ping-pong concluding in a 137 - 137 score draw. This week saw another 25 cards find their way to the happy pile, Librarian Jayne breathing deeply and declaring job done.

We now find ourselves happy to announce that dear Jon has built all our result items as specified. Or ‘to spec’ as Young Robert would no doubt say. The next job then is ‘quality assurance’ pass two. Now we can can see the actual ‘specs’ implemented in actual pixels, we need to double check our ‘specs’ were in fact correct. Librarian Jayne once more taking up the point and click baton to double double check that what we asked Jon to do was not in fact mad. Jon having been kind enough to indicate he has a couple of doubts on this matter.

Not only has Jon now built and finessed all the templates for result items we want to show, he’s also built one we hopefully never will. The long term plan is to remove any and all mentions of research material from both triplestore and Solr. But work needs to happen before that can happen. Work, in this case, being mainly communications. Or ‘comms’ as Young Robert might say. In the meantime, we had searchable things in Solr with no corresponding result item template. Which led to occasions when our result page claimed it was displaying ‘0 - 20 of 38546’ results, no actual results being visible. The addition of a temporary template has now plugged this gap.

Back when we were ‘speccing out’ item pages, Librarians Anya, Jayne and Ned came up with a set of rules describing when and how to display document types and sub-types. All of which worked well. In context. Unfortunately, our ‘specs’ for result items lacked a ‘forget all previous instructions’ prompt, so Jon deployed the same logic across result pages. Quite understandably. This has also been fixed, all types and indeed sub-types now finding their way to result item templates. Quality once more assured.

In other news, Jon has also busied himself ensuring our search result widgets - sort order, results per page and the simple versus detailed flipper - work whether or not JavaScript is present or loaded. Splendid. Not being one to leave a job half done, Jon put an offer of progressive enhancement on the table. An offer we politely declined, Librarian Anya never being a fan of the massive detailed view flipping button that had been there.

We should confess at this point that, despite rumours to the contrary, we are not in fact JavaScript haters. Computational cabin boy Michael recusing himself from any further debate on this matter. So long as the web works without it we have no problems at all with a dash of progressive enhancement over the top. There is however, one exception to this, in the shape of ‘the claw’. ‘The claw’ is a half secret feature named after the shape your hand is forced to make to trigger a bit of JavaScript that overlays Librarian-focussed information atop of searcher-focussed pages. Which Jon has now implemented on item pages. Lovely it looks too. A result list implementation being due to follow in the not too distant. We’re not about to tell you the exact keys one needs to press to trigger this function. Let’s consider it a guessing game. Or you could just read the JavaScript.

Once more screwing up her thinking face and donning her decision making cap, Anya also decided that pressing the search button from a search results page should obviously trigger a whole new search. And should not preserve the state of any selected facets. Or indeed display widgets. Though she did add that, in the context of a search result page, perhaps the search button should be quite clear and say ‘New search’. At the slight risk of patronising our user, Developer Jon has now made this so.

Not done with decision making, Anya also decided that yes, actually, we are quite quite happy showing empty facet boxes where no filters pertinent to the result set are available. At least so long as the label for any empty facet is greyed out. Or ‘visually knocked back’ as Young Robert might say. That also is now done.

Still with facets, we’re currently kicking around the idea of reducing the five potential separate Member facets into a much more manageable three. Which would involve squashing down tabling Members, asking Members and lead Members into one big bucket whilst being careful not to overcount their contributions. This new bucket has been going by the nickname of ‘Principal Members’. The changes have been technically sensed-checked by Jon who didn’t appear to pull too puzzled a face. We now need to run both the theory and the nomenclature past clerkly colleagues to check if our ponderings spark joy or the more usual groans of exasperation. Michael also needing to step outside the room and do some work on the principle of spelling principal.

In our final bit of facet news - yes, we’re getting there - we’d hit a puzzling problem whereby some filters in some facets had a zero content count despite definitely having content. Your regular correspondents have perused the card at some length and are, quite frankly, none the wiser. For once, we hand over directly to Developer Jon, who reports that “he had been constraining facets for type, when we need the full list to match what we’re constructing from SES and populate all the counts”. We hope that makes that clear. The better news is, it’s fixed. Of course it is.

That then is all the HTML news dealt with, HTTP being still a thing. Librarian Jayne clocked a small problem whereby links from item pages back to search pages for certain attributes failed to apply the correct content filter and instead listed everything. It turned out that not all Solr fields were enabled for filtering and that non-SES filters required adding as a lookup list. For now, this lookup is hardcoded. In the future, we feel sure we can do a better job.

Electioneering

Librarians Anna, Emily and Phil continue to smooth the ripples in MNIS introduced following the unexpectedly early general election. Anna has now added Dods identifiers to all new Members, which should make it easier for team:MNIS to answer anticipated enquiries to the House of Commons Library.

There is an ongoing dilemma about how to respond to requests for new address types to appear on the Members website from a handful of particularly important people. At least part of problem being, whilst the underlying MNIS data model supports an address being both physical (street address) and virtual (HTTP and whatnot) - the administration application insists on a split between the two. Conversations remain ongoing.

Psephologising profusely

If you’ve been sat twiddling thumbs waiting for more psephological news, this is that news. Twiddle no more, dear reader.

First up, an additional correction has now been issued, this one concerning Richmond Park and the miscount of votes attributed to the Green Party candidate. Corrections are now in place across both our lovely little website and our even lovelier Datasette offering.

Not content with merely updating the data, we’ve also made a code push or two. Our CSV downloads remain UTF-8 but now come complete with BOMs, which should mean Excel no longer chokes when parsing them. Combining UTF-8 with BOMs would not appear to conform to best practice. But then neither does Excel and that hasn’t appeared to do Microsoft any harm. Still with CSVs, we’ve now added them across all views under a general election at English region level, lending a pleasing sense of symmetry to at least that part of the website. More CSVs for other bits soon, we hope.

Other small code changes covered the tweaking of the notional results messaging template, so we’re fully prepared for the next boundary change - at least in theory - and updating election lists under Members to match our more usual tabular style.

Outreach / engagement

Outreach and engagement efforts for Anya, Robert and Michael moved up a notch, week 34 seeing a trip to Hebden Bridge for another installment of Wuthering Bytes, featuring a myriad of talks and a barely controlled robot. It was, as ever, lovely to bump into Young Thomas - however briefly - and equally delightful to take a drink with Paul and a cheese and onion pie with Libby and James.

Thursday of week 36 saw librarians Anna, Anya and Phil joined by complexity expert Rachel and chaos expert Michael for a digital telephone call wherein the Institute for Government introduced their new ministerial database. All built in collaboration with our aforementioned friends in the north. Now if you’ve been following these notes, you’ll know that ministerial positions and their incumbencies are something we’ve long struggled with, ministers frequently occupying multiple positions in multiple departments, job titles being munged together in a seemingly ad hoc fashion. So any source of data is a good source of data. We look forward to investigating further.

Outreach and engagement is not all gallivanting and phone calls. Librarian Jayne’s keen eyes spotted a request for RSS feeds from our statutory instrument website lurking over in You Track. Now, whilst our crack team of librarians manage models, maps and data for that service, they do not actually have any control over the website code. All of that being handled by colleagues in the Parliamentary Computational Section. The enquirer is trying to build some software to track energy-related consultations and legislation. Never one to resist an opportunity for user engagement, Jayne got in touch with them and explained that, whilst we’re not in a position to provide the RSS he craves, we could knock up another SPARQL query that might be of assistance. Jayne set about her task, but SPARQL and time don’t mix well. A quick call to our Jianhan fixed that, and our SPARQL library now boasts a new query listing all SIs laid under a given Act in the last month. Not being one to leave a job half done, Jayne also added a new query listing all SIs laid by a given body under a given Act in the last month. Helpful to the last.

Farewell then, JO Jane

It was late 2017 when your regular correspondents first crossed paths with JO Jane. We’d just kicked off work on our third attempt at a data integration platform and Parliament’s shiny new beta website. Around that time, someone - we suspect Mr Evans, though recollections may vary - suggested that Parliament should probably have a website for the progress of statutory instruments in Parliament. Brexit being just around the corner and a deluge of SIs expected only strengthened Paul’s sage advice.

Back then, at least one of your correspondents knew little about SIs and still less about parliamentary procedure. Who better to turn to than the veritable oracle of all things SI and Parliament: JO Jane. So turn to her we did. Our first encounter was in a side room in Tothill Street, to which Jane arrived with a binder full of flowcharts and a head full of everything. Not being as bright as we once were, we politely suggested slowing down a little and making some attempt to draw the thing. Several whiteboards later, we’d managed to decant about a quarter of Jane’s brains, which proved just about enough to make a start on our procedure model, maps and the SI service.

Our regular reader will be well aware of our fondness for Domain Driven Design and the necessity of holding hands with domain experts on every step of the journey. But even we were overwhelmed by Jane’s deep, deep experience and - perhaps more importantly - the generosity with which she shared it. Generosity that became still more important when Covid hit and the volume of SIs and accompanying procedural snags increased exponentially. And generosity that continued as we managed to decant yet more of her brains for our first, stumbling attempts at building our beloved egg timer.

Which makes it all the sadder - for us, if not Jane - to announce that week 36 saw Jane’s retirement from the parliamentary field of play. Now normally, when people leave, gifts flow in the general direction of the leaver. This departure differed slightly when JO Jane - as generous in her departure as she was with her expertise - sent us a lovely letter and cash money in an envelope, with strict instructions to exchange it for alcohol in a public house of our choosing. This Thursday, Librarians Anya and Jayne, Delivery Manager Lydia, computational expert Rachel and coat holder Michael made it as far as the Two Chairmen to drink to Jane’s health and happiness.

Farewell then, JO Jane. It has been an absolute pleasure working with someone who knows so much and is so willing to share it. You will be much missed.