If 45 doesn’t have Coronavirus by June 1st I’m switching to Folgers Crystals for a month.
As conferences have moved online to fight the spread of Coronavirus WordCamp Santa Clarita was one of the early WordPress events to try this new format. Here are my thoughts on how I could have improved my session for a distributed audience.
Cooking Looks Easier On Television
I grew up watching a lot of cable TV. One of my favorite tropes is that chef toiling over a cutting board passing fresh ingredients into spotless glass bowls. Ten minutes later pulling a flawless meal out of an oven.
Everything scripted and budgeted for time. A distributed conference is actually a lot like those cooking shows. No audience just a conversation with a camera.
Give Yourself Plenty Of Time To Prepare
Back in 2017 Chris Lema shared his process with me for preparing one of his standout conference sessions.
No matter how small or big the talk he would be ready to present two weeks early and rehearse a few days before. At my best I’m ready a week before. However, after a few talks I’ve found the closer I apply his advice the better things go.
My Usual Process
Before I submit my proposal for consideration I narrow down possible topics. Usually something I could present with no preparation whatsoever with anyone.
Next, I draft the proposal from beginning to end. Being sure not to cover too much or not enough for the time slot.
After I’ve submitted a proposal and before its accepted I’ll gather additional research materials and start taking detailed notes. I flow it into a nearly complete draft and consider possible additions or items that may need to be removed.
Once I’m approved to speak I start refining the final script and build out a slideshow and have everything done 14 days prior.
Well, a remote conference is a lot different from speaking at a podium in front of a poorly lit slide projection.
I Should Have Ditched My Slide Presentation
A good slide presentation is always valuable but lets be honest…When’s the last time we’ve watched a Powerpoint for fun on social media?
If I had this talk again I’d take a queue from those cooking shows and prepare each step in advance and present them to the audience step by step.
I’d probably still start and end with a slide presentation but at each point I’d jump into my WordPress templates and build the code live. Then, when it breaks… and it will. Just pull a working example out of the oven.
When it comes to code watching someone make errors live is just as valuable as seeing it work perfectly. It gives our audience a rare look into our problem solving process and developer workflow.
Unfortunately the conference speakers all experienced at least a three minute delay with their audience. With no faces directly asking questions or responding in real time I missed an major opportunity in my talk… Where should we place the code? Yup, Its like I pulled bread out of an oven without mixing the ingredients together.
It wasn’t until the question and answer session that I realized I never mentioned WP_Query loops belong in a Child Theme’s template. If I were presenting the files live rather than slides the audience would have seen me open and close files moving content around and testing the results live! There would have been errors, it could have been glorious.
Don’t Panic! Success is in the oven, just off camera. 😉
Like WordPress, October CMS is a PHP driven content management system.
Create a LAMP droplet
First we need to select Linux Apache MySQL PHP droplet from Digital Ocean’s droplet Marketplace.
Next choose a plan, if your website is starting from scratch and won’t receive too much traffic the cheapest plan will do. You can always upgrade later.
Digital Ocean will send you an email with your initial login information. We’ll use the IP address and password to ssh into a terminal.
Now lets visit that IP address to see if everything is working. That screen should look similar to this one.
substitute 18.104.22.168 with your own IP address for your droplet below
$ ssh email@example.com
Update The Server
Now that we’ve set our new root password its time to update Ubuntu. Keep your password handy, you’ll need it later.
# apt update # apt upgrade
Approve any package updates, using the default options.
Install October CMS
These instructions are adapted form a CentOS 7.2 post.
Install unzip and wget, we’ll use these to download the installation package and unpack the zip archive later.
# apt install unzip wget
Now we log into the server and set up the database by logging in as root. use the password you chose when we first connected to the droplet
# mysql -u root -p
Now we see a mysql> prompt in our terminal lets setup that database. Be sure to use your own desired database name, username and password.
CREATE DATABASE october; GRANT ALL PRIVILEGES ON october.* to octoberuser@localhost IDENTIFIED BY 'your-password'; FLUSH PRIVILEGES; EXIT;
Now that we’ve set up and exited the database and returned to the bash prompt time to download October CMS.
# wget http://octobercms.com/download
Now we need to move that download file to the proper location at /var/www/html
# mv download /var/www/html/ # cd /var/www/html/ # ls
Now it’s time to rename download to download.zip so it can be properly expanded.
# mv download download.zip # unzip download.zip
Listing the contents of /var/www/html should reveal a directory and two files.
We’ll need to remove both index.html and download.zip as they won’t be needed anymore.
# rm download.zip index.html
Next its time to move the contents of install-master into its parent folder /var/www/html/
# mv install-master/* /var/www/html
Next, let’s delete the almost empty install-master directory. There’s a .gitignore file still there so we’ll need to remove it first then the directory and list the results.
# cd install-master/ # rm .gitignore # cd .. # rmdir install-master/ # ls -a
Now that we’re done with the directory file setup it’s time to move on to file permissions.
If you’ve set up WordPress on Ubuntu before this will look familiar.
# chown -R www-data:www-data /var/www/html/ # chmod -R 755 /var/www/html/
The result of reloading your live host should display an index
Click on install.php and let’s begin the guided installation.
The System Check screen displays the following errors so we’ll need to address them one at a time. In short we need some additional modules.
- cURL PHP Extension is required
- Mbstring PHP Extension is required
- ZipArchive PHP Library is required
Once those three are installed Test connection to the installation server will correct itself 😀
Let’s search for those modules and note their names
# apt search cURL PHP # apt search Mbstring PHP # apt search Zip PHP
Those PHP module names should look similar to these. If you’re using a newer version of PHP the number may be 7.3 or higher. You’ll receive other results as well, read those descriptions closely.
Let’s install those PHP modules; say yes to any dependencies.
# apt install php7.2-curl # apt install php7.2-mbstring # apt install php7.2-zip
# a2enmod rewrite
Now we’ll need to restart Apache for those PHP modifications to work.
# systemctl restart apache2
Reload the browser and we’ve cleared the minimum requirements to run October CMS
Be sure to delete the installation files, the install.php script and the install_files directory and that readme.md file while you’re at it.
# rm -rf README.md install.php install_files/
Visit your new October CMS website!