Brian Feeney

Site Design v9

Here's a new site redesign. Did this one pretty quick, just to install a new instance of Craft, updated from version 2 to version 3. I had tried to do this a couple years ago, but I kept failing to get Craft 3 to work locally. While I'm a competent front-end developer, I struggle with a lot of the CLI installations and understanding what dependencies are required and how they work. I'm missing some basic, modern development lessons in my self-education. I take pride in that my website is designed, developed, and installed by myself. The installation part is a massive headache, though. Literally, this time. I've had a migraine the last three days.

This design is intended to put the photo blog front and center. It's the center piece to my entire website, and will likely always be. Part of me wants my site to be only a photo blog, but I still want my writing and portfolio to be somewhere discoverable. So the photos are right there at the top, everything else below. I have some ideas on how to better present the writing, and I want to add some kind of section on the index page promoting my portfolio of work. I need to design and put up an about page.

This version of my site is the first which includes a lot of flex-box and grid css. I hadn't yet really played with these no-longer-very-new additions to styling. Especially when it comes to page layout. I've used a jquery script called Color Thief to grab dominant colors from my photos to add varying palettes to pages and sections. (They're mostly accessible in contrast, but not 100%. I plan to work on that, soon.) Next is even more accessibility work. I'm proud to prioritize a11y practices in my day job as a designer. It's time I learn how to put them into practice as a developer.

While it only took me a couple weeks to design and develop this site locally, it took me equally long to get it working on my public server. Every time I do this, I get hung up on web roots, domains, and .htaccess files. Every. Damn. Time. There doesn't seem to be single good resource online to explain it. Maybe because it's supposedly simple? Basic? Self-explanatory? Well, it isn't. Something about the entire process is completely impossible for me to understand.

If you're installing a Craft 3 instance and having trouble, here are a few things which I needed to do to get it working. First, the default folder structure for Craft worked locally for me, but it had to be rearranged on my host server according to this article in order to load. I cannot explain why. The next issue was that while I could confirm my database was set to use php 7.3.11, it took me hours to discover that my server was actually set to a php 5.something. I didn't know that was possible. After that, the site loaded. Woo! The public facing part of the site was finally working, fully navigable. But I couldn't log into the admin page. By all appearences the issue was my credentials, that the admin/password was wrong, or that maybe it wasn't connecting to the database? But the database was recording my failed login attempts, so it wasn't a db connection issue. Turns out I needed this line of code

requireUserAgentAndIpForSession' => false,

added to the general.php file. But I lost a day because I had placed the line in the wrong place; it goes in the Environment section of the code, not the General Settings. Oops, again. I'm so bad at this.

But that was it! The site is up, and it's working, and I'm able to post. A huge thank you to Brad and Oli at Craft for their assistance. They were extremely patient with me and my idiocy with these sysadmin issues. I really should just hire someone to do this part of the job for me, but I'm stubborn. I demand to do it myself, like a jerk.

There's another redesign coming. Could you guess? One of the reasons I'm excited to have my site on Craft 3, now, is that it can work as a headless CMS with an API. This means I can build my next site with Vue.js, which I've wanted to do for a long while. The kind of UX and navigation I've long imagined for my site is only possible if I can applify it, which now I can do. I have a fair amount of lite experience with the Ember and React frameworks, but getting something like that up and running myself will be a challenge. I'm excited to learn something new and stretch my skills a bit. My hope is that it doesn't take more than six months to get v10 online. So let's see if I can do it.

Update (8/11/2020): I launched v10.

August 05, 2020