TL;DR I’ve rebuilt the website from the ground up and changed focus.
It has been a while since my last post on this blog and, in general, since any real change to the website.
In this post I will tell you why and what I’m changing.
Problems
The work on the old website has become complex and tedious. There is no single corporate but here is a list of possible problems:
Why?
The original website didn’t have a real goal:
- It has been for a while a place for me to experiment with Concrete5 and experiment in general.
- It was an incomplete list of projects (it is much better to look at my GitHub Account).
- It was an outdated list of publications (it is much better to look at Google Scholar or DBLP)
- It was a partial and outdated CV (it is much better to look at LinkedIn)
- It was supposed to be multi-language, even though translating everything and keeping it synchronized was extremely time consuming.
How?
The original website was built with Concrete5, an amazing PHP based CMS (Content Management System) which I suggest you to try if you want to build something complex and simplify you life.
The problems with this approach were:
- I started the project with Concrete5 version 6 (a.k.a. 5.6), which was subsequently replaced from the completely rewritten version 7.
Given the fact that I’m not working on the website full-time and that, by design, there is no converter from version 6 to 7, I got stuck with an outdated version. - Using a server-side CMS requires maintenance.
Even if I was not actively adding content, I needed to keep pace with security patches and ordinary maintenance. - It was hosted on an entry level PHP Hosting from Netsons s.r.l.
While I’m really happy with the features to price ratio, the lack of SSL support on a server-side CMS was a security vulnerability. - It wasn’t using the majority of the features that the CMS and the Hosting were providing.
Solutions
In order to solve these problems and get the website back on track here are some changes.
New Workflow
The new website is no more based on Concrete5, but on Hexo:
A fast, simple & powerful blog framework
The advantages are:
- Hexo is a static website generator.
This removes the requirements for PHP and opens many new Hosting options. - I can write each post/page using the technology I think is best.
At the moment I’m using Markdown, but I will be able to change this decision on a per post/page basis. - I have a good excuse to experiment with new themes, the old one is “too complex” to port.
The source code of the website will be hosted on GitHub.
The code will be OpenSource (MIT Licence) and the content will be released under a Creative Commons license (CC BY 4.0).
The generated files will also be hosted and served by GitHub thanks to GitHub Pages.
While I will be able to develop and write content locally, the website will be automatically regenerated and kept in sync by Travis CI, which will trigger a CD (Continuous Deployment) workflow every time I will update the repository.
New Intentions
The new website will not try to do everything, but will focus on the blog, which was probably the most interesting part of the old website.
It will focus only on English content. Maintaining both English and Italian is time consuming and the majority of the feedback I got was related to English content.
The interesting old posts have already been ported and new ones will come soon.
My intention is to start releasing at least a new blog post every week.
Let’s see if I can do it.
Carlo Bernashina
2019-07-14