Persistent Check Off List

Warning: Cannot modify header information – headers already sent by (output started at /home/bionicte/public_html/wp-includes/feed-rss2.php:11) in /home/bionicte/public_html/wp-content/plugins/danger_mouse.php on line 35
Origin Story We’re doing the Photography is Magic course again this semester. One thing we do the first week is go around and the room and students say a word that has something to do with their major, life etc. We also name some cliche image types from Instagram. We end up with a large list of words that form the basis of a photography scavenger hunt. We ended up with 67 words this time around. This time around I decided I’d try to do all the words by the next class. I started another account and began taking the pictures. I quickly realized I couldn’t easily remember what I’d shot and wanted a quick reference for words I needed and to keep track of what I’d already done. Try it out here if you’d like. Making it Since the words were already in Google Sheets I went with the typical Sheets to JSON pattern. I’ve covered that way too many times on this site already. The more interesting part was using local storageJeff had advised using this rather than cookies for something else I did earlier and I remembered it this time around. to keep the value of the checkboxes. I found an article on it and was able to repurpose that code in a few minutes to do […] […]

Read More…

Simple Content Restrictor Plugin

Origin Story I had a number of emails from people trying to restrict content in various ways. One person wanted to restrict access because they were editing previously published content. Another person wanted more of a traditional membership-style option with the ability to restrict certain content based on user roles. I looked at some of the plugins out there but felt that building something a little less corporate1 would be pretty easy. It’ll likely evolve as I get some people using it but it’s here now if you want to mess with it. Making It This plugin uses the Advanced Custom Fields plugin as it saves me tons of hassle building custom field interfaces. ACF Stuff First, these two pieces enable me to sync up ACF field data without the drama of import/export or hard coding it into PHP.2 Now, I started off hand-writing the user levels as items. While easy, it felt wrong because there might be other user levels created by other plugins and they’d end up left out. I realized I could just add the user roles automatically like so. This will list all the user roles on the site as options. Filtering the Content My original idea was that I could just use use WP’s content filter. That is what I did but things got more […] […]

Read More…

Simple Content Restrictor Plugin

Origin Story I had a number of emails from people trying to restrict content in various ways. One person wanted to restrict access because they were editing previously published content. Another person wanted more of a traditional membership-style option with the ability to restrict certain content based on user roles. I looked at some of the plugins out there but felt that building something a little less corporate1 would be pretty easy. It’ll likely evolve as I get some people using it but it’s here now if you want to mess with it. Making It This plugin uses the Advanced Custom Fields plugin as it saves me tons of hassle building custom field interfaces. ACF Stuff First, these two pieces enable me to sync up ACF field data without the drama of import/export or hard coding it into PHP.2 Now, I started off hand-writing the user levels as items. While easy, it felt wrong because there might be other user levels created by other plugins and they’d end up left out. I realized I could just add the user roles automatically like so. This will list all the user roles on the site as options. Filtering the Content My original idea was that I could just use use WP’s content filter. That is what I did but things got more […] […]

Read More…

WPlus WordPress Theme

Origin Story There once was a group who really liked Google Plus. With the demise of the service, they were unhappy. With this request, I wondered if we might just build a very similar experience in WordPress. I think I ended up getting pretty close. The Look The theme is built using our normal pattern of bending Understrap so it uses Bootstrap at its core. The theme is here. I don’t know if this works decently or not (vertical slider gets kind of lost) but I took a shot at making the WordPress theme comparable to the Google Plus layout using juxtapose. If you’re anything like me, you have no real memory of what Google Plus looked like and I want you to appreciate this. Luckily I still have access to G+ through my VCU account for at least a while longer. The Masonry Grid I didn’t think too hard when I opted to make the initial masonry layout.1 I used what seemed like a really handy path. What I didn’t pay attention to was that this particular masonry-sort goes top to bottom and then left to right. Since that was brought to my attention, I’ve gone back to the G+ layout and tried to see more logic behind how they did it and what the sort order is but […] […]

Read More…

An Option for dealing with CORS

As we do more things with JSON, I run into CORS access issues. They can be solved in various ways but it’s often a hassle. It often irritates me as I build demos in COde After wanting a simple solution this AM, I made this tiny, insignificant PHP file that I think might be useful to others. Name this file cors.php.1 Put this file on a server. You can now append some JSON URL to that URL like so … https://yourserver.com/cors.php?url=https://someurl.com/data.json and it returns drama-free JSON for your use and enjoyment. Assuming you have HTTPs on your server it should also deal with HTTP/HTTPS conflicts as well which is very handy at times. 1 Or name it whatever you want. I’m going using bossiness as a shortcut to clarity. […]

Read More…

Sliders as Inputs

Warning: Cannot modify header information – headers already sent by (output started at /home/bionicte/public_html/wp-includes/feed-rss2.php:11) in /home/bionicte/public_html/wp-content/plugins/danger_mouse.php on line 35
Origin Story There once was a worksheet that was meant to be used in a face-to-face scenario. The goal was indicate where you fell on a spectrum across a number cultural orientation of measures. The challenge was to transform that into something digital that could then be part of a larger conversations. Watch the video above to get an idea of what the experience is like or this will make even less sense. The Sliders I like sliders as interface elements for things like these.1 You can see the HTML below that builds them or check out the Codepen for more CSS etc. That’s all pretty straight forward. I did have to add the input tag to the KSES allowed list to keep WordPress from stripping it out. To do that I added the following to our KSES modifier file. Getting the Values Now I needed some javascript to look at these sliders and record the values as the sliders were . . . slid in various directions. This little bit gets our values once we loop through the sliders that exist. Simple. Gravity Forms Integration I did this via Gravity Forms because it’s fast and I’m overly comfortable with it. This is where things get a bit weird. We’re using a typical Gravity Forms to post scenario. Nothing odd […] […]

Read More…

ANTH 101 – A Deeper Dive

It’s been a good while since I had the pleasure of working with Mike Wesch and Ryan Klataske on ANTH 101. I revisited the course recently to write a letter of support for an award submission for online courses. I am posting an extended version of that letter below because I think it paints a path with online courses that is rarely followed but is, nonetheless, replicable and worth considering. Bigger Picture? I see ANTH101 as a path forward that makes me hopeful in an online space that seems increasingly depressing.1 You have two races currently in online learning. There is a race to be the cheapest and easiest place to enroll.2 This article on Liberty “University” paints that picture pretty well. This world will be like the fast food industry in many ways. How uniform can we make things? How automated? What’s the least we can pay the fewest humans? The only path to profit will be through ridiculous scale. There will be very little difference between these providers. They will use LMS products that are very similar while following very similar online course rubrics and probably (poorly) paying many of the same adjunct/itinerant online course faculty. Additional sadness will occur when the same OPM is creating content, marketing etc. for multiple universities for the same courses and programs.3 […] […]

Read More…

Building an ACF-Based Grade Book Plugin in 30 Minutes or Less

Origin Story Kathy asked me if I had any grade book plugins that they could use with a faculty development course. The goal was to show faculty where they were in the course. I knew I did not wish to use Learn Dash for any number of reasons– grade book module costs extra, grade book module is super awkward, learn dash requires a fresh multisite install etc. I also had WPLMS from a few years ago when I think Jon asked to try it out. This felt pretty bloated for what we wanted and it wasn’t entirely obvious if it had a grade book in any case. The WordPress plugin repository shows three plugins and the most up to date has not been updated in 3 years. Not a cheerful landscape. I wondered what it would take to build an ACF-based grade book relying mostly on the repeater field and simple shortcode for displaying the grades to the user. I wasn’t looking to do math or anything. I just wanted a pretty simple interface and a way for users to see their information while administrators could see all the content. That does require people to have accounts and be logged in. A bit of hassle but there is no free lunch.1 This grade book isn’t adding up things or doing […] […]

Read More…

Privacy Statement