Weekly Web Harvest for 2018-07-01

The U.S. Air Force learned to code—and saved the Pentagon millions“We don’t want to be anybody’s outsource app development organization forever,” says Keith Salisbury, the vice president responsible for Pivotal’s work with the federal government. “We want our clients to understand what we do and how we do it, and most importantly, why we do it. We don’t want to teach them to fish. We want to teach them to be fishing guides.” About—-like what we tried a few months back Itty bitty sites are contained entirely within their own link. (Including this one!) This means they’re… ?Portable – you don’t need a server to host them ?Private – nothing is sent to–or stored on–this server ?Easy to share as a link or QR code When Jean-Paul Sartre Had a Bad Mescaline Trip and Then Hallucinated, for Years, That He Was Being Followed by Crabs | Open Culture The crabs followed him “all the time,” he said, “I mean they followed me in the streets, into class.”

stranger portrait - what?

Filtering WordPress Titles

As you may have seen here before VA passed a bill saying universities can’t have student email visible without written consent from the student. We had a legacy site that had student emails as part of the title structure for the posts. We had stuff titled stuff like This is twwoodward@ecuniv.edu post or This is twwoodward@mymail.ecuniv.edu. We want to remove a chunk so it’s not an obvious email any longer. The following function cleans up our two different email patterns so that the titles no longer include emails. It does this by tying a custom function to a WordPress filter. The first thing we do is get the post type. In this case we just want a custom post type we named profile. $type = get_post_type( get_the_ID( ) ); should get us that variable. Next, we’re defining the things we’d like to find in the title. $find = array(‘@mymail.vcu.edu’, ‘@vcu.edu’); – this is letting us look for multiple items and it could be many more than two. Now our if loop only runs if the $type equals ‘profile’ otherwise it just passes the $title variable right back unharmed. If it is a profile custom post type, it uses PHP’s built in str_replace function to look for the things we defined in $find, replaces them with our second variable (” in […]

Example WordPress editor view for the custom post type publications. Indicates various specific entry fields that help keep authoring easy and structured.

The ENVS Site Documentation & Program Syndication Aside

We’re on our way to building an interesting knitting of sites for our Environmental Studies program. Imagine a tiered connection of syndication that moves from student portfolio sites at the base through courses in the middle and up to the program at the top. It’s a pyramid of aggregation where the metadata can be added at each level. I feel like I’ve sketched this out before but, if so, I can’t find it. It doesn’t hurt to do it again anyway. So this is the basic idea. Students can build the kind of portfolios they want rather than highly constrained artifices that focus more on serving the program. Now the visual design and structure can be what the student wants. The only thing that needs to be consistent is the categories and tags used to indicate how that piece of content fits into the program/course. As long as a post is associated with an assignment1 or competency then it can be pulled elsewhere for consistent display, association with a particular course, etc. At a basic level, this structure provides a pretty frictionless workflow to have assignments bubble up to the program-level that are great examples of the kind of work your students can/will do. This is PR for potential students. Used properly helps build consistency in expectations between faculty. It […]

Man sweating as he tries to decided between the shortcode and gutenburg buttons.

WordPress Multisite Network Footer Plugin

We needed to put a data privacy footer link on all our rampages sites. To do that I added this code in our generic network activated plugin. Then we realized we’d need to skip that occasionally for particular sites and that’s why we ended up adding a loop to skip sites by ID. It could be fancier and enqueueI cannot spell this word. scripts etc. rather than just stapling them in but the pattern’s likely to be useful to others wandering in the darkness.

Forest xGump on a bench with the text simple is as simple does.

Make H5P Quiz Images Go Big by Default

When you add images to H5P questions, the default behavior is to present them small. You can then click to make them go full size. We didn’t want to do that with the histology stuff. Luckily you can override the css as described here. I didn’t test this against other H5P options so it may do more than other people would like but we’re only using quizzes so this is fine. Jeff also got us most of the way there with some javascript and could have done it all that way as well.

An old time strongman with a handlebar mustache in front of some trophies.

Interviewing My Domain

I am late in responding to this prompt from Alan but given all Alan does I figured I should give this a shot. What is your domain name and what is the story, meaning behind your choice of that as a name? I started this many moons ago when I was teaching k12. It was a time of hope around edtech and the edu-blog-o-sphere was young. Many people even referred to it as the edu-blog-o-sphere1 and the first edubloggercon had yet to happen. Most of the fully-branded tech teachers you know today were working in actual schools rather than for companies. It was a strange time, like the 1960s maybe, so I blame the domain name on that. I was working with Jim Coe and we had plans become some sort of edtech consultant group. That whole branding thing didn’t seem quite as repulsive to me then as it does now.2 In any case, I had previously had a free blog on a site run by James Farmer (incsub.org/wpmu) which was entitled Bionic Teacher. My concept at that time was that fusing the best of technology with the best of human options resulted in the title. Since we were now two people and a long-term goal of influencing more people bionic teacher became bionic teaching. We then immediately got that […]

Will Wonka asking you to tell him again what WordPress can't do.

Tweaking the WP Base JSON Data

We had a list of rampages sites in a Google Spreadsheet and wanted to know when they were created. I started to look that up but only managed to do it twice before I gave up and went in search of another way. In this case it took two little bits of code. This first piece is active on our generic site-wide plugin. It adds the blog’s creation date, last updated, and post count to the base JSON data. That’ll be handy in the future if we want to checkup on sites with only one query rather than multiple queries. This second piece is a Google Script that makes a function that I can call in the sheet by typing =getCreationDate(“http://someurl.com/”) The two together answer my immediate problem but the JSON modifications have some long-term value for us and might be useful to someone else.