Posts tagged Nucleus

I’ve not done a theoretical, academic(ish) blog post for a while, choosing instead to focus on the more technical sides of what I’m doing. However, that doesn’t mean that what we’ve been doing is driven purely by the technology.

What I’m talking about in this blog post is our Nucleus platform – a collection of data stores, APIs and authentication mechanisms which, when put together, allows anybody within the University to interact with data in exciting new ways. Of particular interest is how Nucleus meshes with Student as Producer, our new institution-wide pedagogy. Put simply, Student as Producer is all about empowering students to become part of the production and provision of teaching and learning, rather than just consumers. Students are involved in research, course creation and much more on the academic side. It’s already seen some awesome results, and it’s becoming a massive part of how Lincoln does business.

So, how does Nucleus fit in? The answer lies in the potential to unlock the University’s inner workings for Students to mash up as they like. At the moment if the University doesn’t offer a service, students can’t do anything about it. Want a way to automatically renew books if nobody else has requested them? Nah, can’t do that. Want to mash up room availability with your classmates timetables to find a perfect study session and a room to put it in? Tough.

Understandably, as a former student, this isn’t good enough. So part of our Nucleus platform is trying to open as much of this data and functionality as we can up to anybody who wants to have a go. Obviously it’s still held within an appropriate security framework, but we believe that if a student can come up with a better (or different) way of doing something, they should be encouraged every step of the way.

We’ve got some really exciting stuff coming down the pipeline to help us offer support and resources to students (and staff) who want to explore the possibilities. Stay tuned!

I’ve had a couple of people ask how my lunchtime project today actually works behind the scenes, so here’s the lowdown in easily-digestible speak. I should point out that I am relying heavily on two frameworks which we’ve already built at Lincoln. These are Nucleus – our heavy-lifting data platform – and the Common Web Design – our web design and application framework. These two gave me a massive head-start by already doing all of the hard work such as extracting data from our directory and making the whole thing look great. Now, on with technology.


Today I’ve mostly been working on the magic of our user data collector for Nucleus, an awesome bit of technology which takes our slightly slow existing method of finding user information and replacing it with one blisteringly fast one based on our ever-favourite database Mongo.

What it does is – on a regular schedule – go through the entire directory letter by letter, collect all the users, and write their details to the database. How it does this, however, is a bit smarter than a bulk import in that it actually looks to see if the user has been updated or not, and records the changes. We can then use this data to do ‘push’ updates of user information – telling services which rely on user data that something has changed as soon as we can, rather than waiting for those services to have to look for changes themselves. We can also let those services do a ‘changes pull’, asking only for those records which have changed since a particular time. All of this combines to reduce network overhead and speed up processing by only sending changed details around, rather than a massive dump of all our data.

Coming soon to Nucleus will also be the first bit of cross-service collation as we begin to include data from students such as addresses and home email addresses. Where in the past this would require querying four different services, receiving a mix of data types and needing a lot of massaging to do anything useful we’ve done the hard bit for you. Even better, instead of giving insecure access to the data by providing direct database access, or blindly dumping the information, access will be controlled using the power of OAuth, giving us fine-grained control over exactly who can see what.

Today we’ve just finished setting up and testing our brand-new, very shiny SSL certificate for our primary Online Services support server. This means that the CWD is now ready to be used on all of the University’s secure systems, starting (hopefully later today) with a roll-out of the new wireless sign in page.

What this also means is that we’ve been able to tighten the security on Nucleus so that in future all requests must be over SSL. For those using Nucleus for things please take this as a warning – as of the end of the week all Nucleus requests over HTTP will fail.

Finally, we’re a step closer to our complete OAuth implementation! We’re still ironing out a few bugs and awaiting our security audit, but it’s getting there.