A lonely tree in front of the ICA museum construction site.

ePortfolios: Competing Concepts

I talked to some VCU people about ePortofolios1. It’s a conversation I’ve had any number of times over the years. I think that experience is leading to a better understanding of what’s going on structurally and the space we have to navigate competing interests. I’m also in a better position to show how certain technologies might help people find a middle way. However, I’m still trying to be honest about the complexities involved in an environment with shrinking resources and expanding expectations. That’s a rough line to sell when vendors have no compunction about pitching simple answers that aren’t exposed until after contracts are signed. For the record, I didn’t start with this peppy intro when I spoke. Portfolio Strategy There seem to be two major philosophies when thinking through portfolio content. Trophy Case The “trophy case” is showing the best of what the student has done. This is the pattern in many traditional portfolios. The student puts up assignment A. It’s as good as it’s going to get and it represents learning outcomes 1, 3, and 7. The alignment between the assignment and the evidence it presents of skills/knowledge is preordained and there’s little evidence of how or what led to that result. There is little or no consideration whether the display of this evidence plays to the strengths […]

31

For Want of an API . . .

We wanted to be able to know whether people signing up for Ram Pages were faculty or not but didn’t want to add fields for them to fill out. VCU has an online phonebook with faculty emails in it but there didn’t appear to be a way to hook into an API. But you can provision the site with search items via the URL like so https://phonebook.vcu.edu/?Qname=woodwardtw%40vcu.edu. Since I knew that PHP can grab a website (file_get_contents) and parse out the text in various ways (preg_match) it seemed like we could automate this. When the phonebook site fails to find a matching email it returns some text that says ‘No matches.’ That’s what I decided to look for. If you look at the comments below, each line of the code is broken down and pretty much (over) explains what it does. Update Here’s a better version using curl and displaying the data in the user profile so you can see if you’re crazy or not. It also checks for the metadata field and updates or creates it as needed.

19

Clean Google Doc Cut/Paste into WordPress Editor

If you cut/paste from a Google Doc into the WordPress WYSIWYG editor you get more than I want. Mainly a bunch of inline CSS that sets the font weight (see below). This is a pain because it’s going to take priority in CSS land and undoing it by hand is a hassle. Some internet wandering led me to Jonathan Nicol’s fix for some span elements and bit of adjustment allowed me to also deal with the inline CSS elements. The extra nice aspect of this as a fix is that it only applies on paste actions so you can still write the stuff in the HTML editor if you want.

02

User Choice: Hiding Some Sites in My Sites in WordPress Multisite

Long have I struggled with WordPress Multisite and the way it makes things difficult for non-super admin users. While it is very easy to join additional sites, leaving them on your own is easier said than done. I hesitate to write ‘impossible’ even now as it seems insane that there isn’t a good and obvious way for non-site admins to leave a site. Maybe someone will point out something obvious I’ve missed but in case I am right here is a way to allow users to control which sites show up in their My Sites list. After some thought, I went with the least dramatic path here. We are just removing the sites from the main views rather than deleting accounts on individual blogs. I started to go that route (remove_user_from_blog) but a conversation with Matt and the concerns about transferring ownership of the content or deleting the content and being able to un-do that if a mistake was made quickly made me think of some other options. I opted to use add a filter to the get_blogs_of_user function which builds both the drop down menu of sites and the blogs listed on the My Sites page. With the function below I can pass in an array of blog IDs to ignore when building the ‘My Sites’ list. You’ll also […]

WordPress Comment Setting Advice

We shifted some of our default comment settings in rampages. This is an attempt to give students better insight into what setting options they have and why they might make certain choices. DISCUSSIONS IN WORDPRESS Commenting is one feature of WordPress that you can control so that it behaves in ways that match your personal goals. You have lots of choices between shutting commenting off entirely and opening comments completely. You can find your discussion preferences at Dashboard>Settings>Discussion. A screenshot of what you’ll see there is included below. Default article settings The first portion, default article settings, are of these options all checked by default. Article tends to just mean blog post but might also apply to other things. The first option, attempt to notify any blogs linked to from the article, is about your post notifying another site that you linked to them in your blog post. That’s handy if you’re looking to make connections between your site and others but may be something you want to uncheck if you’re discussing sensitive topics or simply don’t wish to seek out conversation with individuals outside VCU. The second option, allow link notifications from other blogs, allows other blogs to alert you that your post or page was referenced in their post. Once again, this could help build community and it […]

28

Mother Blog – Troubleshooting Guides

I realize I have many, many things. It’s not clear if those things will be of use to other humans but, at worst, here is something you can ignore. At best, take some hard-won experience and avoid the hassle. These five things solve 98% of our mother blog syndication issues for students. On the professor side . . .

23

Change New Site Comments Settings in Multisite

This little function in a network activated plugin on WordPress multisite will require comment users to be a member of the multisite to comment. The setting can be changed by the blog admin but it makes the default setting a bit more restrictive. It’s changing the value in Dashboard>Settings>Discussion.

01

Super Cleansing Cut/Paste into Tiny MCE in WordPress

Had someone cut/pasting from Google Docs into WordPress and it was ending up littered with internal style elements and super irritating span classes. I found this post which got me 95% of the way there and just added .removeAttr(‘style’) to get rid of the inline styles. Now I can just re-cut/paste and get a clean chunk of text.

24

Accessible ACF-Based Tooltip Dictionary

We have a bunch of world language professors prying at the edges of Pressbooks. One of the requests yesterday was to be able to create a mini-dictionary of target language words at the beginning of sections written in that target language. Mousing over the words would show their English equivalent. The intent is to have ready assistance for those who need it so that writing in the target language can happen earlier in the course. ACF came to mind pretty quickly for this case. I really just needed the ability to generate two values that are paired together- the target language word and the English definition. I need to be able to make as many of these pairs as the person wants to put in there. That’s custom made for the ACF repeater field. Now that I had an easy way for people to add the words, I just needed a way to do the tooltip display. There are 12,000 ways to do this but I just looked around for one that bragged on its accessibility. I found this example on codepen and went with it. This bit of php builds that content. Now that we have the the content and way to handle the tooltip piece, I needed to stick it at the top of the posts. That’s just […]