This was a fun week! Started the week off with two days working on the big project for Zao, and then some retainer work for the next two days, before finishing up the week on the Zao project. It was nice to be doing less context-switching than usual, as I dove into projects for whole days at a time.
Working with WP-CLI, Github Pull Requests, and WordPress Unit Tests
As the week started, I was feeling apprehensive about my responsibilities on this project for Zao and how structured everything is. I was assigned a ticket to work on with another one queued up for when that was completed. My first task was setting up the taxonomies for our custom post types and along with that some WordPress PHP Unit Tests that confirm the set up was successful. I’ve used some testing packages on Laravel projects before but never on WordPress sites, and it was really easy to create tests that make sure the WordPress taxonomies existed and had the particular configuration options that met the requirements of the site. Having the ability to “check your work” with one command that runs a test is awesome, and it becomes even more handy as the sites codebase grows and evolves over time. As the project changes, those tests can be run to make sure all the old code from earlier in the project still does what it needs to do.
Once I had things working on my local Lando dev site, I had to push my changes to a staging site at Pantheon for further testing and then prepared a Pull Request. Submitting my first Pull Request on GitHub felt like when I took Photography in college, and we would present our prints for the class to review and offer constructive feedback. Putting my work out there is something I have avoided pretty well over the years, and it made this event seem scarier than it actually was. Thankfully, the team I am a part of for this project is super helpful, friendly, and are all working together for us to build a great product. After getting some valuable feedback on my first ticket and doing some improvements, that ticket moved into acceptance testing for someone else to validate my work by following a set of steps that were planned out from the beginning of the tasks. Once the code has passed that test, it waits to be merged into the main version control branch.
If you have never heard of WP-CLI or used it before then it may sound like a silly idea. It provides developers with a command line interface (similar to old MS-DOS prompts or a terminal on MacOS/Linux) for making changes to WordPress. I can do cool things like adding plugins to WordPress, changing WordPress settings, managing users, editing content, importing posts, and so much more. Working with the command line takes a fraction of the time it would take to do the same task using the WordPress admin in the browser. In this case, I was creating a custom command that could import a WordPress WXR file into the local development site. With one command we can import hundreds of posts and taxonomies, a real timesaver for developers.
ClickUp is doing something cool
A few weeks ago, I saw the project management tool ClickUp mentioned on The Profit and had to check it out. As someone who has used a dozen project management tools and spent hours researching dozens of others, it was nice to see a new tool show up that could offer a different take on the saturated project management concept.
This week I took the time to move my Kanban style tasks from Trello to ClickUp (using their handy import tool) and shifting my old Todoist tasks lists over as well. I still need to bring over my projects from TeamworkPM, but that transition is a little more complex since I have some clients set up in there and want to make the transition as seamless as possible. It’s going to be awesome to have my daily planning, household chores, and client projects all in one unified place, and I’m even going to save money because TeamworkPM is significantly more expensive than ClickUp. ClickUp has mobile apps, browser extensions, and can even work with Google Home and Alexa.
Wrapping up
I was also able to do a bunch of miscellaneous fixes for Teach For Canada and some improvements to Practical Ecommerce. I’ve been trying to improve my efficiency so that I spend less time between projects (on a particular day) and jump into my projects when I start my day, instead of wasting too much time on social media, fantasy sports “research”, and procrastination. With this being a very full month, I really have no choice but tighten up my work hours to hit the hour commitments I have made. Thanks for reading!