Friday Review: Week 43
This has been a post-launch week, which has meant some time to recoup and reorganise. What I've been working on this week is Java and Easy Admin 3 and CMS:s. Let's start with Java.
I'm closing in on the end of the Java course that I'm taking. I have two tasks left: completing a simple bank transaction application, and a take-home examination. Currently I'm working on the bank application. While the coding part is pretty straightforward, the challenge comes in correctly documenting what I'm doing and why. I write some UML diagrams to describe what each Java class is and what they can do. I write down why I'm doing it one way and not another, as well as documenting any shortcomings of the approach. I can't write in too much of a detail how the code is and how I'm solving it, but I try to leverage the advantages that OOP gives.
Even though it has been maybe 2-3 years since last I did any Java before this course, it has been easy getting into the groove. What's been the most confusing is how the Java caretakers (Oracle) has switched up releases and licenses. Gone are apparently the days of relying on a particular version of Java for any longer stretches since security updates are only available to the latest release. Of course any LTS will get security updates given that a license fee is paid. Now, this doesn't affect a student that doesn't produce any production ready code. However, it has tainted my experience.
Easy Admin 3
I've launched three different Symfony applications by now. For each I've built my own custom admin interface. This site, a book review site, and Hum were all built with Symfony components and for each I built a custom admin interfaces. Easy Admin is a tool for Symfony that simply looks at the entities in a project and adds CRUD controllers for each as wanted. This exposes them to a dashboard for admin actions. What would take me perhaps 10 hours to build previously takes me one hour with Easy Admin 3.
A lot of building with Symfony and Easy Admin 3 can be done from the CLI. Since a lot of 'recipes' are already made I've encountered the limits of the actual processing speed of my simple laptop. For instance, installing the components for a Symfony web application takes me 4-5 minutes. Then I composer install a couple of components; like the bundle for Easy Admin and a Symfony profiler (debugger tool), which takes a couple of minutes too. In the grand scheme of things this is not long compared to the weeks it would take to write from scratch!
I've also come to enjoy that there's a text editor which comes with Easy Admin. This text editor is Trix. I've been writing a simple tutorial of setting up an asynchronous image upload for it. This tutorial will be publicised next week.
However, all isn't smooth with Trix! The editor comes with just one level of heading: H1. This means that there is no easy way to be semantically correct with any other heading. For the un-initiated, the semantically correct way is to have only one H1-tag on a page. Any other heading should be H2-H6. The way to do headings in Trix should therefore be that the first heading be marked as a Trix-heading, all other headings could be marked with either the HTML tags for the corresponding header or just simply bold.
Content Management Systems
Being fullstack with PHP under my belt, I've come to be curious of how CMS:s could make it easier for me to develop/deploy web applications. While Easy Admin makes a lot of things easy, a fully fledged CMS has a workflow that could be even more efficient. This week I've looked at a few CMS:s like WordPress, October CMS and Drupal. I think my next project is to build a site with one of these. I'm yet to decide which route to take.
This is all for week 43. It's Friday and I hope you all have a nice weekend!