G Suite (Google for Education)

Google Apps for Education— AKA G Suite— are currently used by some schools and departments at TRU, notably the School of Education and the School of Journalism.

Google Apps for Education at TRU are locally administered and FIPPA compliant.

Apps which are part of this offering include:

  • Google Classroom
  • Google Docs, Slides, and Sheets
  • Video conferencing and chat with Google Hangouts
  • Video sharing with YouTube

And others

If you would like to use Google Apps for Education with your course, please contact your Dean or Chair to see if your department has access.

For professional development or training using G Suite for education please contact: learningtech@tru.ca

Easing into Gutenberg: Trubox & OpenETC updates to WordPress 5.x

When you hear the name Gutenberg do you think of this guy?

Johannes Gutenberg

Or this book?

Gutenberg Bible (facsimile)

Or this website?

It’s certainly understandable if you do. What I’m going to look at here though is a WordPress-related thing introduced in the latest versions of WordPress. Gutenberg in the WordPress sense refers to a new text editor that has a ton of great features.

‘Really?’ I hear you say, you are pestering me about a text editor? Yes I am, that’s just the way I roll. Besides, once you get used to it I think you are going to love it. Even better, if you don’t have the time or bandwidth for it right now you can carry on as usual and check it out at your own pace. Here’s a link to WordPress’s announcement about gutenberg: https://wordpress.org/gutenberg/.

So, what about my Trubox or OpenETC site?

If you do nothing, you will probably notice no change and can carry on as you have been. If you want to start easing into Gutenberg you can do so as quickly or as slowly as you like. You can use one editor for one post, the other for another or even switch between them at will (although I personally think that this latter approach is a recipe for confusion.)

What follows here are some screen captures with some steps/notes on how to enable Gutenberg (referred to as the ‘Block Editor’ inside of WordPress) for your Trubox site, how to begin editing with it and how to move between the two editors if you wish. After that are some links to a couple of great Gutenberg introductory tutorials and a link to an excellent Gutenberg resources.

Turn on Gutenberg

In your site Dashboard (1), in the Settings Menu (2) in the Writing settings (3) you have two sets of options. You can decide which editor your new posts and pages will use by default (existing posts and pages will be linked to the classic editor). You can also decide whether users (including you) should be able to switch editors or not.

Okay, so where is this damn Gutenberg anyway?

Each post or page is clearly labelled with the editor it was last edited with: Block Editor (Gutenberg) (1) or the Classic Editor (2). Also, you can decide which editor you want to edit it with this time. (3)

What if I find myself in the wrong editor, or I just want to go to the other one?

Switch from the classic editor to the block editor (Gutenberg)

Check your sidebar for the Editor widget (1). Note: you may have different widgets displayed in a different order than they are here. If for some reason the Editor widget is not there you will have to return to the All Posts listing and select an editor from there. (Note: some plugins, such as Site Origins Page Builder may interfere with this.)

From the block editor (Gutenberg) to the classic editor

Drop down the menu under the vertical 3 dots in the upper right (1). Use the Switch to Classic Editor menu (2). (3) The Visual Editor/Code Editor pairing is to switch between writing HTML yourself or using a visual editor instead.

So how do I use the Block Editor?

Rather than writing it up myself there are a couple of excellent introductions out there in internet land that I’ll point you to.

Further resources

I’ll also direct you to the Gutenberg Hub for curated links and resources for all user levels. Stick to the Get Starting menu if you are just getting started.

https://gutenberghub.com/

Help!

If you get stuck, or just want to offer feedback, leave a comment or drop me an email: twelch@tru.ca

Good Gutenbergging!

Kumu (Mediawiki)

Kumu is TRUs own mediawiki installation for wiki-based document creation. MediaWiki is the same technology that powers Wikipedia.

Use it when you want to create wiki-style information collections.

Mattermost: Workplace Messaging

Mattermost is an open source workplace messaging system similar to Slack. Mattermost is organized around a discussion paradigm that keeps all related discussion contributions together on a single timeline, but still allows for replying to individual contributions. This can easily keep dozens and dozens of discussion fragments out of your email inbox.

This is a TRU service, is hosted on BC and/or Canadian servers and therefore satisfies BC and Canadian privacy legislation.

What to use it for

Use Mattermost when you want quick and easy team chat. It is invitation-based so is great for communicating with colleagues and other individuals who don’t have TRU computing accounts.

Much of our workplace communication occurs through email. There is a complexity that happens with email though, when multiple people are involved in a conversation with multiple replies. Very quick the original email splinters into several different threads or chains of the conversation making it difficult to follow or refer back to.

There are other advantages to Mattermost:

  • Teams can be set up very quickly. Teams are simply the organizing construct in Mattermost. A team is created, a team administrator assigned and the administrator can then “invite” anyone they wish to the team space.
  • Within the team space any number of channels (or discussion rooms) and be set up. They can either be open to all team members or private to a specific group of members.
  • Files can also be attached to messages.

Some of the things teams and educators on campus like about Mattermost are:

  • Very little overhead
  • Very simple interface reducing support and learning how to use the tool
  • Team members from on campus or off-campus can be invited. Some teams use Mattermost to facilitate discussions between their students/faculty and industry people, research partners and so forth from outside the institution.

What TRU Faculty have to say

Faculty comments needed.

Please leave your comments below or contact the Learning Technology and Innovation group (learntech@tru.ca) if you are willing to do a testimonial about your experiences with this tool.

How do I get started?

The basic unit of Mattermost is called a Team. A team could be a class, a research group, department, etc. Contact learningtech@tru.ca to request a team. Please provide the following information: Your name and email (will already be in the email request), your desired Team name, and a shortened version for the url. (For example the “Learning Tech team url is https://matter.tru.ca/learning-tech.)

Following your request, we will create the team, send you the team ‘invite link’ and give you ‘team admin’ permissions for your team.

As team administrator you will be able to invite other users to the team, configure team settings, and create your desired Channel structure.

What other tools does this work with?

Mattermost has an integration with TRU’s BigBlueButton server. BigBlueButton is a web conferencing system designed for teachers and students. Look for the video camera icon at the top of a channel for a channel-based session or click on a user’s picture to select a more private BigBlueButton meeting.

We are also experimenting with Hubot chatbot technology. We’ll let you know when we have Hubot available for general usage.

What support is available for this tool?

We find that most people don’t need any support beyond the initial setup. Also, see the questions, notes and tips below. Never-the-less, please feel free to contact us at learningtech@tru.ca if you have any questions.

If you are a documentation sort of person you can find easy Mattermost end-user documentation at: https://docs.mattermost.com/guides/user.html

Other questions, notes & tips?

Following are a few helpful tips to get you going.

Trubox & WordPress

WordPress is currently used to power approximately 25% of all websites. Trubox is our general-use WordPress installation, but we have others such as Pressbooks which is used for create open textbooks.

Use WordPress when you want a teaching, learning or research-related website or blog. There are a variety of different uses live on trubox: class, faculty and student blogs; presentation and even support sites; sites that support various scholarly activity endeavours; and much more.

A tale of two [mattermost servers, container types, databases]

It was the best of times, it was the worst of times, it was the age of wisdom, it was the age of foolishness, it was the epoch of belief, it was the epoch of incredulity, it was the season of Light, it was the season of Darkness, it was the spring of hope, it was the winter of despair…

Okay, okay. I feel compelled to deliver an explanation after trashing a provincial-level server. It started off simply enough, two projects. 1) Move the TRU Mattermost server out of the BC OpenEd docker server to its own server node, add encrypted traffic. 2) On the BC OpenEd docker server: upgrade os, upgrade docker, migrate BC OpenEd Mattermost from the preview container version to a multi-container production version, update to current version of Mattermost and add encrypted traffic.

Seemed simple.

So I tackled number 1 first (I know, everybody does that). With the care of a dynamite technician I did a test migration with the usual steps, dump and import database, move data files and adjust config settings. All checked out. Did the real migration (from the list of commands I’d carefully saved), worked a treat. Migration is easy apparently.

So then I tackled number 2. Many more moving pieces here (maybe not so much moving as swirling in an ethereal way).

First, upgraded the server OS, everything went fine.

Second, upgraded docker. Not so fine, several of the containers entered an endless restart loop indicating that something was off. In particular, the mattermost docker can was complaining about not being able to find WeaveWorks network drivers. Grant Potter and I did some digging and couldn’t figure out what the issue was. We decided to pull some unnecessary components. Namely docker cloud which uses WeaveWorks to underpin the tangled web it weaves. (Sorry for that, couldn’t help it.) Now we had more problems than we started with.

Third, Grant suggested a scorched earth approach which I heartedly agreed with. Since the early days our docker-fu has grown, and sometimes starting afresh is the way to go, Grant figures maybe blue belt. Also, based on my first migration I assumed (anyone spot the problem) that it would be a simple matter of dumping theh original database, copying the files and adjusting the config.
What I failed to account for was two things (well, actually I thought about them, but there wasn’t anything to be done at that point): the BCOpenEd Mattermost was still in a Preview container, while the TRU instance was in a set of production containers. (The latter more ameniable to things like backups and migration, the former surprisingly resilient).

Four, so, I built what I was reasonably sure would be a good safety net. Backed up the docker environment directory, the container file system for the mattermost container along with database dump, file and config backups, before scorching the earth.

Five, fired up docker, installed a multi-can production version of Mattermost and then proceeded to re-importing the database. Wow, nice page of errors, I wonder what…oh, I’m importing a mysql database dump into a postgresql database. Turns out they are different. All sorts of philosophical questions drifted across my mind, the most poigniant being, “why would they build their single container preview on top of mysql and their production version on top of postgresql?”. Well, I know why from a which database is probably better point of view, but from a trying it out and shifting to production point of view it made no sense.

Six, well then, I’ll just convert the database from mysql to postgresql and proceed from there. That just rolls off the tongue doesn’t it. Pro solutions to doing this seem to start at about $600 USD, but there was a nice open source utility called pgloader that the internetions seemed to like. Easy, peasy, connect to the db in mysql and the utility will convert and push it in to postgres. That means I need to have both database servers running, rather not do that in my local environment, I know, I’ll build a docker container and do it there. (Sawing and hammering noises in the background). Linux container, install mysql, postgresql and pgloader. Run the command, errors. Look at blog and forum posts, blah, issues doing this inside a docker can. Over to a linux box I’m running on an old computer at home. Rinse and repeat, ah ha, the conversion worked.

Seven, remember now, that not only was I converting databases, but the old container was a version 3.x preview can and the new version was a 4.4 production set of containers. Imported the database and nothing, didn’t recognize any of it.

Eight, somewhat despondant I outlined the situation to Grant along with some options, some of them very time consuming, like copying and pasting from one database to another. His thoughts were to just take the hit (the hit being the loss of our chat history, well, it’s not lost, it can be accessed via the database if we really need to) and move on in to the new environment.

So, we find ourselves here. If anyone needs anything from the history, contact me at twelch@tru.ca and I’ll pull it out of the old database for you.

Both apologies and welcome to the new docker environment which is easily backed up and updated. It sort of has that same feeling as when the carpet cleaner has finished up, things smell fresh and the salsa stains are gone.

Cheers

Cloud Computing

sky-690293_1280

“…it’s cloud’s illusions I recall…”[ref]http://jonimitchell.com/music/song.cfm?id=83[/ref]

[dropcap]T[/dropcap]he “Cloud” has become a staple of everyday computing. We can store our documents in the cloud, create content in the cloud and use a variety of cloud applications. We can move from work to home to the beach and there’s our stuff, conveniently located in the cloud. There are a variety of different types of cloud providers each promising improvement and convenience in our lives in some way. But what are these cloud services really, and is there a downside?

What is the cloud?

The very phrase “the cloud” conjures up something fluffy, ephemeral, mutable and in flux. Some definitions gathered from the the internet give us:

In cloud computing, the word cloud (also phrased as “the cloud”) is used as a metaphor for “the Internet,” so the phrase cloud computing means “a type of Internet-based computing,” where different services — such as servers, storage and applications — are delivered to an organization’s computers and devices through the Internet. [ref]http://www.webopedia.com/TERM/C/cloud_computing.html[/ref]

Or perhaps a bit more to the point:

“Cloud” is a buzzword that vaguely suggests the promise and convenience of being able to access files from anywhere. But the reality is that the cloud is hardly floating like mist above our heads — it’s a physical infrastructure, it’s many computers housed in massive warehouses all over the world. And yet as long as it’s easy to read email on our phones and watch movies on our laptops, we generally don’t take the time to wonder where our data actually goes, how it gets there, and what happens to it on its way.[ref]http://gizmodo.com/what-is-the-cloud-and-where-is-it-1682276210[/ref]

I like to paraphrase it this way:

The cloud is somebody else’s computer.

The upside

The cloud provides us with many wonderful capabilities from basic file storage to full blown applications that provide us with useful functionality. As identified in the first definition above “the cloud” is just a euphemism for “the internet”. So basically anything you do over the internet is in “the cloud”. There is a staggering array of modern computing conveniences that fall into this category: social spaces such as Facebook, Twitter and Instagram; file storage facilities such as onedrive, dropbox, google docs; and full blown application environments such as google apps, evernote, and office live.

There are advantages afforded by cloud computing:

  • the functionality and computing power that runs these things is taken care of by someone else;
  • your stuff is often easy to distribute to other people and may also include the ability to collaborate;
  • you can move across the different devices in your life and get at all of your stuff;
  • you don’t need to do as much installing of software, filing your computer files and that sort of thing.

The downside

To fully understand the downsides of the cloud, let’s refer back to my version of the definition “the cloud is somebody else’s computer.” Further, let’s draw an analogy. Let’s say you are spending a week at my place and decide that keeping your supply of wine in my wine fridge affords you many conveniences, it is close at hand and because my wine fridge is cold your wine will also be cold when you want to use it. There are also some risks involved though, I might not recognize it as your wine, after all I also have wine in the fridge. I might believe as a matter of operating principle that any wine in my wine fridge is mine to use as I see fit, in essence I see the ownership of the wine transferring to me once you close the fridge door.

Enough of the silly analogy, it begins to break down pretty quickly. In general though, when you put something in the cloud you are surrendering a great deal of control of whatever you have put there. This can extend to a number of issues: ownership, usage, privacy, etc. Most cloud providers have a set of terms/privacy policy that outline how your stuff will be used. These terms may also change from time to time so it is important to keep up on them. Remember that these policies don’t protect you and your stuff from hackers who break into those cloud providers.

Another issue that is continually played out in the courts concerns legal jurisdictions and what laws will preside in event of an issue. For most Canadians, especially those involved in education, government or other areas where federal and provincial privacy legislation applies, cloud computing is particularly problematic. As an example, the US Homeland Security act means that stuff stored on computers in the United States cannot satisfy Canadian privacy legislation. Further, lots of cloud providers have multiple servers in multiple geographic locations.

The danger

There are also many risks to putting your stuff on “somebody” else’s computer. For instance, they might decide to use it for some purpose that you are not necessarily comfortable with. There is a saying that if you aren’t paying for a product, then you are the product.

Services such as Facebook are fond of conducting research using the data on their servers. In the academic world we are familiar with research ethics application and approval processes. Such things are mostly absent in the cloud. What about informed consent? Sadly, we have consented. Surely you remember reading the account agreement when you signed up.

It’s my personal belief that we have yet to see what I call Zuckerberg’s punchline. I’m not sure what form it will take, but after decades of us happily posting the details of our carefully curated lives, our interests, our photos, our families, our ideologies and beliefs; and after those same decades of research into human nature, consumer preferences, potential danger to the realm, the whole package gets bundle up and sold to the highest bidder.

What to do, what to do

I have a small set of guidelines I use with respect to cloud computing:

  1. if you want to retain control over ownership and usage be very careful about putting it in the cloud. If you do make sure you understand the termsof the provider.
  2. If privacy legislation is an issue follow the advice of your company or organization with respect to approved cloud services.
  3. If personal privacy is an issue then don’t put it on the internet. Anywhere. If you take photographs with your mobile make sure that it does not automatically upload them somewhere for your convenience.
  4. The question to ask is will this document, tweet, photograph, etc. cause me some concern if it were shared with everyone on the planet. If it will, don’t put it in the internet.
  5. If I wouldn’t toss it on a table at Starbucks then walk away from it, I won’t store it in the cloud.

 An exit strategy

Probably the most important thing to have is an exist strategy. There are many well known and lesser known closures of cloud services that have left users scrambling to retrieve their stuff or make other arrangements to replace the lost functionality. The closure of Google’s Reader rss service pretty much relegated the world of rss to a niche sub-culture and almost killed it.

I became almost suicidal when an email/project management/productivity service called IQTELL announced it would close about a year ago. (Luckily their community rallied and the company worked hard to maintain their service.) I had used this on a daily basis and continue to, it is simply the best thing I’ve discovered for organizing my life.

Always in the back of your mind should be the question, what if this service closes. Will I lose anything, how can I retrieve my stuff?

Okay, time to wrap this rambling screed.

“I’ve looked at clouds from both sides now
From up and down, and still somehow
It’s cloud illusions I recall
I really don’t know clouds at all”
[ref]http://jonimitchell.com/music/song.cfm?id=83[/ref]