Development Process and Challenges Faced
Similar to other clients, the Lake Champlain Basin Program had outgrown its original shared hosting environment, so during the development of the most recent version, I helped the client migrate to a new WordPress oriented web host. The new web host is specifically tooled to make WordPress websites run great. To do this, I cloned the website over to the new host and ensured I corrected any conflicts with plugins and the theme, and then from there, I cloned the website to my local development environment. I would periodically push the latest version of the local development version to the web hosts online development version for the client to review. I also used Git version control software to keep track of daily code changes in the repos for the base WordPress theme as well as each of the custom WordPress plugins being developed for the site.
Since I was still fairly new to the React development environment, it was a learning experience when I was creating custom Gutenberg blocks for the new website. For more simple presentational blocks, the native React based blocks would work well, but if dynamic data was needed within the bocks themselves, I used the PHP based Advanced Custom Fields oriented block solution.
I developed a fully reusable dynamic sidebar widget system for the website using native custom post types and unique data fields for each widget type. The widgets could be included in sidebars on both pages, posts and other types of content. The single widget repository in the backend made updating the widget content in all locations the widget was used, a snap.
When the new version of the website was in a near final state, I pushed the development version up to the web hosts staging environment for the client to start working on the content. Development continued on the local and online dev environments. When the content on the staging environment was ready for launch, I did a final merge of the theme and plugin files into the staging environment, then I pushed the staging to production and the site was launched.