website screenshot indicating blue div blocking access to central portion of embedded website

reveal js tweak for iframe backgrounds

*********UPDATE********* The stuff below sort of works, but since there’s only one parent element for all sections it won’t let you click on links later on. That’s no good. It’s also kind of weird to go from interacting with the iframe page to get back into the slideshow navigation (partially because I hid the navigation buttons). So . . . I went this route instead. The following code toggles the slide overlay. I set it up as a button at the top of my slides. It’s full width and black so not obtrusive. Click it lets me fully interact with the iframe page and clicking it again reactivates keyboard navigation for the slide deck. *********END UPDATE********* I’m a fan of reveal.js and have been using it to build all of my recent presentations. It feels like it fits what I do really well. The fact that it’s just a website that behaves a certain way means I can do all kinds of fun things that blend both the web-based examples and my ability to annotate and manipulate the web itself.1 There’s also quite a bit of beauty in tools that continue to offer more opportunities to grow as you learn. Anyway . . . One common action in my presentations is to embed a live website as a full size […]

Event Calendar & Participation

One pretty common need I’m starting to see around community-engaged learning is a way for students/faculty to submit events to a central calendar and then indicate their participation in various events. That comes with various program requirements. People want specific reflection patterns per event and have different ideas around what an event counts for in their program. That comes with additional metadata requirements, dashboard views etc. We did something like this with cultural events when we made the RVArts.org site.1 I’ve got at least three programs interested in this process and some are pursuing products like Give Pulse. So I took advantage of the request from the da Vinci Center to look at how quickly we could make a functional prototype that would – create a calendar of upcoming approved events for students allow students to submit reflections on those events with a particular structure allow students to submit additional events for approval generate data visualization and reporting for student reflection and for program analysis purposes I took the more difficult route and assumed we’d have no user accounts just to see what that felt like. With user accounts this become easier. Even with this restriction I was able to build out a functional custom theme in around three hours. Next time, it’d be considerably faster. We could easily bring […]

What is Rampages.us? Part One

I’m going to be attempting to explain what rampages.us is to a group on Tuesday. I’ve been struggling with a more digestible version of this for some time. While true, saying “Whatever you want it to be,” isn’t what people want to hear. Giving people something more concrete to think through what the site can do makes sense. These categories, however blurry and overlapping, provide some entries to additional thoughts and will likely help me organize my brain around this a bit better. Outside eyes are helpful so if you see stuff I’m missing or explaining poorly please throw me a comment here or on Twitter. While some of the details are specific to our version, I think the general arguments might be of use to others. If you end up doing that (or have already done it), throw me a link as I’d love to see how other people do this. Technically Speaking Rampages.us is a large WordPress multisite installation started roughly three years ago. Our community currently has over 24,000 sites and 22,000 members. WordPress is an open source platform which runs a huge portion (~30%) of today’s Internet and is the most popular CMS in the world. That matters for a variety of reasons. WordPress is free. This dramatically lowers barriers to access for our students while […]

13

Browse by Color in WordPress

Here’s a quick video of a browse-by-color example I made in about ten minutes this AM prior to a meeting with a faculty member in our fashion program. This one is using FacetWP1 which is acting on a custom field I creatively named ‘color.’ It seems like it’ll be useful to some disciplines and we have the option to do lots of automated patterns using Color Thief to grab pallets. The video is also one way we might start sharing examples of what we can do in various platforms. There’s significant need to show that internally and for external faculty so people get a better idea of their scope of options. 1 You could easily do this by hand now with the WP JSON data but it’d take a bit longer.

11

Community- Technically Speaking

Playing “Mah-Jong” at the Clubhouse of the Century Village Retirement Community. flickr photo by The U.S. National Archives shared with no copyright restriction (Flickr Commons) Marie has nice post summarizing the Georgetown Community presentation at Domains. And nowEvelyn’s post reminded me to write a post on a site instead of just in my head. The title of the presentation ‘Just a Community Organizer’ is a nod to the fact that community is hard to do. It can be hard technically but it’s often even more difficult on the human side. As Evelyn brought up . . . community is not created by the technical ability to bring content together. There are lots of ways this can succeed technically but fail socially–> The stuff is there but no one cares. At the same time, technology failures can prevent community from forming where you have all the other factors–> People want to see what’s going on but can’t find and interact with the stuff they want in reasonable ways. There’s also the idea that people might not know what they want to see (or how they want to see it) until it’s given as an option or scaffolded into as an action. Can we present content in ways that are novel and interesting that inspires curiosity and interaction? You can’t do that […]

editor screenshot

SPLOT-light?

So the other day I posted about how to make silent Google Form submissions. Then this morning I was looking around at headless CMS options1 and saw this one being advertised as being driven by Google Drive/Spreadsheets. Those two things came together as I mowed my lawn and I wondered if I couldn’t make a little rich text editor to construct a one-piece content creator/displayer using Google Sheets. That led to a little research into URL parameter limits. And then this evening I made this editor. The page uses Quill to take care of the rich text editor. It turns out there’s a whole world of rich text editor options out there. I’m only scratching the surface with Quill but it works fine for now. It’s bare bones. You can associate an image via a URL, make a title, and add some text. It does show some interesting possibilities though and all with very little infrastructure or real technical know how. The image preview is built by this little bit of javascript. It’s based on having a text field with the id of ‘theImage’ and then there’s a check to make sure there’s not already an image attached and if there is it replaces it. This little bit of javascript builds the Google Forms URL from the various text fields […]

Silent Submission of Google Forms

If you tuned in about half an hour ago, you’d have seen how we’re triggering channel creation in Slack based on a custom post type getting published. One of the other tricks we wanted to happen as a result of that was the creation of a Google Folder. There are a variety of ways to play this but some of the easier ones would require some options we have blocked on our VCU accounts. I could have gone around that via a personal account and then subsequent sharing but it seemed like it’d be more fun to do it this way. I knew I could trigger script events based on form submissions and that I could use the data in the form as variables as well. I also knew I could fill out form variables via URL parameters. What I didn’t know was whether I could submit a Google Form without actually hitting submit. Turns out you can. Take your normal form URL. https://docs.google.com/a/vcu.edu/forms/d/e/1FAIpQLScK2wgma6Oicv_ZY9i-6tg_w9RfEKKkgiAFJDw15jJnmr5ofQ/viewform?entry.1431785794 You can get one of the pre-filled URL patterns like so . . . Which gives you a URL like this. You can see my pre-filled response ‘fish tank’ at the end of the url. https://docs.google.com/forms/d/e/1FAIpQLScK2wgma6Oicv_ZY9i-6tg_w9RfEKKkgiAFJDw15jJnmr5ofQ/viewform?usp=pp_url&entry.1431785794=fish+tank Now to make it auto submit ‘fish tank’ you have to change one piece and add an element at the […]

List Public Slack Channels via API

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.

Weekly Post Generator

Image from page 191 of “Hardware merchandising August-October 1912” (1912) flickr photo by Internet Archive Book Images shared with no copyright restriction (Flickr Commons) Given there’s been some recent interest in using WordPress as destination for content created on other services, I thought it might be helpful to see how I set up my weekly Pinboard posts. I did this a year or two ago so it’s sloppy but I think it’ll show some stuff that matters — mainly loading up the array variables for wp_insert_post. This is a super-simple example that inserts one post based on the content at the curl URL and is run weekly via a cron job. Looking at it now, I am full of shame as it didn’t need an external page etc. etc. but in the interest of actually writing the post and being transparent on how you don’t have to be competent to get stuff done I present it anyway. You can do similar things via javascript and you can loop it against a json feed with multiple elements. It gets a little confusing in my head when I start to think how you’d deal with syncing changes long-term. For instance, if you have a post that was created via this API cycle and it gets updated a month later how would you […]

WP API Feed Reader POC

Image from page 96 of “St. Nicholas [serial]” (1873) flickr photo by Internet Archive Book Images shared with no copyright restriction (Flickr Commons) I’ve talked to a number of people a number of times about seeing faculty using Feed WordPress to syndicate content to a motherblog when they’d really be better served by using a feed reader like Feedly.1 Feed WordPress is great and very useful but if you don’t want to archive the content or take advantage of some of the more advanced options (auto-categorizing, auto-tagging, doing stuff with author pages etc.) then it usually is a bit more hassle than it’s worth. I thought it’d be pretty easy to build a little custom page to display a series feeds from sites in one place. It took me a bit to get it straight but it wasn’t too bad. This example loads 10 sites fairly quickly. I’m currently just showing the source site’s URL and the 5 most recent posts with titles and dates. It’d be easy enough to add other stuff – excerpt, full post content, featured image etc. It’d also be pretty easy to pass the URLs to the page from a Google Spreadsheet which I’ll probably do in the near future. See the Pen wp json api multi fetch by Tom (@twwoodward) on CodePen. 1 Obligatory […]