Since we’re making channels in Slack via our project creation, it made sense to archive them when the project was completed. In projects (this particular post type) we have a custom field for the start date of the project and one for the end date of the project. Step one is to check on updates whether the post has the end-date field filled out. In my case, this is one of the legacy ACF fields that survived my great metadata purge. So checking it is done like so . . . The Slack archive API piece looks like this. And finally we run this function when projects are updated like so. We’re still experimenting with this workflow and archiving is a decent start. You can easily reactivate it and results still turn up in searches. It’s likely we’ll also rename it from p-whatever to z-whatever to get it out of the way.
Image from page 279 of “The Ladies’ home journal” (1889) flickr photo by Internet Archive Book Images shared with no copyright restriction (Flickr Commons) In working through the project page a bit more, it seemed like it’d be more pleasant to start in WordPress and have our events echo outward in other services. One of those events is the creation of project specific Slack channels. In the past, I’d mainly listened for events . . . programmatically checking back every so often to see if something had occurred so I could do something else. In this case it made more sense to have one action directly precipitate another. These are the three functions that fire when we publish the custom-post-type Project.1 In any case, it’s a pretty instantaneous creation and invitation to the channels. 1 I don’t know how to punctuate that but it’s probably not hyphens.
Image from page 249 of “The development of the chick; an introduction to embryology” (1919) flickr photo by Internet Archive Book Images shared with no copyright restriction (Flickr Commons) I ended up doing this while pursuing some of the API integration stuff for our projects page. It doesn’t list the private pages and might be useful to someone. This was the byproduct of looking for a way to look up the ID for a particular channel which ended up looking like this.
Image from page 211 of “Bulletin” (1961-1962) flickr photo by Internet Archive Book Images shared with no copyright restriction (Flickr Commons) I’ve been lucky enough to hire two awesome people who have started over the last month or so.1 We’re also going to get a new supervisor on July 3rd. That’s led me to have a bit of breathing room and a reason to start re-thinking some things. One of those things is how we combine documenting our work. Can we document what we do in a way that will create more people interested in doing these things? Can we do a much better job bringing active faculty to the forefront? Can we serve the end of the year report needs regarding various data elements? Can we gather data we might reflect on regarding our own processes? How do we knit all this stuff together from various services without a lot of extra work? The Old I’ve done this more than a few times. The latest incarnation at VCU was the examples page (pictured above). It is semi-decent but was done in haste. It tries to affiliate tools and instructional concepts with examples. Conceptually, it’s pretty close to TPACK in that way. It has done a marginal job thus far. It houses examples and people can browse them. It doesn’t […]
Image from page 60 of “Children’s ballads from history and folklore” (1886) flickr photo by Internet Archive Book Images shared with no copyright restriction (Flickr Commons) Driven mad by curiousity after this Matthew Baldwin tweet, I built this little thing. It uses the amazing Martin Hawksey’s TAGS for gathering the Tweets in Google Sheets and then displays it with Vue.js (which I’m sort of learning). It led me to realize that I could extend TAGS without much effort. My first attempt was to write two custom functions to get favorites and retweets. Turns out that was pretty straight forward given all Martin’s work. The TAGS element (TAGS.get) links me into Martin’s library and that’s that. So very easy once you know and then you’re just navigating the Twitter API. Turns out I can do something similar to get the Twitter bio. Initially, I just stuck these in like you’d do normal functions … =getRT(A1) or whatever and it soon ate up all the processing time allowed for my Google Scripts. That caused other things to break. Lesson learned. I then opted to set the value in the script and write that value to the cell. This little script runs on the spreadsheet change trigger and checks to see if there are any blank cells in the Favorites column (column U) […]
Long, long ago Kin and I did the API Nirvana presentation at Open Ed 2016. The following images are screenshots of the presentation embedded above. I described the construction in reveal.js here. There’s a good chance the images below link to the right slides in the presentation. I need to think through how this particular workflow might work better as it seems wasteful to take screenshots this way . . . 1 Slide one is a visual mashup of Kin’s logo and Nirvana’s smiley face font/color. I find the API path one of temptation. It leads me to question many things and I struggle with what I should be spending the time to tweak, to massively modify, to try to make perfect for me. It is a battle but a better one than tolerating whatever I’m given with no recourse. API tools allow me entirely new levels of IFTTT types of flow– and a flow where I’m dictating far more of the process without the need for a 3rd party intermediary. There’s lots of power there and lots of potential to eat huge chunks of my time as well. It brings up lots of big picture questions about who owns what. With APIs I can increase the percentage I own and make the services/data interchangeable should I need to move […]
I am way behind on blog posts. I’m also bad about telling the difference between blog posts I’ve written in my head and blog posts I’ve actually written. I am glad that being able to tell the difference between reality and fantasy is not that important. Sparked back to reality by this Tweet involving many of my favorite people on the Internet . . . I figured I’d write at least part one of that imaginary post. If my ability to tell fiction from fact continues, I’ll actually write up the content of the presentation this week. Has anyone played round with Reveal.js for slides? @cogdog perhaps? Thinking on using with @Flickr @creativecommons images Maybe fork it? — Ken Bauer (@ken_bauer) November 27, 2016 I got the opportunity to do a talk with the rather hopeful title of API Nirvana at #opened16 with Kin Lane (the API evangelist). The original proposal had doing something like the description below with a focus on the Buddhist concept of Nirvana. Kin Lane, API Evangelist, has long been a traveler on the API path. Tom Woodward has newly come to it. Kin will explain API Nirvana, that it’s more a journey than a destination (you are already on it), and Tom will explain the path and patterns of his early progress towards that destination. […]
flickr photo shared by OSU Special Collections & Archives : Commons with no copyright restriction (Flickr Commons) As part of a future project, I’m looking for easy, automated ways to push/pull CSV files around. Initially I thought I’d just do the =importdata(‘http://theurl.com/data.csv”) function but I realized that had some drawbacks that made it less ideal which lead to the script below. Using Google Script triggers this script could be set to retrieve a CSV file every X amount of time and write it to a Google Sheet. The upper portion is adapted from this answer. In any case, it opens up some decent automatic options and would keep data fresh for easy access charts and graphs in Google.