Skip to main content


Importing Data from Bromcom directly into a Google Sheet and updating it automatically

I support one school in the Trust that used Bromcom and was finding it a bit tricky to get the data directly into Sheets. However, I've sorted this now and thought this might prove useful to someone.

Step 1 - The Bromcom Report
Write your report (or pick an existing one). Click Run Report and then select “Live Data Feed”.
Copy the URL it gives you.
Step 2 - Your user name and password to access the report You need the site ID which is the username. You also need your “User Access Key”. To get this click top right and “My account” and you will see a box with this in. Make a note of these.
Step 3 - Setup the Google Sheet Make a Google Sheet that is going to receive the data. Click on “Tools” then Script and paste in this code:
function populateSheetWithCSV(sheet, csvUrl, user, pw) {   var resp = UrlFetchApp.fetch(csvUrl, {     headers: {       // use basic auth       'Authorization': 'Basic ' + Utilities.base64Encode(       user + ':' + pw, Utilities.Charset.UTF_8)    …
Recent posts

Google MDM for Windows 10 Devices - a more in depth look.

In my previous blog post, I gave an overview of Google's new mobile device management for Windows 10 devices. A few weeks in now, we have a number of users using Windows computers managed this way. So below is a more detailed video look at deploying policies followed by some of the policies and how to configure them that we have used to date.

Policy Settings It's important to note that unlike ChromeOS devices, you don't put machines into OUs, but the machines pick up policy based on the OU of the user used to enrol the device.

OMA-URI policies we use:
This prevents users from unenrolling a device.

Prevents editing the VPN settings

Can be used to hide bits of the settings page.


Logging into a Windows Device with a Google Account

Been here before - but this is the latest from the Google beta....

Papercut Print Deploy

This is a relatively new Papercut feature that allows you to push print queues to none AD joined PCs and Macs. I've made a short video that goes over the main points below and some notes follow that.

Before you begin you need to fully configure Papercut and have a test VM that you can use (not intuned and with no printers on it at all - remove all the defaults). Make sure Mobility Print is deployed and the print queues you want to deploy are published. On the Test VM follow this procedure: Once the print queues are installed - make sure you change the Drives to the Kyocera ones and set the defaults. On the Print Server edit the config file: Change useridentitymethod to “prompt” IntervalSecs = 300 MinRandomOffsetSecs = -60 MaxRandomOffsetSe…

How to fix keys not working on an HP11 G6A EE touchscreens

We have had a lot of HP G6A EE touch's (UK keyboard) with a few keys that have stopped working. After a lot of fiddling around the fix appears to be to unfold the keyboard cable and flatten it out. See the before and after picts:

Before with folded cable:
Note the fold in the cable.

The fix:

Not sure why they are folded in the first place. Hopefully, this simple fix will help people out.

ChromeOS 78 - Virtual Desktops and more

Syncing Google Classroom to MIS data - take 2

I've previously blogged about how to make Google Classrooms and sync them from Capita SIMS using GAM - you can see that post here. However, that post required groups made by Hapara Teacher Dashboard to work. What if you don't want or cannot afford a paid-for solution? Well, a couple of scripts will allow you to to do this.

I've gone through the process in this video:

Script to clean out "s from SIMS output (run in the path oif the script):

$Path = "c:\gam\hapara\students.csv" 
(Import-CSV -Path $Path) | Select-Object -Property 'Email', 'Class Code', 'UID'| Export-CSV -Path C:\gam\hapara\classroom\students.csv -notype
(gc C:\GAM\hapara\classroom\students.csv) | % {$_ -replace '"', ""} | out-file C:\GAM\hapara\classroom\students.csv -Fo -En ascii

Change the file names and paths to suit yourself.

The Python code

def readStudents(infile):
    students = []
        studentFile = open(infile, "r&q…