WordPress Reflection Plugin – Step 1 – Counting Links

The idea that technology ought to help students reflect on their use of technology seems to make sense. As we have more and more students engaging in online writing little things come to light. Take the humble/magical hyperlink for example. We often look at the use of hyperlinks as a marker for progress in digital fluency. Are students using the thing that makes the web so webby? Can we help make that a point of reflection for them?1 I had a conversation with Laura a while back about pulling out URLs and looking at the their use over time by students.2 Clearly, these aren’t pure quantitative things. You’ll never say “Six links? Failure!” or even “Seventy four links? That’s an A+.” Not that I would ever think that about you but this is on the Internet and I don’t want anyone tying hyperlink numbers to Bloom’s levels and then linking to me. But it would be interesting to look back over your writing and see when you use lots of links and when you don’t. So, at the moment, that’s what this plugin does. It’ll do some more tricks in the future but these are early days. The plugin as it sits now (below) will do three things. It’ll run a regex on the post and store all the URLs […]

Auto Screenshots & New Project Site

Before Mark left us for the green dusty start-up fields of Austin TX we had a conversation about creating a better, faster way to do our examples page. The idea of having a resource like this is always popular but people don’t add content.1 My current belief is that it’s because it’s a hassle and despite good intentions people just don’t do it. After seeing what Mark did to associate users with their blogs in the mother blog plugin, I figured he could also automatically pull the theme, plugins, and admin email of any blog on our system based on the URL . . . and indeed he could. This theme requires Advanced Custom Fields and the Benson plugin to tie in the Angular stuff. The one thing he wasn’t able to do was to auto-generate the screenshot from the URL. I’ve looked into that in the past and done it in a variety of ways but none of them were quite satisfactory. I didn’t really want to end up reliant on a 3rd party system and then Mark sent me http2pic yesterday. So now I just needed to install it and get it working. That led to a bit of an adventure for me. There are directions on the github page but they’re written for someone who is a […]

Complexity

Current rampages.us stats . . . 11,772 sites remain of 11,900 created 12,029 users 229 plugins (not all visible to all users) 229 Themes1 (not all visible to all users) 153 GBs of data You throw a few other elements in there . . . 4 other WordPress installs, a separate server with its own WordPress environment, a Discourse install on Linode . . . you end up with a lot of infrastructure to manage. Things to upgrade, users to support, issues to track down and fix . . . not to mention learning the particularities of different server environments and software packages . . . most of it done on the fly. It’s a lot of pieces and a lot of people. I start to feel like things are complex. I start to understand why people lock stuff down, give users a plugin or two . . . streamline administration. It is sensible. It is hard to keep up and keep track. But I keep thinking about the two billion lines of code that Google deals with and how they do it. Google engineers modify 15 million lines of code across 250,000 files each week. Sure, some code is more locked down than other code but it seems pretty open.2 Clearly I’m not Google and, as is frequently the […]

24

Working My Sites Filter

So previously I was struggling with stripping out the Participants blogs that the bbPress/BuddyPress combo was adding to the My Sites list. I got it working and added a bit to deal with it kicking out blogs a little too aggressively. First to get the actual name of the Participant slug, I made a page template for a theme that only did one thing- listed the user roles array. It is dead simple and looks like so . . . Throwing that in a theme let me know that the slug for participant was actually bbp_participant. I spent a lot of time thinking I was doing something else wrong. I’m also not a huge fan of doing things this way in PHP. I wish I had the a console log option like in javascript.

21

Refining the My Sites List

The following plugin (network activated) will strip out all blogs from your My Sites list where you aren’t an admin. I cobbled it together from some stuff Mark did to generate a list of blogs for the Mother Blog plugin. While it would be great for me, it would not work all that well for other people on rampages. Part of this is being driven by the BuddyPress/bbPress decision to add any logged in member who visits any other blog as a “Participant.” I had something that was stopping this previously but it seems to have stopped working. So I thought I could just flip this a bit and make it do the opposite (kick out any blogs where I am a participant). It works fine for the normal roles but not for participant. I’m not sure why. Anyone have a clue? Special roles are accessed some other way? UPDATE Turns out the slug is bbp_participant. Pays to look more deeply.

Benson, Discourse, and WordPress

It sounds like an exciting new buddy movie . . . but it’s an attempt to better integrate elements of our Discourse install in WordPress using Benson (a neat plugin Mark made that lets you use Angular w/in WordPress). I decided to look into this after seeing this example using Twig. Ordinarily, I’d do something like this using Discourse’s RSS feeds and probably manipulating it with FacetWP. I’m opting to look at these other options for a few reasons. One, with WordPress expanding JSON I want a better idea of how all that works in comparison to RSS. Two, I don’t really like duplicating all this content through the syndication option if I can achieve the same effect in other ways. I’m not so worried about space (although I don’t like to waste it) but there are occasionally issues with updates and duplications using RSS the way we do. I wonder if JSON will straighten some of that out. Angular also opens up a realm of options as you get closer to writing code rather than relying on plugins. And finally, I want to knit Discourse more tightly to WordPress. That’ll matter because of the strong resistance to “another site?” responses. What can you get out of Discourse via JSON? Short answer- lots of stuff. Much like WordPress you can […]

Flickr Group Widget – Round 1

flickr photo shared by Little Orange Crow under a Creative Commons ( BY-NC ) license The goal here was simply to take the Flickr API knowledge I’d gained earlier and apply it within a WordPress widget. In doing so, I learned a few things. The primary one being that I often harm myself by being fairly good at making stuff work rather than understanding what I’m doing. That’s what I did here. The Flickr API thing was pretty legitimate. I knew what I was doing there but I pretty much crammed it into a widget plugin template without really understanding the whole thing. That led to more confusion around print

Gravity Forms + FacetWP = Gravatar People

Having just finished presenting1 at NMC. I said we all need to document more, to show examples and explain what we did. Making the notes for the presentation last night and being able to use the blog posts I’d already written really showed me the value of reflecting on little things in an ongoing way. It’s amazing how much stuff I do that I completely forget even happened. So this is how you’d make a gravatar people browser based on information submitted via a Gravity Form.2 This image above shows the basic setup for the Gravity Form. Form fields essentially get combined with some HTML in the post body field. It’s pretty simple but it might help someone. This is the basic setup in FacetWP that generates the query and the display code. There are two elements. Element one is the query which tells which pieces of content you want. The second part is the display which shows the content that you’ve retrieved in whatever way you define. The text version for the FacetWP template is below. There’s also a dab of CSS. 1 Or at least talking in a room with humans in it. It was not of enough quality to justify the term presentation. I need to figure out why that felt so bad. 2 Could also do […]

Faster Faster NMC Notes

I’m doing Faster Nyan Cat!1 Build! Build! tomorrow at NMC so . . . I’d better get moving on linking all this madness into some sort of coherent story with examples. So take a deep breath and . . . go look at another webpage. This is going to be long. Consider it something between speaker notes, reference links, and that scene in A Beautiful Mind2 links everything together with string.3 Once Upon a Time There was a guy who didn’t know how to program but who had quite a few needs and even more odd dreams that he wanted to come true. He was from Alabama which made it perfectly acceptable to make things work with a combination of duct/duck tape and bailing wire (even high tech things). This is the story of how to do stuff like that. It isn’t best practice.4 It may not even be good practice.5 It is simply a way (that has worked) to get lots of work done quickly within the narrow confines of my skill set. Keep in mind, I did a presentation for NMC previously with Jim Groom entitled Nonprogramistan and with the URL /ihatecode.6 There’s also some SPLOT-ish connotations to some of this stuff- just making a one purpose tool that allows users to do one thing with no usernames/passwords […]

WordPress Comment Subscriptions by Category

flickr photo shared by duncan under a Creative Commons ( BY-NC ) license It’s particularly helpful in a rather specific situation- i.e. one where you’re doing a mother blog and want to see all the student comments (like Allen did with the #thoughtvectors reader) but since we have students using their blogs for more than one class things get messy fast. Enter me asking smarter people on Twitter, almost going to the forsaken land of Yahoo Pipes,1 and being saved by Google liking Mark more than me. So anyway, here’s the structure to get the comments for specific categories/tags. by name – http://bionicteaching.com/comments/feed/?category_name=apple by category ID – http://bionicteaching.com/comments/feed/?cat=18 by tag name – http://bionicteaching.com/comments/feed/?tag=tutorial-2 This is one of those things that barely rates a post but given I didn’t know how to do it maybe it’ll help some other wanderer and for people who want this it’ll be really useful. Thanks to Mark, Alan, and Martin for helping me out. 1 I like Yahoo Pipes but one has to assume Yahoo will kill it dead very soon . . . although I’ve been hearing that for several years.