Week ending February 1st, 2019

This week I was supposed to focus mainly on learning React, in preparation for the Zao project starting next week, but as anyone could have foreseen, client revisions and retainer obligations cut into some of that time. It wasn’t all bad news; projects got finished, retainer contract goals were met, and clients were happy.


Following last week’s issue that came up with ISS of BC, the path forward was unclear, but I needed to figure out a way to get the students’ online english assessment answers when sending the notification emails to the student and the admin.

As it turns out, I was able to remove the emails from the default notification timing (as soon as the quiz is submitted and before scores are saved to the database) to instead happen after the quiz is scored, using the sensei_user_quiz_submitted hook. It took a bit of adjusting since the other notification hooks sensei_user_quiz_grade and sensei_course_status_updated didn’t have the same matching variables as the new hook, but I got it to work and because this site only has one Sensei course I wasn’t worried about messing up emails for other courses by changing something very central to the course processing.

Practical Ecommerce and Qpractice retainer clients

This week we adjusted the footer of all articles to have new links to Previous and Next posts (based on publish date of the posts). Also updated a bunch of plugins, made tweaks to styling that were needed because of plugin updates, and removed some plugins we really didn’t need anymore.

For Qpractice this week there were some minor styling tweaks that needed to be completed and plugin updates to be done. I tested the plugin updates on staging, then I backed up the live site and perform updates to non-critical plugins. For the critical plugin updates Qpractice uses an overseas contractor who performs the updates during the middle of the night in North America, to minimize potential downtime if something goes wrong.

The exciting new project

On Wednesday I had a kickoff call with Justin Sainton and Liz Karaffa from Zao to go over the structure, process, and organization to prepare for the project starting next week. I came out of the meeting feeling excited and slightly scared because this project is the best organized and probably most well thought-out project I have worked on in quite a while. The majority of projects I am involved with no one else ever sees my code, documents the processes, or tracks the projects pulse daily. For the next month I will be doing my best to keep up with all the action, learn new things, build great habits into my process, and hopefully ship clean code.

During the kickoff call, we chatted about the local development process this project uses. For the first time I am trying out Lando and using Pantheon hosting. I had never even heard of Lando before but knew Pantheon existed and was leader in the WordPress and Drupal hosting space. I usually use Local by Flywheel for WordPress development and Homestead for Laravel, but for this job the Lando integration with Pantheon seemed like a perfect fit. Lando makes it super easy to make sure everyone has the same local development environment and makes it unbelievably easy for developers to have a proper staging site for collaboratively testing new GIT branches. Each developer can be working on a different feature of the website and have a unique url for testing that feature before the code is merged back into the main branch.

Setting up Lando was very quick and easy on Mac OS; the only tricky part was figuring out the exact credentials for connecting to the Lando MySQL server from my Sequel Pro desktop application.

Getting my learning on

In the past I have watched some Laracasts on React but they are a little too outdated, so I signed up for React for beginners from Wes Bos. I’ve worked through some other materials from Wes Bos and knew React for beginners would be awesome. He continues to update the course as needed, and the videos I’ve completed already provide me with a good start to React familiarity. I love working with Vue.js, but WordPress decided that React was going to be used in the new Gutenberg block editor, so it was inevitable that I would need to learn it. If Angular is the Pepsi of colas and Vue.js is the RC Cola of colas then React is the Coca-Cola of colas. React is a JavaScript library started by Facebook that makes it easy to build interactive website components and applications. It is extremely popular, well-documented, and well supported by the community. Over the next month I expect to learn a ton more about React and building custom Gutenberg blocks for WordPress.

Wrapping up

I am hoping to hit the ground jogging next week, keeping all my projects moving forward, and clients happy. For the short term, I won’t be taking on any more new projects because things are going to be busy enough already.

The complete Work Journal series:
1. Week ending January 25th, 2019
2. Week ending February 1st, 2019
3. Week ending February 8th, 2019
4. Week ending February 15th, 2019
5. Week ending February 22nd, 2019
6. Week ending March 1st, 2019
7. Week ending March 8th, 2019
8. Week ending March 15th, 2019
9. Week ending March 22nd, 2019
10. Week ending March 29nd, 2019
11. Week ending April 5th, 2019
12. Week ending April 12th, 2019
13. Week ending April 19th, 2019
14. Week ending August 9th, 2019
15. Week ending September 20th, 2019
16. Week ending September 27th, 2019
17. Week ending December 6th, 2019
18. Week ending October 2nd, 2020
19. Week ending April 2nd, 2021
20. Coding API integrations in Twilio Studio - Work Journal May 8, 2021
21. Trudging through a complex theme implementation - Work Journal October 29, 2021
22. Creating custom Duda widgets - Work Journal December 10, 2021
23. My first Laravel Nova project - Work Journal December 1, 2023
24. Let's talk about Statamic - Work Journal January 12, 2024