Going to a codesprint as a non-coder
This week I’m in Bolsena at the 10th annual Geonetwork codesprint. Geonetwork is the metadata catalogue that we (being Astun Technology) use to deliver our metadata catalogues, for INSPIRE, and for Government customers. I recently asked if I could join the Project Steering Group for Geonetwork, and happily was accepted, and I was then asked if I would like to come along to this event. Coding in the sun, in Italy, in June, what a trial!
It’s my first time either in Bolsena, or at a codesprint, and it’s a great opportunity to find out how a non-coder like myself can contribute to such an event. “A non-coder”, you say, “surely you’re being overly modest”. Not in this case! Geonetwork is built on core technologies that I am only just beginning to scratch the surface of. I know enough to do my job, and the rest I am learning as I go along. For example, I know enough to debug problems, but generally not to fix them, and the inner workings are a black box to me still. Not only that but the process of building Geonetwork from scratch is still a bit like following a recipe without fully understanding the ingredients!
So why am I here, and what can I contribute? Well, for myself I hope to gain a better understanding of some of the inner workings and core technologies. I think I can contribute a user/power user perspective to discussions, to balance those of the developers. Hopefully I can also help with some testing and documentation too, which isn’t glamorous but it’s really useful, and it lets the developers get on with actual development work, which keeps them happy.
We’re staying in a beautiful old convent above the old town of Bolsena, and of course the weather is superb. It’s not all about the work- there are opportunities to relax and explore the local area, and the food is fabulous. There are also multiple cats and dogs to fuss, and even rumours of a goat and some chickens although I have yet to meet them yet.
Day one of the codesprint was mostly about orientation and deciding on the goals for the week, whereas on Day Two we’ve really got going with things. I am helping with some work to further integrate ElasticSearch as the search index, to replace lucene and hopefully improve performance with larger metadata catalogues. I started off knowing next to nothing about ElasticSearch but over the last two days I’ve put myself through an intensive tutorial and now feel much happier with it. I’ve written some documentation on “Getting Started with ElasticSearch and Kibana for Geonetwork Administrators” and have also been investigating a SQL front-end to ElasticSearch, which might make it easier for people new to the technology, vocabulary, and query syntax. It might also help with converting custom searches done in previous versions of Geonetwork to work in this version. I’m in two minds about how useful this will be as the front-end is quite limited, but we can at least document how people might use it if they like the idea.
Work later in the week is likely to involve testing a framework for making it much easier to build an external metadata profile, which I’m very excited about in a geeky sort of way, and I’m hoping to deal with some of the documentation areas that need completing. Otherwise, I’ll simply help people where I can!