My new Website is online! It’s still not completely done (it never will be), but it was time to bring it online. What’s missing? Some course descriptions need to be updated, some courses need to be added, localization needs to be enhanced and fixed in some places, but it’s ONLINE!
This blog article explains the way to this new site, the technologies used behind the scenes, and the content.
What’s in there?
The Website gives information about my services offered. It shows trainings, services, books, links to my blog and contains a tweet feed. A lot of this information is dynamically coming from a database. Updating training information or books doesn’t mean republishing this site, I just need to do some updates in a SQL Database running on Azure.
Through the Years
I started my company when .NET was available – in the year 2003. My original Website was based on ASP.NET Web Forms. Here’s the look of the Website at that time:
In 2003 I hosted the Website with a provider offering new, modern server technology – which was Windows Server 2003 at that time. 10 years later, the provider still had Windows Server 2003. For me it didn’t last that long, I switched hosting with Microsoft Azure earlier.
Some years ago I changed the technology from ASP.NET Web Forms to ASP.NET MVC. This was a task of just a single day, because with the first version I didn’t use data access controls directly from the ASPX pages, but instead I already had my business- and data-access components. I could reuse these types directly from ASP.NET MVC.
After the foundation was changed, I also changed the look of the site. This is the look from the year 2010:
And a new look again in 2011:
And now it changed again – both the foundation as well as the look.
Of course with this new Website now I’m using ASP.NET Core.
How was the change to ASP.NET Core? The functionality of the Website allowed for easy changes as well. I’m sure it was not a complete day needed to change the implementation. However, this time I also changed the look completely. This required more than a day work. Changing the UI would require the same amount of time – no matter if I would stay on ASP.NET 4.x or more to ASP.NET Core.
With the functionality, my services are now injected in the controller with Microsoft.Extensions.DependencyInjection.
Entity Framework Core
It wouldn’t have been necessary to change from Entity Framework to Entity Framework Core. I did the change. The model of the Website is not really complex, so the change was smooth as well, and the time needed with the change was already included in the one day. With this change I could run my Website on Linux systems as well.
The course descriptions previously have been stored in the database using HTML code. This changed. Now, the course description is stored in the Markdown format. This gives me the possibility for an easier change and update of course information. I’m already writing my Blog and other stuff with Markdown.
Professional C# 6 and .NET Core 1.0 was written with Microsoft Word, and the next edtion will use Microsoft Word as well.
The description of my books is still stored with HTML code. Currently the book descriptions are still the old ones from the previous Website. The database for the old and the new site is the same. I’ll update the book descriptions as well using Markdown.
To convert Markdown to HTML I’m using the Markdig NuGet package from ASP.NET Core.
My previous Website was not mobile friendly. What a mess in the time we’re living! This needed to change. I always explained my course attendees how to do this, helped customers with consulting and coaching to create mobile friendly Websites and applications, but my own site wasn’t mobile friendly. Now it is. Of course I’m using Bootstrap. I also bought a template from wrapbootstrap.
The most time needed to build the new Website was the adaption of the template to change it for using a shared layout, partial pages, building up views dynamically by accessing trainings and books from the database, changing the contact form to not use PHP (which was included in the template)…
The Website is hosted as App Service in Microsoft Azure, I’m using Application Insights, trainings and book descriptions are stored in s Azure SQL database, pictures are coming from Azure Blob Storage…
Content will be enhanced ongoing, and also functionality added.
How do you like the site?
Have fun with programming and learning!