I get my domain sorted, I start work on the front end and I fix up my workflow.
When I first started building, if a site I'd worked on went live, I'd do what I should imagine we all do - call my mum! You know, just to say, look what I did! Thing is, she'd respond with something along the lines of 'Well done! It looks great!' While I love a bit of praise it would pain me some because I'd then have to say, 'Well, no. That's not me.' Everything I generally do is the stuff you won't see.
The reason I say all this here is because these last few days have been really busy. I've worked on a handful of things here in this project but most of it is stuff you can't see. And as I worked it occurred to me that actually, that's going to be a common theme.
Thank goodness then that I have this blog so I can tell you, with my words, what's going on under the hood here and what I've been up to. And until I get this project onto GitHub (on the to do list already) you'll just have to take my word for it.
The first thing I wanted to do was set up a development environment. I'd meant to do that at the start but hadn't because I wasn't sure if the extra environment was included in my project as an MVP perk. As it was, I added the environment and then set about trying to work out how I was to get my local repo to push to my dev, rather than my live as it was currently doing. At work, we use AppVeyor so I knew there was a config file somewhere about the place but I didn't know what to look for and couldn't think of the right terms to use to search - so much of this job involves working out what it is we need to google.
I figured I'd come back to that and started trying to get the Dev environment to sync with Live but encountered problems in the shape of a Schema mismatch. What I thought might fix that was to start deleting content and DocTypes from the dev set up. No. Obviously, that didn't work.
It was at this point I jumped on Slack and spoke to Nik, who kindly talked me through what to do next. Delete the environment, set up another, clone my local from said dev environment, make sure I have everything and then kill the original local. It seemed obvious when he put it that way but I was so confused about how these three environments even talk to each other that I didn't get there on my own.
Once I had, I looked at the commits in my source control (GitKraken mostly but SourceTree for when things get a bit funky, more on that in another post) and saw that config file I wanted in the first place!
You'll need to take my word for it when I tell you that the front end code here isn't pretty. I got my FE from StartBootstrap, it being a place I'd picked up free templates before. One of the things you tend to get with these front ends though is that you get so much more than you need. Scripts are being called that aren't being used, the main css file is mahoosive in case I want to switch themes (I don't) and it's got it's own means on minification going on in there too.
Having used the starter kit, I've also got all that going on too. I have a massive front end here (chuckle) and I need to do something about it. So I've started stripping things out. Slowly. I've thrown my scripts and my stylesheets into partials, nested the templates into a master and began to look into what kind of client dependency I'm going to use to make the front end nice and fast.
Nik suggested I take a look at Shannon Deminick's Smidge, which I duly have. That's gone onto the to do list!
Finally, I got around to getting a domain name. I'd been putting this off for a couple of reasons. One, I hadn't budgeted for the cost and as cheap as it is, it still had to wait. The second reason was based on my having a hard time doing it the last time.
But that was aaaages ago! And by now I understand more technical language and I'm generally more experienced. Right? Wrong.
First step was easy enough. I bought a domain from Namecheap.com and set about assigning that domain in the cloud dashboard and on my root node. Naively, I then hit up the url just in case that was it. Of course, it wasn't.
But even then, I followed the steps without actually understanding very much of it. This time began with me staring and staring at the sentence:
"Before adding a hostname, update your DNS host or domain registrar DNS entries to resolve to umbraco.io. We recommend setting a CNAME record for your site's root domain emmas-broad-minded-sloth.s1.umbraco.io"
And thinking "BUT WHAT DOES THAT EVEN MEAN???"
Googling this brings up some things about A Records, and after a spell I realise that nothing on the internet wants to dumb this down enough for me to grasp what it is they're asking me to do. But it's ok! I have Slack and a community of people who know the things I don't.
I knew that Owain had recently launched his own Umbraco Cloud site so I got in touch with him and he kindly walked me through what to do:
- Get into the DNS management section of my Domain provider.
- Update my CNAME record to a combination of my chosen domain and Umbraco.io (so in my case, thedevelopingdev.s1.umbraco.io)
- Find the IP for my server - Owain recommended these people at Site24x7
- Enter that IP address into the A Record!
And that was it! I know that a DNS update can take up to 48 hours to resolve but I hit up the Url anyway and Hey Presto! It works!
Now that I'm up and running, I should probably call my mum and tell her to have a look.