Running Multisite Like a Boss

This is the presentation I ended up doing at #domains17. I did slide-ish things over here but they probably didn’t include all the asides. We’ll see how well I do at including them in this post. I went down the Church of the Sub-Genius route sometime the night before. It remains to be seen whether this was a good choice or not. I thought it was funny but many of my jokes are for a niche audience of one. Although Grant Potter and Brian Lamb seemed to be down with Bob. The goal of this slide was to portray me as a human. I have a number of other interests. I do not live in a dank cave with eyes eternally glazed from staring into the ether. I have a family. I sleep a reasonable amount. I enjoy the light of the day star. etc. etc. Once again, I’m trying really hard to convince people that I am not special and they can do this. I’m not a programmer. I didn’t study computer science. This is sometimes misinterpreted at times to mean you should do this or we’ve had the same opportunities to do this. I’m not saying any of that. I’m trying to say I’m no better than you and that with time you too can be a half-competent […]

WordPress Plugins & Random Thoughts

Do you use WordPress for teaching and learning? What plugins do you recommend for a multisite install? cc @brlamb @clintlalonde @jimgroom — George Veletsianos (@veletsianos) September 8, 2016 Sparked by a tweet, this is reposted from a conversation here (thanks to Alan) but I figured that much writing ought to also be a blog post. flickr photo shared by Internet Archive Book Images with no copyright restriction (Flickr Commons) And a pre-warning, I may have overdone this . . . . As a secondary warning, I may not give the best advice. Add grains of salt as needed. There seems to be two big buckets here for me. One is managing a large multisite and stuff around that. The other is plugins that are useful when helping people build educational things. Security/Management Be careful with security plugins associated with IP addresses (Jetpack got me early on, more on that later). That can turn bad very quickly if your school shares IPs etc. iframe related – I’ve done iframes via the plugin Alan mentioned but found that getting people to do that was a hassle, I wrote a little plugin that I activate blog by blog that adds a chunk of allowed iframe parameters to the kses file. This way they keep doing things the way they think they should and […]


All the Sites, All the Plugins

WordPress gets complex as a multisite get bigger. Things that worked at smaller scale start dying. I’ve long wanted to be able to run a report on all the active plugins on our multisite but it always timed out before it would complete. This script will spit out 1001 sites at a time into a table and list any active plugins. It’ll also add pagination to go forward below the table. That same pagination can be manipulated directly in the URL by changing /?id=1 to whatever number you’d want. I was attempting to do this with MYSQL and OFFSET but ran into timeout issues when I hit LIMIT 4000 and OFFSET 3200 (displays 800 records but starting at the 3200th record). It was an awkward and inefficient and ultimately broke. I learned some things though. This was the post that got me moving in the right direction. I’d searched for ways to batch call MYSQL statements but wasn’t quite getting what I wanted. Looking at it now, it makes sense and I feel like I should have seen that path sooner but it’s now a pattern I understand and will be using in some other ways as well. I should be able to roll all the results into one big variable and spit it out, or write it incrementally […]

Bootleg Daily Create

Given a different type of planning I’d have started with Alan’s Daily Create Theme but that’s now how these particular stars aligned. Instead I had a course site that was mostly built and had been polished in a variety of theme specific ways when the daily create idea came up. I didn’t really want to mess with switching themes etc. as time is getting short. Plus there was probably more than a bit of curiosity if I could stitch 80% of the functionality together via non-programmistan means. I turned to a few of my old standbys to get this done. The theme remains Flat Bootstrap. The plugins pulling the majority of the weight are- Feed WordPress– pulls in the student blogs, Flickr images, and possibly Twitter via this Gravity Forms– lets the site admins create daily create prompts in a structured way without needing to know exactly what they’re doing Display posts shortcode– lets us easily embed the participant submissions with the prompt Simply Exclude– will allow us to include/exclude categories from specific pages. In this case I just wanted to keep the Flickr generated daily create elements from cluttering up the main bloggregate page. I’m ok with showing blog submissions here even if they are daily creates. On the looks side, I’m using Jetpack to do the custom CSS […]

Semi-Programistan and Other Conundrums

I can create basic child themes. I can make some low level plugins. I can take themes and plugins as they’re given and live with the shortfalls. Lately I’ve become (more?) interested with the space between those two options. Can I use one or two plugins to create the equivalent of on-the-fly-child-themes? Can I teach other people who aren’t interested in making child themes how to do it? How replicable are the design/building patterns? To parallel that line walking, I’ve repeatedly tried to deal with the example/tool/tutorial structure in a way that might get people curious. Building lists of tools doesn’t appear to have advantages long term. I’ve done that too many times. Plus it puts the focus on the wrong element from the start. At the same time people need to see the association between tool and possibility.1 For this to ever really work well there has to be a fairly tight entwining of tool, possibility, and example. This site is supposed to show examples by discipline, tell how to make them (tutorial/FAQ), and add in other interesting and useful elements. It may be this matters more to us internally. It’ll help provide a quick way to find examples in the moment of need when talking to instructors and provides enough documentation for most of our internal people to […]

Add a Custom Masonry Layout with 2 Plugins

I’ve been meaning to set up a Masonry style layout for my weekly photography posts for a while. After my earlier post meshing together plugins, I figured now was the right time to show how to do it. Sure you could do this with a child theme and some specific themes have this layout. There are also some Masonry plugins that’ll get you some of this. This path allows you a good bit more freedom in the end and hopefully walks the middle path between intimidating coding and still having some real control over the end product/style etc. It’s also not a bad example pattern for integrating other javascript options without the hassle/upkeep of child themes etc. Plugins Needed Display Posts Shortcode – gets us the posts we want Specific CSS/JS for Posts/Pages – lets us tie in the masonry JavaScript library and custom CSS To Business Activate those plugins. Make a page where you want your Masonry layout to show up. You’ll have the option at the bottom of that page (or post) to link to the mansonry library and turn it on for the page. You can see that below. You can put the CSS in this area as well. Don’t forget to wrap it in the style tags. Since I was using a Bootstrap based theme I […]

Field Botany WordPress Site Breakdown

The Field Botany class is underway and the vegetation is rolling in despite floods and hail. There are 20 student participating on 20 different blogs. Right now we have almost 700 posts in the mother blog. Amazing to see all this great work and to be able to keep it instead of having it stuck in paper notebooks which only a few people ever saw and no one in the public could use. This early days for the site but in the end the intrepid biology duo of Jill Reid and Dianne Jennings will worked with their students to create a site that local residents can use to identify plants in our James River Park System. The nice thing about this setup is it can be used as is or modified to support a variety of other scenarios pretty readily. It has already inspired a sister project that will be documenting mortality and local cemeteries with Susan Bodnar-Deren (who just finished the first round of theOnline Course Development Initiative). Plugins Used On The Mother Blog/Set Up NS Cloner – Site Copier – This was handy for setup. In this case we wanted student sites to have the categories, pages, themes, and plugins already activated. This plugin let me do that easily from a blank template site. The free version doesn’t […]

WPMU plugins you ought to have

Here are a few plugins I’ve got in the WPMU install I’m running. Most, if not all, were a result of my sordid association with WPMU cult leader, Jim Groom. He’s likely posted on each multiple times but it’s hard to find them among all the old cartoons and toy posts- besides I had to make a list to send to our people so I figured I might as well post it. These are all installed in the mu-plugins folder. More Privacy Options This let’s users set up additional options in the privacy page for blog admins. You can make sure the blog is visible only to those logged into your WPMU site, only visible to members of the blog, or only visible to admins. User Themes Revisited This plugin gives individual blog admins the ability to tweak CSS or theme templates individually- the edit theme ability in single user. It’s a little awkward at first but really a key plugin for me. Essentially, you copy the theme over to the individual blog and then can edit it without changing things for everyone on the WPMU install. New Blog Defaults This plugin lets you customize how the new blogs are created. You can customize a lot of key elements and do things like putting the initial “Hello World” post in […]