Hello again, the last week was a pretty solid one, with over 28,000 changed lines of code, although that number is inflated through the removal of some very large unused files.
On the FTML side, several new changes and features were added to continue bringing the software closer to feature parity with the reference parsing and rendering. The details get into the weeds a bit, but things like rules that require being on their own line have been adjusted to work more cleanly, making future development easier.
On the PHP side, the work that I mentioned last week for user login and registration was pulled in to the codebase. This is a significant step in replacing legacy code as it lays out a number of useful new internal features, and gives us a framework for authorization actions.
For infrastructure, some significant work was done in enabling the Datadog monitoring platform to better serve us. This is taking the form of enabling logs from the servers to be captured by Datadog, and setting up some preliminary monitors like checking if the site is up. Over time and with sufficient traffic, this lets you do things like proactively find issues before they turn into real problem by detecting things like an increase in slowness for the slowest 1% of users.
Looking forward, FTML is getting closer to taking on some very large tasks like the addition of the [[include]]
block.
On Infrastructure, I’ve accomplished a number of improvements already to improve security and reduce costs. The big thing still to go is changing how the servers are deployed. Right now, they exist as separate virtual services (containers) on a single server. This is useful because all the services can talk to each other very easily. However, this was never the way we were going to have the production environment run, so I’m going to go forward with making changes that break each of these services out into their own little groups of machines. When you make this change, you set yourself up for doing things like increasing the number of servers automatically during times of high traffic, and bring them back down automatically. (This also allows, if the circumstances suggest doing so, moving the workload to Kubernetes more easily than the current setup.)
On PHP, I want to add the testing we’re doing to our test coverage suite to ensure that the work we do is properly tested, and to track how much of the codebase is tested at that point in time. Once that’s done, I’m going to see what I can do to replace some of the stuff currently in the user account settings with new code to adjust the relevant things.
We’ll see you next week.