Mission complete, was able to update all of my library code to PHP 8.0. Not to soon and 8.1 will be out, but at least I can work on upgrading the Apps to use PHP 8.0. Once that happens it will be easier to update to PHP 8.1. In the process there are few new things I am trying out. Added a couple newish tools to my PHP code checks. The first is PHP Metric, which is a lot like PDepend with more data. It also has a violations page which helps pick out packages that are not living up to standards and gives you some general reasons why. I found it quiet useful when I refactored a few of the libraries to reduce or eliminate those violations. The other that was fairly new to me is PHP Stan, it is similar to the PHP Metric in it checks code, but more like PHP Mess Detector but checks more things. I also standardized my build scripts to have the same tools across the projects.
Part of the upgrading I did a bit more with Docker. I simplified the Docker files that I had and standardized them across the projects. There are now two docker files in each project. A dev one that I can use to work on the project to have a standard environment to work in, which makes things simpler. The other is a build image that is very similar to the dev image, but I use volumes and a cmd to run the Ant script. While running Jenkins I needed the volume to update the workspace and keep some files around for Jenkins to pick up. I also had to match the image user UID and GID to the main server versions, otherwise it was having issues. Setting up Jenkins was a pain in the butt, too. Some the Jenkins Docker plugins are incomplete, I kept trying to use one and was having some weird permissions issues. I ended up using the execute shell to run the containers. All is good in the end though, did get everything working. I am hoping sometime soon, to post an article about what I have learned.
SEO is still not where I need it. I did fix the Dynaballot errors that I was getting from Arhref. So know everything has a 100% Health Score. Looking at the search consoles they are still not picking up any of my keywords that I have set. Though I am not sure that I am setting them properly. I have seen a few hits to some pieces of WhereAreGames that indicate someone is at least loading it completely, still not sure of use. I am looking at some self-hosted analytics that can get more client side data to get a better picture of how the app is being used. A lot what I see with AWStats is bots hitting the site, mostly trying to exploit it. Numbers seem pretty consistent for number of hits, higher than they were earlier this year. So some improvement.
This month's plan is to update the Dynaballot app to PHP 8 and make use of some of the library refactoring that I have done. There was some big changes in some of my libraries so is going to be a big task to get the App upgraded. I might also try and make some other improvements while I am working on it.