Differences between operative systems is a major challenge when you teach WordPress. Experiences from a real life classroom session in a second semester multimedia designer class.
Yesterday I introduced WP to a second semester class. So these notes are based on my own reflections after the session.
First a strategic overview:
The class used XAMPP as a local development environment during their first semester. 32 students were present. 22 had a Windows PC. 10 students or so used a Mac. That is: as far as I remember.
I had a PC, but decided to demonstrate the installation on a system with Windows 10.
In XAMPP a database was created. We used PhpMyAdmin. All created a database named wordpress with utf8. So far so good.
Then the class downloaded the latest version of WordPress, from WordPress.org > latest. That was the easy part. No problems whatsoever here. They unzipped the files to ../htdocs/wordpress/..
In theory they had to edit these lines in wp-config.php:
/** MySQL database username */ define('DB_USER', 'root'); /** MySQL database password */ define('DB_PASSWORD', ' '); /** MySQL hostname */ define('DB_HOST', 'localhost'); /** Database Charset to use in creating database tables. */ define('DB_CHARSET', 'utf8');
Here the differences between the operative systems proved a major challenge.
- Most students had WP up and running with no problems.
- Around five Windows users had problems with XAMPP. The cure was: reinstall.
So far so good. But the Macs was the real problem. They had to use a password. But: what is the password?
A workaround was used: give a password to root. That was a bad idea. Don’t do it at home, please. XAMPP worked all right, but now the users could not enter PhpMyAdmin from the administration panel!
A better workaround was this: create a new user for the database wordpress and grant all privileges to that user.
As a teacher it’s allways a challenge, when 1/3 of a class has to do one type of work – while 2/3 of the class is waiting. To this add some 5-6 students, where XAMPP crashed half a year ago or so. While these studens were fighting with XAMPP-related challenges the ones with WordPress up and running grew impatient.
That’s natural I guess.
Introducing WordPress features
Most of the systems were up and running around 10:30. However a few still had problems, so they were advised follow introductions to posts, pages, menus, themes etc. from 10:30 – 11:30.
During that session, they also tried to personalize the theme with costumize.
Themes and child themes
After lunch I gave an introduction to themes. First I introduced the “sandwich” concept of:
I had developed a minimum viable skeleton theme with as little markup as I felt possible. So I demonstrated:
During this part of the class I downloaded the zip from git and instlled the petj-mvp theme on the fly from a downloaded zip.
I hope that this demo gave an idea of the inner workings of a theme. But skeleton themes are ugly. The last part was an introduction to Twenty Seventeen.
We made a child theme. As far as I could see most of the students had no problems making a child theme of Twenty Seventeen. I demonstrated how to change the footer.php in the child theme:
- Copy footer.php to the child theme folder.
- Add a h1 tag (or similar) and add a message.
The last session
So most of the class had WordPress up and running. But still 4-5 students had problems. I decided to focus on these students, and let the rest of the class prepare for the next day .. that is somewhere else.
I had to go through the computers, and look at strange XAMPP problems. Some installations refused to work even though everything seemed fine.
As a workaround these students installed WordPress via Bitnami. This installation works like a charm. But I knew that the files are saved in another location.
On a Mac the files are in a similar folder, but of course in:
Again the Mac users had to unlock the folders in order to upload images etc.
14:20 Leaving the classroom
The last student had his WordPress up and running @14:20. So much for the famous “Five minutes install”. WordPress is not the problem here. It’s XAMPP and the differences between the operative systems. Here’s a huge stumbling block for WordPress teachers.
As a teacher I need a local development platform, where WordPress just works out of the box on any platform – be it Mac, Windows or Linux.