X
Phone and laptop in modern office
Case Study

Get a free consulation

I

Expanding Sharepoint for Timetabling

26 February 2022 | Location: South West | Project Value: Under £5k

 

Okay, let’s set the stage! We were approached by a secondary school that had migrated their operations to SharePoint, but it turns out they weren’t exactly “living their best SharePoint life” yet. They needed a little more sparkle—some extra functionality that would turn their SharePoint system from “meh” to “wow!”

The school had big plans: they wanted to make it easier for staff to view their timetables and book rooms. And for students? They wanted to give them access to their timetables both onsite and remotely (no more excuses for showing up late to class—looking at you, procrastinators!). Plus, there was the goal to save paper. And no, not the whole “saving trees for the environment” thing (though that’s a win too), but they didn’t want to print every student’s timetable when it could be on their SharePoint dashboard.

In short: they wanted a “single point hub” where everything they needed could be accessed in one place. Sounds like a dream, right? But we had a few technical hurdles to jump before we could get to the happily-ever-after.

The Data Adventure: Where’s the Real Source?

Alright, let’s talk about the data. You know, the backbone of every successful school system (other than maybe caffeine). The school’s timetable data was spread across a few systems, which was about as efficient as trying to herd cats. Our philosophy? If we’re going to put something in SharePoint, let’s grab the data from the closest source possible to where it’s being entered. Basically, let’s get the freshest, most up-to-date data without any middlemen.

So, we dug deep and discovered that the holy grail of timetable data was hiding in the school’s School Information Management System (SIMS.NET). This beast of an app had been around forever, and guess what? It was still using that ancient client-server desktop model. We’re talking “vintage” tech here—like that old-school desktop computer your grandma keeps in the garage.

But hey, we were up for the challenge! SIMS didn’t have APIs (because why would it?), so we had to get creative. Fortunately, we were able to access the SQL Server that powered the app, but that didn’t mean we could just sit back and relax. The structure of the data might change at any time, so we had to ensure we built something flexible enough to handle potential changes.

Children in School Uniform

A CSV, a Command Line, and Some Serious Problem-Solving

We weren’t just going to stare at the SIMS database and wish it would magically work. Nope, we decided to get some data export magic going. SIMS had reporting functions, so we wrote custom reports to pull the timetable data we needed and export it into a handy CSV file. If you’re thinking, “Wait, what’s a CSV?”—well, it’s basically a glorified Excel spreadsheet that’s used to store data. The classic, “let’s keep things simple” approach.

Now came the fun part: automating this process. We designed a system that would automatically run this data export every 24 hours using good old command-line scripts. Why 24 hours, you ask? Simple. Timetable changes don’t happen every 5 minutes (unless you’re in a sci-fi movie), so daily updates worked just fine.

And, because we’re all about efficiency (and not letting our brains melt in an endless sea of CSVs), we created our own web API that would accept the CSV data and send it across to our systems for display on SharePoint. Talk about a seamless operation, right?

The Real Magic: Timetables, Room Booking, and Priorities

Now that we had our data flowing like a well-oiled machine, it was time to do something useful with it. We took the data and designed a front-end interface that could be embedded directly into SharePoint. Staff could see their timetables and even book rooms based on availability. It was all part of the school’s grand vision of creating a one-stop-shop for everything.

But wait, there’s a catch! What if a staff member booked a room, but then a class was scheduled in that same room later? Awkward, right? This needed a solution, STAT!

After a round of consultation with the school, we came up with the perfect plan: The timetable gets priority! If a class is scheduled in a room, it’s game over for anyone who booked the room after that. We also threw in an email notification feature, so if a room booking got cancelled because of a class being placed in it, the person who made the booking would get a heads-up. No more “I didn’t know the room was taken” excuses!

Children in School Uniform

Adding More Tools to the SharePoint Toolbox

As we were in the middle of merging data from SharePoint and SIMS, the school threw a few more requests our way. You know, just to keep us on our toes.

One of the requests? Automatically creating and updating class groups as Office 365 Groups. Why? So, teachers could email entire class groups at once and set permissions in SharePoint based on class memberships.

Next up was a very specific issue: Self-Service Password Reset. We all know how frustrating it is when you forget your password (and how annoying it is to have to ask someone for help). The school was on board with the idea of allowing students to reset their passwords, but there was a catch. You need a third-party device (like a phone) for that feature, and phones aren’t allowed in class (source). No phone = no password reset.

So, we got creative once again. We built a mini application inside the SharePoint Hub that allowed staff to reset student passwords without the need for any fancy gadgets. It was easy, convenient, and, best of all, didn’t require students to spend an entire lesson looking for the technician to reset their password.

The Happy Ending: A One-Stop Solution

After months of tweaking, testing, and the occasional hair-pulling moment, we were able to deliver the school a robust, streamlined, and paper-free system. Staff could access timetables, book rooms, and even reset student passwords—all in one place, all through SharePoint. Students could check their timetables on their devices, whether they were at school or lounging in their pyjamas at home.

And while we can’t take credit for saving all the trees in the world, we did make the school’s operations a lot smoother, less paper-heavy, and infinitely more efficient. Plus, we helped them build a SharePoint experience that met their needs.

In the end, we gave the school their own dynamic “one-stop” hub—timely timetables, room booking made easy, password management without the headache, and even a few surprises they didn’t expect. Who knew SharePoint could be this fun?

So, to all the schools out there trying to make SharePoint work for them: it’s possible. With a little creativity and a lot of tech wizardry, you too can turn your SharePoint setup into something that makes life easier for everyone! (Just don’t forget to book those rooms first—before someone else does!).