Annabel Treshansky's Blog

...in which I don't go up mountains

Gallery screenshot with tags displaying

Making an OAuth2 Custom Connector to fetch data from the Stack Exchange REST API in Power Apps

Reading Time: 26 minutes

 

Introduction

This post describes a Power App that fetches and displays data from the Stack Exchange REST API using OAuth2 authentication, with a custom connector created by importing a collection from Postman.

Why did this happen?

This is a step in my ongoing project to access our Blackboard Learn Virtual Learning Environment using REST APIs. I thought this might be possible using Microsoft Power Apps, which would allow the development of apps more quickly, but getting the connection itself figured out was proving complex(*here’s why).

The first step in testing out this theory was my Dad Jokes Power App, which did not require any authentication.

Once that worked, the next step was to try the same process with another REST API that used the same kind of OAuth2 authentication process as Learn. After searching through various free public API lists, I found the Stack Exchange API, which seemed to match the authentication process fairly closely, and has good instructions too.

I also thought it looked useful in its own right, both for keeping up with news from developers, and for trying out methods for searching, sorting and filtering data when I got further into the Power Apps side of app development.

Face with binary code

Using JSON formatting in SharePoint columns to display fields from a Person data column

Reading Time: 10 minutes

The Problem: How could I access data fields from a SharePoint Person column to display in another column?

I’ve been developing a laptop booking system in SharePoint and PowerApps.
As part of the Bookings list, I need to display data columns for the borrower’s name, user id and email address. This data is all included within SharePoint’s ‘Person or Group’ data type, however, I can’t access the Person data fields using lookup or calculated columns.

Screenshot of a Power App that fetches random jokes from a REST API

Making a Dad Jokes App using REST APIs and Power Apps Custom Connectors

Reading Time: 30 minutes

This post describes a Power App that fetches and displays data from a simple REST API using a custom connector created by importing from Postman. The app also uses a Toggle control to create a While loop in Power Apps.

The app itself can be found here: https://apps.powerapps.com/play/f1478489-b888-4e8a-9fe5-8c244e126e70?tenantId=2e9f06b0-1669-4589-8789-10a06934dc61, but is sadly only available to those with a University of Edinburgh login, as this app is a personal educational project and is not for publication or profit.

Why did this happen?

I’ve recently been working on a project to access our Blackboard Learn Virtual Learning Environment more efficiently using REST APIs. It occurred to me that this might be possible using Microsoft Power Apps, which could allow the development of apps more quickly, if we could get the connection itself figured out. The Dad Jokes app was developed as a proof (or otherwise) of the concept.

Screenshot: Adding a new list item in Teams

Copying Files, Flows, a Plan, SharePoint Lists and a Notebook from one Microsoft Team to another

Reading Time: 13 minutes

Picture of a checklist

First thing on the list: get organised!

A couple of weeks ago I discovered a University document called the New Learning Technologist Development Toolkit. And so I began a new project to follow it and develop my skills in Learning Technology. Obviously a project like this needed some way over the top organising… 😁

A while ago, I developed my own Microsoft Team called ‘Team of Me’, for organising myself and bringing my notes and notifications together in lockdown. This seemed like a good place to organise my training plans, so at first I created a channel in this Team to collect resources for this new project.

I began setting up a plan in Planner, creating lists of links, collecting PDF resources, making a few notes in the OneNote notebook and setting up some helpful Flows to channel messages into the right places, and cheer my progress along.

However, I soon discovered that the New Learning Technologist Toolkit, which looked like a short PDF, was actually a lot bigger than I’d thought. Everything it mentioned sent me down another rabbit hole of links and documents, and I realised it would need several channels in its own right to organise it all.

In fact, I began to suspect that becoming a Learning Technologist would take a lot longer than the 4 weeks listed after all. Who knew🙄. And so I decided to set my project up in a new Team of its own, which I’ve called ‘My New Learning Technologist Toolkit Team’.

The challenge now was to copy across the content I had collected and created in my original Teams channel into this new team.

Google Chrome Canary Logo

How to get Live Captions for Anything with Google Chrome Canary

Reading Time: 3 minutes

Sometimes I wish I could caption literally anything. But at least since the move to home working, I’ve been wishing I could get live captions for online meetings and training sessions. I think transcripts are probably a bit too intrusive without consent, along the lines of making recordings, but live captions would often be so useful.

So I am very happy today, because I have finally found a way to get live captions that I think will work for anything with sound that plays in the browser on the computer. It was developed for Android first and so it involves installing a new version of Google Chrome called Canary, that is still in beta testing.

Here are the instructions:

  1. Download and install Google Chrome Canary from here:
    https://www.google.com/chrome/canary/
    Screenshot: Download Chrome Canary

    Downloading Chrome Canary: really liking the all-yellow version of the Chrome logo. I just know great things are ahead…


     
  2. Visit this URL in the Canary browser where you can change the settings:
    chrome://flags/#enable-accessibility-live-captions
     
  3. Enable live captions
     
  4. Relaunch the browser
     
  5. Switch on the Live Captions setting in the browser options (enter this URL to search for it: chrome://settings/?search=captions )
    Screenshot: Switch on the Live Captions setting in the browser

    Search for Captions and switch on the Live Captions setting in the browser


     
  6. You should be able to see captions whenever there are spoken words now. I can confirm that this works with Collaborate live sessions and video playback, as well as Teams meetings in the web browser (although the Teams Desktop App has better caption and transcript options of its own).

     

Testing out the Live Captions

The first chance I got to try this was in our morning Teams meeting…

So, here they are working in a Teams meeting in the browser:

Screenshot: Live Captions in Teams

Live Captions in Teams (Web Browser Version): Good to see them, though again, not perfect – if you have access to the desktop app, click the three vertical dots for better captioning options in Teams meetings. I look a bit goofy in the corner because I’m excited to see this working for the first time!

Here they are, working in a Collaborate video playback:

Screenshot: Live Captions added to video playback in Collaborate

Live Captions added to video playback in Collaborate: They aren’t always right, but they definitely are there!

Here they are working in a Collaborate live webinar:

Screenshot: Live Captions in Collaborate

Screenshot of Live Captions working in Collaborate: looks fantastic, very useful!
Is that Teams notification annoying anyone else?

And here they are working in YouTube:
(Which also has its own captions, but I’m including it as a demo)

Screenshot of captions in YouTube

Screenshot of captions in YouTube – in this case, very accurate too!
Also, lovely guided meditation, courtesy of The Honest Guys

So, I really like this – thanks, Google!

Can we have slow down, rewind and replay next please? I thought at first, they’re not miracle workers – but I suppose with enough buffering they probably could.

And I wonder if it would work with Google glasses…

Links

Moving your website's home

Moving a Website: What to do with old URLs listed by Google?

Reading Time: 5 minutes

What can you do about old website URLs that are still indexed by Google?
I received this question recently:

I was just contacting you to ask you about some of the links from my original website. When I put my name into a search engine quite a few pages from my original website come up like the news page etc and when you click on these it does take you to my new site with a page not found message. I was wondering what I should do about this, is there a way to stop these results showing? It isn’t too bad as someone could still go to the links and get to active pages but I was a little worried that it could send people away. I am hoping you may be able to help?

Photos of the User Interface testing process

An Interesting Content Design Meetup

Reading Time: 5 minutes

I’ve just spent an interesting evening attending a meetup / webinar called “Let’s Talk Content Design,” hosted by the UX Glasgow Meetup group.

Defining Content Design

Several speakers talked about this quote from Sarah Winters, defining content design:

Content design is a way of thinking… It’s about using data and evidence to give the audience what they need, at the time they need it, and in a way they expect.

— Sarah Winters, Content Design

Screenshot of an index box with HTML links

Index links and Info Box HTML template code

Reading Time: 2 minutes

Over the summer I helped out with setting up information blogs about Digital Education for the staff and students in GeoSciences.

One pattern that we needed to use several times was an index box linked to headings in sections with ‘back to top’ links, so I created a basic template that can be pasted into WordPress.

Anyone is welcome to adapt and use this: either copy and paste the top section into the Visual editor, or copy and paste the HTML section into the Text editor.

If your theme allows you to use Custom CSS (some but not all of ours do), you can use the id and class names for visually styling the elements.

Note: I have linked to line breaks above the headings rather than the headings themselves due to the variation in how the different themes we were using treat anchor links.

Here is the sample Info Box / Index links structure:

Main picture.
Introduction paragraph text.

Screenshot of the statistics dashboard

Making Google Analytics more old school and less creepy to work with our Beehive Pro website statistics

Reading Time: 6 minutes

I’ve been having fun with Google Analytics this week😃.

Yesterday, I needed to add statistical tracking to our Digital Education Team blogs on the University’s hosted version of WordPress. This has previously been no problem (eg with this blog), but with the new blogs, it didn’t work.

I created a new Google account for the team with our non-Gmail address, and that turned out to be fine.

I set up a Google Analytics account for the team, and that all seemed to work too.

But when I tried to connect my Analytics account to the Beehive Pro statistics plugin in the blog, it couldn’t find the website listed in my account. It said there wasn’t a ViewID. I was able to authenticate the Google account with the plugin, but the plugin couldn’t find anything in my Analytics account to associate with it.

To explain this better, this very useful Google help page describes the structure of the Analytics account: Hierarchy of organizations, accounts, users, properties, and views.

Here is a summary of the Google Analytics account structure:

  • Organizations: An organization is an optional way to represent a company, which lets you access your company’s product accounts (e.g., Analytics, Tag Manager, Optimize), and manage product users, permissions, and cross-product integrations.
  • Accounts: You need at least one account so you can have access to Analytics, and so you can identify the properties you want to track. An account can be used to manage one or more properties.
  • Properties: A property is a website, mobile application, or device. When you add a property to an account, Analytics generates the tracking code that you use to collect data from that property. The tracking code contains a unique ID that identifies the data from that property, and identifies it in your reports.
  • Views: a View is (or was) a defined view of data from a property. Users are given access to a view so they can see the reports based on that view’s data. Analytics creates one unfiltered view for each property you add, and allows you to create more defined views using filters.

So, what could have gone wrong?

The first thing I checked was the Analytics account permissions, in case my plugin, although authenticated with Google, wasn’t actually authorised to do anything. But these all appeared to be correct: I had granted the default permission set of "Edit, Collaborate, Read & Analyse, Manage Users", so all the required permissions were there.

However, looking in the Analytics account, many things did look different from the various help and instructions available. They also looked different from my own personal account:

  • The Tracking info option wasn’t listed under Admin > Property.
  • There were no Views listed in the Admin panel, and I couldn’t see any way of adding one.
  • I noticed that the tracking code for my web property began with 'G-' instead of the usual 'UA-'.
  • There were a lot more interactions available for tracking
Screenshot of the hacked Trump campaign site

Trump Site: You’re Hacked!

Reading Time: 2 minutes

US President Donald Trump

US President Donald Trump: He’s hacked, but is he fired?


I have no idea how the election will go, and I don’t want to comment on politics here, but I’ve just read a very interesting article about the Trump campaign site being hacked.

Page 1 of 8

Powered by WordPress & Theme by Anders Norén

css.php

Report this page

To report inappropriate content on this page, please use the form below. Upon receiving your report, we will be in touch as per the Take Down Policy of the service.

Please note that personal data collected through this form is used and stored for the purposes of processing this report and communication with you.

If you are unable to report a concern about content via this form please contact the Service Owner.

Please enter an email address you wish to be contacted on. Please describe the unacceptable content in sufficient detail to allow us to locate it, and why you consider it to be unacceptable.
By submitting this report, you accept that it is accurate and that fraudulent or nuisance complaints may result in action by the University.

  Cancel