The History Of This Site

Part of the reason for setting this website up is to learn new skills and technologies.

With that in mind I aim to briefly document the progress.

No matching entries found

2024

Added various draft pages to the projects section. They've all been completed - I just need to publish in a repo or show example code. Articles to be updated...

History page update

Have taken a first pass at building a Projects page to replace this old holding page. The new page has a sidebar with filtering capabilities and articles that are rendered from Markdown documents; this makes it pretty simple to create content!

Added draft Project pages for the Website Deployment GitHub Action and also using IaC to build the Website using K8S on Azure or AWS.

Still need to update these 'Projects' page style and update the Projects landing page; it's in backlog...

Created an initial page template for the Projects section that renders from Markdown files. I need to tweak the style a little but it's okay for a first pass.

Tested this page out by porting an old draft HTML version about how I built the Contact Form page into this newformat.

Updated Google Analytics to version 4 as the old one was depricated and not collecting data.

Fixed the Github Action to sync files to buckets by adding a loop and changing to Copy. I have made a copy of it in a public Rope and published on the Marketplace in case anyone else finds it useful; it can be found here -> https://github.com/jacarty/github-action-s3-and-cloudfront.

At this point I've completed all the website updates I had in backlog and will focus on some of the planned Projects.

History page update

Updated the history page to a new style and added search functionality that filters the updates.

Also added a CSS image placement style to the page for these updates so that I can easily show older versions of the pages. I added lightbox functionality too so that they are be made larger on click (example to the right).

Lastly, I created this new JS outside or the custom.js file and split out the Search, Return to Top and Footer into their own JS files for better visibility in the HTML code.

Fip Box Update

Changed the main page to use flip boxes rather than link to the old Tools page which largely showed the same.

The prior work to update Bootstrap to version 4 was required to add the flip box functionality.

I've moved away from Jenkins for automated deployments and have instead decided to use Github Actions.

Created a Github action for the repo to connect to AWS via OIDC, upload changed files into the S3 website bucket and then Invalidate old versions in CloudFront.

Updated History page header section to include graphic, and also corresponding Style.css file.

Updated other pages for Bootstrap 4. Fixed some Navbar HREF jump-to issues after updating Bootstrap. Also split out header and footer for simplicity of updating moving forward.

Updated Bootstrap to version 4 as I want to change style elements. Main page HTML updated. Other pages Nav updated.

Updated jquery to version 3.x as old version had known CVE.

Updated the footer to reflect the new year.

2022

Updated the footer to reflect the new year.

2021

Life & work has again resulted in me not doing much with this site in a while! Finally got around to updating the AWS Lambda function that powers the Contact Form to Python v3.9 - AWS has depricated v2.7 back in July! A few libraries had changed so wasn't the easiest of tasks given I'm quite rusty...

Also updated the homepage content to reflect my current role and focus within Cisco.

2019

Colour Update

Life & work has resulted in me not doing much with this site in a while! Updated the picture on the main page to add a little bit of colour for 2019 - took some head scratching and googling to work out how to use basic Adobe Illustrator functions. Also changed the copyright date on pages.

2017

Changed the Ajax code to stop the form resetting under certain circumstances.

Added the site to Google search and index. Also modified the contact form return field to appear above the reCaptcha box.

Added server-side verification to the Google reCaptcha button on the contact form. This meant changing the configuration of the Jquery function and JSON output, modifying the AWS API Gateway configuration, and most importantly adding functionality to the AWS Lambda Python function so it can call the Google API and verify the user response.

Also updated the bootstrap configuration to 3.3.7 to keep it on current release.

It's been a while since I've made any progress here as life/work has been busy and taken up my focus... I'm learning to code in Python so I have recreated the Lambda contact form fuction in Python 2.7 (was node.js). I have also migrated the Lambda function to the London region (EU-West-2) and reployed the API Gateway in London too.

Also updated the footer across all pages to include 2017 and, updated the tools page to include Python.

2016

Migrated the website content to the new AWS London region simply because I could. Turned out to be more effort than I planned but hey, it worked. Essentially had to recreate the buckets as I wanted to retain the names, update Route53 for test and modified some CloudFront elements.

Updated home page to reflect new role at Cisco.

Updated the header, foooter and menu-bar links to be relative to root path so that subdirectories can be used.

Updated some text on the index and verified IPV6 connectivity.

Added AAAA record for the alias in Route53 and IPV6 enabled the CloudFront distribution in anticipation of Route53 supporting IPV6.

Decided to use Jenkins to provide automated deployment so I created a dev branch in my local git repository, and updated my AWS S3 scripts to sync the local directory with the bucket (including exclusions) rather than copy-up explicit files. Installed Jenkins and configured it to deploy the test and production websites from the local git branches based on SCM poll.

To improve the contact form I added Google reCAPTHCA functionality and set client-side validation prior to API Gateway/Lambda submission. Also updated the example GitHub code to reflect this new feature.

Added the return to top button to core pages to improve mobile experience.

Updated the Tools page and verified in the test domain before releasing to live.

Removed some ScrollReveal functionality from a few sections.

Created a subdomain bucket in S3 and also a new DNS zone in Route 53 for website release testing purposes.

Updated the homepage and website footer with a link to my new GitHub location. Created a repository in GitHub to demonstrate code for how the Contact Form was created. Project page to follow...

Decided it's time to implement official version control now rather than just making file copies and appending dates. I've decided to use Git so am completing the Udacity 'How to use Git and GitHub course' in an attempt to implement it properly. Created a local repository and made a baseline commit for the website in it's current state.

Created a SSL certificate and enabled with the use of CloudFront.

Updated the learning section on the main page. It's now column based with additional content, a snapshot view of the old version can be found here, it was a pretty basic content placeholder...

Created the placeholder projects page and updated the NavBar across the site.

Enabled Google Analytics for the site.

Updated the CSS colour scheme slightly and added the Site Tools page; updated all other pages to account for Navbar update.

Updated the contact form Jquery/AJAX code to clear the form after submission, and also pass back the success/failure status to the HTML page.

Configured email hosting on the domain registrar (it's free) and created Route 53 MX records to point to the email server. This is in part so I can create a website certificate and move to HTTPS connections.

The contact form now works!

I'm utilising the AWS API Gateway and AWS Lambda services to avoid maintaing servers - it took some tinkering over the last week to get this going... I now need to change the code to clear the form after submission and return a status message. I will write this one up on a standalone project page at some point as it was quite complicated (for me at least) to enable.

Migrated DNS Name Servers from the registrar to AWS Route 53.

Fixed NavBar Collapse on Mobile when clicking anchor links.

Updated ScrollReveal & Jquery as new versions were needed for scroll.

Rewrote scroll scripts to be 3.x compliant and fixed resultant page layout issues.

Fixed the James Carty header button to direct to home.

Updated Font-Awesome pack to provide email logo.

Added drop down menu-items for About and Projects; added this page to track history.

Initial website built in an afternoon website using HTML / CSS template. Hosted on AWS using the S3 and Route53 services. The contact form isn't working due to S3 static content limitation... I knew this in advance but wanted to get the site up Minimum Viable Product (MVP) fashion.

In terms of S3 features I'm using Reduced Redundancy, with AES-256 server-side-encryption and logging enabled.

To enable contact/email I'm considering migrating to active content or JavaScript/AWS API integration. I'd prefer to keep it Serverless with the latter.