Breort’s library
A page about
Finally published
During a bit of 2021 and on-and-off during 2022 I was formulating thoughts about the next stage of my digital reading list and coding a little more control into it so access and editing of its data was through the Breort website and not directly through our web hosting provider and then phpMyAdmin direct database shenanigans; although, having said that, I have learned a bit more about SQL statements and direct database manipulation over the last few years!
The first version of my digital reading list – Books – had facilities to allow me to edit existing (and add new) records of the titles I wanted to, was reading and had read.
But, hold your breath, it was an open book(!) and, being honest, all of it not secure behind suitable barriers and its data very much freely accessible online to anyone with the skills necessary to access it.
Still, given I never mentioned it publicly (on or offline) what could have possibly gone wrong?!
Lessons learned
Throughout the years of version two of my digital reading list I was always (mostly!) considering adding a secure (as I could make it!) login system and editing area that would allow a bit more ease to the management of items. However, it wasn’t really a priority and direct database management was easier in the grand scheme of things.
Still, I had started to have ideas1 and make things about my (at the time) new potential avenues of doing stuff and Breort is the result of that. It is an attempt to bring a few things that matter to me together and a version three development arc of my digital reading list was a part of that journey: a means to focus and corral the few desk-bound trades I know and my somewhat minor, but semi-workable, PHP coding knowledge!
As I started the version three journey it soon became apparent to me – if only to better focus and fulfil ambitions – that I needed to move away from the legacy code of versions one and two and dare to push my online PHP investigative skills more and really learn some better practices.
After a few slightly roundabout and lacklustre days of being close to matching my logic and code intent with genuine and sensible findings by many others online in suitable forums and coding websites, I eventually struck gold.
The biggest step I made was to finally find a decent and clear example of working with an array in an array! When I got my attempt at it working it was a really helpful step to spur me on to all the other bits I wanted to sort out. Code became a little less onerous within my files and a bit more succinct for what it was doing and I was then able to steadily clean, and more effectively sort out, the detritus and intent of version two; at least version three would be a little cleaner, clearer and a tad more efficient in its workings after all my cutting, editing, sticking and futzing!
Nearly there
Once that initial sorting (I suppose of a kind of version 2.3.719 stage or something!) was settled and my coding peace of mind had returned with calmness also being reached after the ‘lost days’ of knowledge accrual (or lack thereof) it was onto the administration features I headed.
One modern-day convenience of real benefit was my web browser’s reading list function and after a few short sessions of an evening (or two) the pages of relevant coding insight and examples I had found proved to pay off. Following their workings and building a little confidence around my own knowledge and skills I was able to adapt and get the logic to fit my own intentions and ambitions with Breort’s library.

Logging in and then editing would work without me needing to separate and create more files for specific instances of content and user access. That approach was a neat little diversion (or even, adventure!) of me taking the original and very decent initial login work good people had created and moulding it slightly to fit in to my setup and adapt to the sort of all-in-one approach being sought.
If only I could actually get the kind of integral book data to write to the database.
The irony
Isn’t it funny when you’re so engrossed in something new and interesting, especially when it is paying dividends after a previously and slightly disordered, but slowly successful, process, that the skills you’re relying on as your foundations and the reason(s) you’ve given this something a go in the first place, seem to be forgotten? Well, that happened, probably somewhere around version 2.6.825...
Maybe it’s a known issue of being human but the obvious wasn’t in focus after I had made some real coding progress modding away at adding and editing items. Clearly I wasn’t focused despite thinking I was, having had plenty of sustaining breaks and supporting fluids and snacks when appropriate too!
Still, after working day’s end, food, rest and starting a new day, the obvious hit home and the simplicity of it all added to its comedy and getting the task completed.
In conclusion
Well, after all my efforts and intentions with creating and actually getting a version three of my digital reading list working, it happened.
I’d probably reached a version 2.8.795 and was just faffing around with tweaks of tweaks and more attempts to clean up and sort (even sometimes understand!) the commented code and reasons for it still being left hanging around, unused! But, at this late stage of version numbers and the efforts I’d already taken to reach this stage, I just started a semi-structured just-delete-it-if-it’s-commented-out-and-too-bad-as-life’s-short-and-you’ve-archived-enough-stages-over-the-past-few-weeks-anyway approach.
Within a day or so of reaching project completion and the live version actually working smoothly and as I had pretty much intended and planned back in late-summer 2022 I had deleted the archive of my coding ‘progress’ of putting Breort’s library together; it is handy though to keep hold of (coding) progress during a project!
I have learned a few more things about PHP, am grateful to the many who have talked/written similar questions and answers on the websites I travelled to and, hopefully I think, learned a few more personal tactics to pace myself better and manage my efforts as effectively as I can.
In my own humble opinion too, it – the front-end viewers (and readers) see – looks pretty clean, clear and accessible with even a few tricks with its CSS to appease my approaches to good layout, typography, accessibility and clarity through clear intent; rather than trying to show everything at once just because technically you can and maybe even should, as others do it like that don’t they, so it’s best to fit in with the school playground, sorry, corporate world, right?
No, simplicity makes a point, not technical trends sold as convenience.
So, job done; that’ll do.