Reclaim Video Inventory

Over the last couple of days, I’ve taken a break from my Documentation April to categorize Reclaim Video’s ever-growing collection of VHS, Betamax, and Laserdisc. I feel like every couple of days (if not every day) we’re receiving a package in the mail enclosing one or two new VHS tapes from Jim’s wishlist. They’re always so fun to open, but then they inevitably pile up on the front desk until one of us as a moment to add them to our excel sheet. Oh yeah, we have been using excel to keep track of what we had, but Reclaim Video has quickly outgrown it. The excel list was hard to look at, hard to search through, and staying organized was virtually impossible.

What’s more, last week we received two (yes, two!) VHS donations from folks in the Fredericksburg community. Suddenly we were faced with a dilemma: how would we add these tapes to our collection without losing track of who donated what? Especially once duplicates of films are involved.. it was just getting complicated. We decided stickers on the tapes themselves was not an option, so a digital log of some sort was needed.

Enter Libib.com!

Tim found this Cloud Cataloging tool that’s made to keep track of books, movies, video games and more. I began playing around with the online version and the iPhone app and was immediately sold. The free version is perfect for anyone looking to log their personal collections, and we’ve made great use out of it for Reclaim Video so far. I imagine we’ll end up upgrading the pro version ($5/mo) to take advantage of its loaning features. We are a rental store, of course.

My favorite part of the app, without a doubt, has been the Barcode scanning feature. I’ve been able to easily scan hundreds of tapes and archive them on our new collection site, inventory.reclaimvideo.com. Movies that are recognized in the database are then automatically displayed with a ton of helpful metadata.

^Example of the metadata pulled. In addition, viewers are then able to leave reviews & I can easily keep track of how many copies are available. I wish more of the metadata was available on the public-facing site, but I’m imagining that’s part of the pro version.

In addition, we can now easily add donations & and organizing them using Tags. It’s beautiful! ^ Collections are organized by “libraries”, so Reclaim Video has three libraries: VHS, Betamax, and Laserdisc.

^Full row of 007 Betamax

Just today I finally finished logging all the Betamax & VHS currently available at Reclaim Video. I took advantage of the opportunity to organize the tapes as well, so the right half of the room is VHS, and the left is Betamax.

^The forward-facing inventory site.

I’m excited to expand this over time– not only tweet-length messages to the right sidebar, but more laserdisc logging coming soon! It’s also nice to be able to send interested Reclaim Video renters somewhere to say, “hey, this is what’s currently in stock!”

, ,

Sequel Pro’s SQL Inserts

Another tool I’ve  been becoming more familiar with for sites that don’t have phpMyAdmin to access the MySQL databases is Sequel Pro. It’s an open source application for managing SQL databases on the Mac.  I have come to appreciate it in newfound ways after the UNLV migration; it is to databases management what Transmit has been to moving around files via FTP.  Anyway, one think I discovered it can do is copy the structure of a database table, such as wp_users:

And then insert it as SQL code in something like PHPMyAdmin:

Sequel Pro does all SQL query structuring for me, which is awesome. Was a nice little bonus to discover, and another trick for the toolbox.


, ,

Site Building with WordPress and Elementor

Site Building with WordPress and Elementor

One of the biggest challenges for folks new to building a website with WordPress is that it feels very much like writing/blogging software out of the box. Yes, you can create pages, but as soon as you want to structure information in columns or do anything more complex than images and text you will quickly find you need to find a theme or a handful of plugins to get the job done (and if you don't know what you don't know, that's a huge hurdle). "Site Builder" plugins are becoming more and more popular and you even see more themes integrating them into their frameworks these days. Some are pretty good, some suck really badly. One I really like and wanted to demonstrate as a way to quickly get up and running with a WordPress site is Elementor which is both free (there's a Pro version that has more features I'll discuss in a bit) and incredibly user-friendly with a lot of great options.

Rather than just talk about the various features let's go through the process of building out a demo site to see what Elementor has to offer. To start we'll fire up a WordPress install on Reclaim Hosting. Nothing too crazy, you're typical TwentyEighteen theme with the big ass succulent.

Site Building with WordPress and Elementor

Since this isn't going to be a blog I'm going to go to Settings > Reading and change the homepage to be the About page that WordPress creates by default.

Site Building with WordPress and Elementor

Then let's install the Elementor plugin to really get to the fun stuff.

Site Building with WordPress and Elementor

If we were to look at our site at this point nothing much has changed. We have the About page showing by default on the homepage. Let's click that Edit Page button to start making some changes.

Site Building with WordPress and Elementor

In addition to your standard Post/Page editor functions we see a big Edit with Elementor button at the top. But before we hit that I want to also draw your attention to the Page Templates in the righthand sidebar. Elementor offers templates to go full width instead of being limited to the layout of the theme we're working with (if you look above at the previous screenshot all the content is pushed to the right which we don't want). They also have a Canvas option which is awesome because it essentially nukes the whole theme content and gives us an empty workspace to build from. I'll be using that so I select it and click Update.

Site Building with WordPress and Elementor

Site Building with WordPress and Elementor

Now let's hit that Edit with Elementor button and start building out the site. You'll see we're taken to an interface that looks a lot more like the WordPress Customizer than the traditional page editor. We can add and edit items via the lefthand sidebar and interact directly with them on the site on the righthand preview seeing the site exactly as it will look to visitors.

Site Building with WordPress and Elementor

WordPress added some demo content to the About page that I don't need so I highlight over that and click the X to remove that text block.

Site Building with WordPress and Elementor

Now below that we can add a new section for content. Let's start by looking at the template options Elementor comes with which is a great way to kickstart building a site rather than starting from scratch. Click Add Template and you're taken to a library of different full page layouts complete with demo content to choose from. Fair warning here, you will find templates that are "Pro Only" meaning this is where you'd need a paid version of the plugin to use those (and hey, if you like the plugin maybe it's worth throwing some money at the developers!), but there are a lot of great free options.

Site Building with WordPress and Elementor

I chose a simple "About Page" template and now my editor interface has a variety of content that I can start modifying to put in my own information.

Site Building with WordPress and Elementor

You'll find you can simply click in the various boxes and edit text directly as well as modify things in more detail using the lefthand sidebar which dynamically changes when an element of the site is selected.

Site Building with WordPress and Elementor

Site Building with WordPress and Elementor

Elementor also has options in the lower left to see how the site will display on tablets and mobile devices.

Site Building with WordPress and Elementor

Going back quickly to the same area where we added Templates you'll notice there's a tab for Blocks as well. Templates are full page designs whereas Blocks are just small snippets of content (an FAQ section, a Call to Action, etc).

Site Building with WordPress and Elementor

You can also build from scratch and add specific elements to your page to build out your own layout. You would create a new section which it lets you choose how many columns you'd like.

Site Building with WordPress and Elementor

Then you can drag elements from the left sidebar over and Elementor has a large library of widgets to choose from with everything from Text, Images, Videos, Maps, Buttons as well as dynamic content like Blog Posts or Tags and Categories from your site.

Site Building with WordPress and Elementor

When you drag an item out to a block you can then edit the content of that element in the sidebar.

Site Building with WordPress and Elementor

There is quite a bit more to Elementor but that covers the basics of the plugin and how you can use it with WordPress to quickly build out dynamic responsive websites that feel less like a blog and more like a full-fledged website. If you start on WordPress and immediately feel out of your element at getting what is in your head on the screen I'd encourage you to give this method a shot.

, , , , ,

cPanel Minimalism

We recently migrated UNLV’s faculty websites to a Domain of One’s Own environment. I learned a lot during that migration which in turn helped motivate me to finally clean up the bavatuesdays multi-network site I’ve been putting off for over a year. Well, dabbling a bit every morning last week and yesterday, that is officially done. All sites on the bavatuesdays domain have been migrated and archived—I can take a short break before going after the jimgroom.net network. 

In the mean time I have been working on a talk for OER18 wherein Tim and I will be talking about hosting beyond the LAMP environment. Applications that run in other server environments that require Node.js, Ruby, etc. would be nice to offer, but integrating them into cPanel is not necessarily easy. I played with hosting Jekyl from a Reclaim account, but that does require a bit more command line work—which is often a non-starter. But alternatives to cPanel such as Cloudron that allow you to spin up containers that seamlessly manage the application’s server requirements, so all you are doing is choosing a domain to run it on. But we have also been playing with integrating SPLOTs more seamlessly into Reclaim’s offering, so there are several options, rather than any one way forward. Not to mention, cPanel and CLoudLinux are both working to make it easier to run Node.js and Ruby apps in their environment, so it may not necessarily be beyond LAMP at all—but rather within or alongside.

All of this brings me back to UNLV’s Faculty Sites, which have really paired down cPanel to the absolute minimum: WordPress, the file manager, and backups. That’s it. Minimalist, faculty can choose between WordPress or a DIY old school HTML site using the file manager to upload files (or FTP). It does kind of beg the question that I hear all too often about it being overwhelming, or there is too much to learn. No, it’s pretty much your own instance of WordPress, and those little files known as HTML (and a few links) that made the web possible. So, the future is as much within a LAMP environment, as it is beyond LAMP. 


Documentation April

Over the last couple of weeks, I’ve made it my mission to build on, add to, and update documentation articles at Reclaim Hosting. This was inspired after our last Workshop of One’s Own event when attendees asked what other schools had done to tweak and add to their DoOO projects. How were schools changing their homepage? How were they handling community support? How were they handling graduating students and their data?

I created a new category on the Workshop of One’s Own Documentation called Customizing your DoOO. This topic is still very much a work in progress, but my goal is to make this a full list of everything that can be safely done or added to a DoOO instance without fear of “breaking the system”. It will include everything from different pages and elements that we can add to a DoOO system, to editing a Domain of One’s Own WordPress theme.

One of the most common “extras” that DoOO schools ask for is the Templated Community Documentation. These are articles written specifically for the students and faculty using Domain of One’s Own. They were written originally by the OU Create team, and were later shared and expanded at other schools. So when new schools start a DoOO Pilot and ask for this documentation, we would copy from one of these existing schools to the new school. This was hardly a bad system, but it’s always bothered me a little bit that we were handing off documentation with another school’s logo on it. It just doesn’t scream “here’s your fresh copy”.

And since every DoOO Project looks a little different, the documentation will look a little different as well. For instance, we have some schools that buy top-level domains for all users and give them access to everything that the default cPanel provides. By contrast, other Domain of One’s Own schools only support WordPress, and have stripped the cPanel down to the very basics. So what may be true for one school may not be true for another. In addition, Reclaim underwent a pricing change a couple of years ago for shared hosting plans & top-level domains to accommodate for ID Protect. What’s more, when software upgrades take place, screenshots need to be updated. And plugins that were relevant 2-3 years ago may now be abandoned by their developers.

I mention all of the above to show that there are clearly a ton of outliers that can lead to a miscommunication and/or change in documentation. So it was time that Reclaim Hosting took ownership of the existing documentation to create a centralized hub of always correct, always up-to-date information. That way any school writing their own docs can always look back at this resource and pull articles that are relevant to their specific projects.

For instance, the team at emerson.build wrote a great article on getting up and running with the Neatline plugin in an Omeka instance. We get questions about this plugin all the time at Reclaim Hosting, so I’m thrilled for finding it! But it also helped reiterate this very real theme surrounding documentation: we need to do more sharing as a Domain of One’s Own community, and Reclaim Hosting needs to help facilitate that. I’m sure there are plenty of schools that would benefit from that Neatline article as I have, so now they can find that article, along with a compiled list of others on State University’s new documentation site: stateu.org/docs

Which brings me to my next point: If you’ve written documentation for your DoOO community, you may receive an email from me in the next couple of weeks asking for permission to add your article to the main hub. You’ve been warned. :) Alternatively, if you’ve written articles that you think would be a good addition to this main list, please contact me!

And while I’m on the subject of creating documentation, I can’t write this post without mentioning the recent work that Chris, Reclaim’s intern, has been doing for the Reclaim Youtube Channel. We’ve been working together on prioritizing videos that Reclaim needs in terms of tutorials, and he’s created some really great stuff so far. (Examples: Easy Site Cloning with Installatron, Backup Tools, & Adding WordPress Themes and Plugins)

His most recent tutorial, and easily my favorite video so far, is Understanding FTP, Part 1. (Part 2 will be on troubleshooting FTP!)


You can find these video tutorials on Youtube, of course, but also embedded in their corresponding written articles on Reclaim Hosting’s main documentation site.

, ,

Ansible and Configuration Management at Reclaim Hosting

Ansible and Configuration Management at Reclaim Hosting

When we started Reclaim Hosting it was with a lot of hopes and dreams and a single server. Hard to believe we only had a single server to manage for the first ~8 months of Reclaim's existence (and Hippie Hosting was always so small that it always only had a single shared server for all customers). Those days however are long gone, today Reclaim Hosting manages a fleet of over 100 servers for customers and institutions across the globe. As you can likely imagine, it's been a hell of a learning curve to get to a point where we are comfortable with such a large infrastructure.

Unlike a high-availability setup where you might have a bunch of servers spinning up and down but you'd never be logging into a particular one, when it comes to web hosting each server is managed individually. SSH Keys and a shared password management system go a long way to alleviate headaches with access. But the biggest hurdle has been configuration management and I finally feel we're starting to get to a place where I'm comfortable with it (I think it will always be a process). When I say configuration management I mean keeping track of and managing everything from the versions of PHP installed, what system binaries are installed and available like git, upgrades to software over time, and things of that nature. With an infrastructure this large split currently across 3 different companies, many different datacenters, and even a few different operating systems and versions it is inevitable to find that what you thought was running on one server is actually out of date or didn't get installed at the time of provisioning.

There are two things thus far I have done to tackle this issue. The first was to take a hard look at our provisioning process. In the past this was completely manual. Fire up a server and start working through a list of things that needed to be installed. If I normally installed something but forgot to mention it to Jim then there's a great chance it wouldn't get installed. And if the coffee hasn't kicked in then the whole system by its very nature is just prone to user error resulting in an incomplete system, not to mention this could take between a few days to up to a week to complete if other stuff got in the way. It may seem simple, but I created a bash script as a very simple way to get at the deploy process. There are a few prerequisites that have to be installed before running it (namely git since it's in a private repo and screen so we can run it with the session closed) but what used to be a process measured in days can now complete the majority of work in about an hour and a half. Here's everything thus far that the script does:

  • Install git, screen, nano, and ImageMagick
  • Install cPanel
  • Run through some first-time setup options for cPanel configuration
  • Compile PHP with all extensions and Apache modules we need
  • Install Installatron and configure settings
  • Install Configserver scripts (firewall, mail management, exploit manager) and configure with settings
  • Update php.ini with approved values
  • Install Let's Encrypt
  • Install Bitninja (a distributed firewall product we use)
  • Setup custom cPanel plugin Reclaim Hosting uses for application icons
  • Configure automatic SSL certificates
  • Reboot server

Mostly my process has been working backward from what things we used to install and configured and finding what commands I could use to do the same process (installation is always with cli but often configuration is with the GUI so finding the right way to configure was a bit more time consuming and sometimes involved editing files directly using sed). We have more that could be done, again I treat this all as a process where we can continue to refine, but this has gone a long way to making that initial hurdle of setting up servers a "set it and forget it" approach.

So with our deployment process becoming more streamlined the second piece of the puzzle was to get a handle on long term configuration of servers, the various changes and settings that we have to manage. If Apache is getting an upgrade it should be tested on a dev server and with approval it should be pushed to all servers to avoid any mismatch. In the past that meant me opening up a bunch of tabs and getting to work but that's not a scalable approach. I've taken to learning more about Ansible as a configuration management tool and it has already saved me countless hours.

Ansible doesn't require any agent to be installed on our machines, it uses SSH access to run its commands. Commands are put together with "Playbooks" which are nothing more than .yml text files. There are various "roles" that can be used to handle everything from installing software with yum and moving files back and forth, to more complex tasks, and people can write their own roles so there is lot out there already for popular approaches to configuring and managing servers. At this point you might be thinking "Well if it can do all that why did you write a bash script instead of using Ansible for deploying servers?" and you're not wrong Walter. Long term it probably does make sense to do that, but Ansible playbooks have a very specific way of doing things that is replicable across a lot of servers and frankly it would require a lot of work to rewrite the deployment method that way so it's a goal but not a major issue in my eyes.

Now with Ansible if I decide I want to roll out HTTP2 support to our servers I can write a small playbook that installs it via yum and then run that against our entire fleet. If a server already has the support for it then it doesn't have to make a change so there's no harm in running playbooks on a variety of servers that may or may not have common configurations to get them all up-to-date. If anything the biggest challenge is not writing the playbooks (which I actually enjoy), it's keeping our inventory file that holds data for all of our servers up-to-date. A dream would be to use the Digital Ocean API to dynamically update our inventory in Ansible so if a new server is added there it's automatically added to our inventory.

I'm confident that developing these configuration management processes will help us ensure our customers benefit from the latest software and better support with a standard environment they can count on from one server to the next. And if it saves us time in the process to devote to new development work even better.

WoOO Spring ’18 Recap

Not sure what happened here, I blinked and suddenly Reclaim Hosting’s second Workshop of One’s Own happened two weeks ago! It’s been a whirlwind past couple of days (ahem, weeks) but I wanted to take a moment to recap.

Overall, I thought this workshop was a great improvement from our first one last November. Our November Workshop was successful, no doubt, but it was our first one so we were definitely still working out the kinks. By this Spring, we had more than doubled our attendance, and the Reclaim Hosting staff fell into their stride. Bigger and better, people!

You can find a rough itinerary of the workshop below:

// Day One
8 – 9: Coffee & Light Breakfast
9 – 5: How best to use each platform; Understanding WHM & WHMCS; DNS Overview; Common Support Troubleshooting; Graduating Exit Strategies

// Day Two
8 – 9: Coffee & Light Breakfast
9 – 4: Strategies for Promoting DoOO; Case Studies for Omeka, Scalar & Grav; SPLOTs; Building your own project template; Free Workshop

Reading over the schedule now, I think we were probably a tad ambitious to push all of the technical content into Day 1, but it worked and I’m proud of what we accomplished. We didn’t make it all the way to 5 pm, but we paced ourselves, covered what was important, and made time for more conversation as opposed to just lectures. We broke naturally at 4 pm, which I think was needed after such a full, technical day. You can find recordings from bits of Day 1 below:

 Jim, How Best to Use Each Platform

Tim, Deeper Dive in WHMCS
Tim, Deep Dive WHM, Pt. 1
Tim, Deeper Dive in WHM, Pt. 2

image via

Lauren, Supporting Domain of One’s Own
Lauren, Understanding DNS

Meredith, Exit Strategies & Domain Transfers

After getting through most of the technical stuff on Day 1, we opened up Day 2 with a much more hands-on, critical thinking vibe. Jim led a conversation that navigated through the following questions:

Why Domain of One’s Own? What’s the significance? How can we push this project across campus? How will DoOO look different for faculty members with different levels of technological exposure? What about Freshmen vs. Seniors?

Jim works through some of this in his recent post, Why A Domain of One’s Own, but it was incredibly fascinating to hear from the folks that attended as well. While one goal of this workshop is to grant attendees with the ‘keys to the kingdom’, so to speak, and give them a conceptual overview for managing their Domain of One’s Own instance, the other goal is to connect participants with members of other schools running similar, if not identical, projects. Listening to them pass experiences and strategies around was by far one of the most rewarding parts of this Workshop for me.

Meredith, Tim, Jim | Beyond WordPress: Introductions to Omeka, Scalar, and Grav

From there the conversation led into an overview of other tools available to DoOO users besides WordPress, namely Omeka, Scalar, and Grav. This addition to the itinerary was a direct result of listening to feedback from our first Workshop. Since WordPress powers roughly 30% of the web and takes up a large majority of resources and time for DoOO administrators, it’s incredibly tempting to only focus on supporting WordPress. However, we agreed with participants from the first Workshop that supporting DoOO involves more than just one application. Administrators must be able to listen to faculty members and students, address their goals for a digital presence, and translate them into the proper web tool. And to do that, a general understanding of other applications is essential.

After lunch, Alan dove into an afternoon of understanding SPLOTs, how they came to be, and what you can do with them.  An overview of his talk can be found here, “SPLOTs? Don’t Worry”, says Madge, “You’re Soaking In It”. (His presentation links can also be found here.) I’ve written about the potential of SPLOTs before, but it was cool to see yet another group of folks get jazzed about SPLOTs for their schools. I teamed up with Alan by showcasing how one would go about creating their own SPLOT using WHM’s Template feature. The natural next step in this conversation, however, always leads to How can we easily share these between different schools?

Unfortunately, this doesn’t have a simple solution currently, but it’s most definitely on our radar for the near future. Tim has actually begun playing around with and building SPLOT installers. It’s a step further than templates. So instead of a drop-down menu item in your WordPress installer, i.e. this:

…you’d actually be installing your SPLOT instead of WordPress:

Pretty slick, right? Once the installers are built, this will allow Reclaim Hosting to easily share SPLOTs between schools/servers. But without getting too far off topic for this post, I’ll end here by saying that the afternoon’s conversation, questions, and feature requests definitely got our gears turning. Workshop participants spent the rest of the afternoon dreaming up ideas, building out SPLOT templates, asking follow-up questions from the previous two days, and working through strategies for approaching their communities about DoOO.

image via

Lastly, I can’t do a Workshop recap without mentioning our lunch-time activity on both days: an Escape Room. I can hardly take credit for this one- Tim was the mastermind behind building this out. We transformed our back private office into a dorm room, set up clues and locks beforehand, and then sent the players in. Tim addressed the players from a computer in the dorm room as a frantic IT support guy. He explained their situation: the players would have to solve a series of puzzles in order to rescue a student, Paul, who was trapped inside his computer due to poor code that he had written! Oh no! The escape room was a ton of fun to watch. It was also a great chance for participants to get up and move around, problem-solve, and work together.


Whew, if you’ve made it this far, congrats! I’ll conclude with my takeaways:

-It’s becoming all too clear from the responses we received that these Workshops are beneficial for both the attendees and the Reclaim Team. I’m thinking they’ll stick around as long as there’s an interest.

-We’ll be continuing to update and add to our Documentation of DoOO Admins. Let us know if something is missing! For now, here’s what is coming soon:

// A category on customizing your DoOO instance (hacking your theme, changing your splash page, etc.)
// How to Create a DoOO Account for Someone Without SSL Credentials
// Adding Custom Reporting Columns to your WHMCS Instance

-We need something to showcase the work that schools are doing. Case studies for specific applications. Something to highlight how different faculty, departments, clubs, and students are using DoOO. An Assignment Bank of sorts. Something to show potential for interested schools. Reclaim is currently working through what this will look like, but it’s happening!

, , , , , , , ,

Reclaiming Open with WordPress

I woke up to a few tweets about Reclaim Hosting and the #deletefacebook movement. It’s been hard for me to get excited about Facebook either way. I see it as one of the more depressing malls of the web, and I try and stay away as much as possible. And beyond their horrific practices with collecting personal data, I have been equally dismayed over the past several years by their refusal to curtail predatory catfishing when brought to their attention again and again. It seems like expecting anything else from Facebook would be tantamount to expecting that Google’s “Don’t Be Evil” was anything more than a flattering slogan to sell an image.

Skeletor likes to feel evil

And while I tend to agree deleting your account is not necessarily a solution and data collection needs to be regulated more stringently as it soon will be in Europe, a part of me can’t help but think what did we expect? Whether hacked or handed over, did we really doubt that sooner or later we would pay dearly for the “free” services we have gorged ourselves on for more than a decade? I guess that makes the current moment of outrage seem a bit disingenuous, or at least somewhat absurd. In the end, to be a good citizen of the web you have to be willing to take some ownership of your online presence, and that means taking the time and spending a bit of money (although not all that much) to build something on an open platform outside the corporate spaces that have become ubiquitous because we’ve often settled for less when it comes to the open web. WordPress is my drug of choice, and 13 years later it remains a robust open source community that powers near a third of all sites on the web. More than that, it makes me feel like I have far more options through this tool then just about anything else I do online, which in turn allows me to define my presence to a much greater degree, not to mention build course sites, research sites, web services, and more.

So, thanks to the tweets from Laura and Howard this morning, I think this is what my talk for PressEd Conference will be about on Thursday. I have been struggling a bit with that talk given many other folks far smarter than me will have much more interesting things to share when it comes to WordPress in education. So, maybe my 20 tweets or so can be about why using WordPress in education is more relevant than ever given the trappings of a free, but not open, web seem to be coming home to roost presently. And while Facebook is certainly the most deserving of targets for public outrage, chances are they’re not alone in their practices by any stretch of the imagination as Doc Searls blogged about the other day:

What will happen when the Times, the New Yorker and other pubs own up to the simple fact that they are just as guilty as Facebook of leaking its readers’ data to other parties, for—in many if not most cases—God knows what purposes besides “interest-based” advertising? 

It’s invigorating and life-affirming to witness a broad movement of folks around the USA, led by some badass high schoolers, demand sane gun laws simply to ensure their safety at school. Something currently taken for granted here in Italy. That for me seems like a first order need—thinking of sending my kids to an American primary or secondary school only to wonder if they will make it home alive because politicians are in the NRA’s pocket is unconscionable. It’s a movement that is long overdue, and there are certainly many forces that helped give it the head of steam it has presently. I want to think the same could be true for reclaiming a bit of the open web, and would like to believe that the work a whole cadre of open educators have been pushing on for the last 10-15 years would be one practical approach, this is of particular interest to me given the perils of higher ed going down the data extraction in the name of personalization that is being pushed by the folks at EDUCAUSE under the banner of the Next Generation Digital Learning Environment (NGDLE). If we want to look at one space where the outrage around Facebook that might hit even closer to home in the context of education, it could be what companies will be extracting what data in the name of streamlined, integrated personalization environment that the NGDLE promises. Anyway, I’ll save some of this for my Tweetstorm on Thursday 🙂


Troubleshooting Slow Sites

Part of supporting online projects comes with the territory of troubleshooting slow websites. Sometimes it can be hard to know where to turn when you’re met with a “My site is slow!” support ticket– especially if the site is loading quickly on your end.  This post covers tips & tricks for figuring out those red flags that may make a site run slowly. And while the list below may not hit on every issue that will come up, it’s a great checklist to use as a starting point.

Recreate the Speed Issue

Doublecheck that this isn’t an issue with the user’s internet, and that the site is indeed having load issues. (You can always have the user test their internet connection speed here or here.)

WHM: Check the Load

^The green box referenced above. If that load begins with anything less than “5-8.” you’re in the clear and this is likely not a server issue. If the load starts getting into the 14s and 15s or higher, this issue may be greater than the single site.

WHM: Check Apache Status

Search ‘Apache’ in the top, left-hand corner and click Apache Status.

Apache handles all processes on the server and is currently set to handle up to 150 requests at any given point. If the number of processes crosses this threshold and Apache maxes out, that could definitely be the smoking gun for slow-moving sites.

WHM: Check MySQL

Search ‘mysql’ in the top, left-hand corner and then click Show  MySQL Processes.

^This list should generally be pretty small. If you see a full list like the one above where a single database is running a ton of processes, that should be your pointer that this is a site issue, not a server issue.

File Manager: Check Error Logs & Plugins

Every time you install a plugin in your dashboard, you’re asking your site to load another set of processes in your database. So naturally, if you’ve got 20+ plugins installed on your site, chances are that could be leading to slowness.

Likewise, plugin/theme/software conflictions are real, so checking the user’s error_log in their File Manager can be helpful in determining what’s going on.

You can ask the user to turn off all of their plugins, and then activate them one by one to figure out which plugin(s) may be causing the slowness. And if that’s not possible for the user…

phpMyAdmin in cPanel: Plugin Database Tables

If the site has a ton of plugins and you’re trying to figure out which one may be leading to the slowness, have a look at the database tables associated with each plugin.

Note that sites won’t function properly if one table is unusually massive. The rows column is associated with the number of entries on a given table. As you look at the screenshot above, notice that the database table called wp_prli_clicks (part of a Plugin called Pretty Links that can track site clicks) has over 58,000 entries of stored data. Yikes! So sometimes even if the plugin is working correctly and not conflicting, the user’s specific settings can be causing slowness.

phpMyAdmin in cPanel: Transient Rows

Transient Rows are essentially cached database queries that can be found on the last page of the wp_options table in phpMyAdmin. You won’t hurt anything by deleting transient rows. And depending on how many there are, deleting these might actually help speed up your site!

To delete these rows, copy the following SQL commands:

DELETE FROM `wp_options` WHERE `option_name` LIKE ('_transient_%');
DELETE FROM `wp_options` WHERE `option_name` LIKE ('_site_transient_%');

Click on the SQL tab in the wp_options table and paste the commands. Click go.

Query Monitor Plugin

And if all else fails, installing the Query Monitor Plugin on the WordPress dashboard has proven to be a helpful troubleshooting method for us in the past. This debugging tool shows you what might be going on by listing the queries on the page that you’ve loaded, and highlights any issues as they occur.


Creating a WordPress Template

I’ve written a little about SPLOTs in the past, but I’m looking forward to the opportunity over the next few days during Workshop of One’s Own to dive into their possibilities. Alan Levine will be joining us for the workshop as well to spearhead the SPLOTs session. He’ll be taking folks through their origins, potential for the future, examples of ones he’s already created, etc. I’m excited to share the floor with him to chat about how SPLOTs can be used within Domain of One’s Own environments, and how simple it is to set up a SPLOT on your DoOO server.

Keep scrolling to learn how to save your own WordPress install as a SPLOT for others to use.

Step One:

Build out your WordPress install exactly how you want it to be pushed out server-wide.

^Note that if you make changes to the install after it has been templated, those changes will not be reflected on the SPLOT. Installatron essentially takes a snapshot of what the install looks like at the time it’s saved. If you need to update your SPLOT, you’ll need to remove & replace.

Step Two:

Log into WHM. Search ‘install’ in the top, left-hand search bar. Navigate to Installatron Applications Installer & then click Installed Applications.

Step Three:

Now you should see a list of all installs (through Installatron) on the server. Search your install in the top, right-hand corner. Click the star next to the install that you’d like to turn into a SPLOT.

Step Four:

On the following page, give a title and description for your Template. These will be public. After you’ve finished, click Template in the bottom right.

Step Five:

Test it out! If I go back to my individual dashboard and install a new instance of WordPress, I now have the option to install templated package of the WordPress I’ve just created.

Removing a Template

Search ‘Install’, click Installatron Applications Installer, & click Templates.

Scroll down, select the template you’d like to remove and click the X. You’ll be asked to confirm the action, and then you’re good to go!

Now when I go to install WordPress, the template has been removed: