DCP Portal and ttCMS were two projects that I actively developed. Both shared #1 top prize in CMS/Portal shoot out for its day.
I long ago abandoned both ... quite frankly, the feature bloat driving that segment was getting out of hand and I didn't want to participate.
Over the years, I continued to use DCP Portal in customer projects - with some modifications, particularly to security and reduced feature sets.
The need these days is far more modest. I just want a tool to generate basic websites and blogs.
Rather than reinvent the wheel, I decided to look around for existing modest blog or CMS packages. I found one several years ago that was authored in 2013. No license, the project abandoned, and the author unknown. It looked interesting ... I liked the database backend and how it was abstracted. Sure, all the code was dated, the database was no longer supported ... but all those things can be easily fixed.
In looking to avoid reinventing the wheel, I reinvented the wheel. The first thing was to fix the database. It's still abstracted, but now supports MySQLi. The next was to add fields to the tables to support approvals of posts, comments, and users. I don't intend to have any users other than the admin, but it's still nice to have (just in case).
The next was to modify the password coding. The password encryption used in this package is the basic default of MD5. That's not so secure anymore, plus I've been toying around with a 256-bit hashing system. Along with PHP version 7.3, password_hash now supports a new hashing algorithm that seems secure for the foreseeable future. What I don't like about it is that the verification data is in the hash. So, I've come up with a technique to do an algorithm that breaks down the password into several pieces and hash the pieces into seperate modules, with the hash header(s) removed. Validation is quite complicated, but surprisingly fast. Slightly slower than MD5, but far more secure.
Two functions, one to create the hash, the second to validate the hash with given password. The hash is stored in the table, which required a size change. That is now a varchar(255) ... and that's to allow for future upgrades.
Will I release this new CMS / Blog system? I doubt it, but you never know.
PS. the new CMS / Blog system is based on PHP 8.1 and uses a custom version of Bulma CSS with two plasticneko templates (Neko and Article).
One of the major features I was looking for was a good quality WYSIWYG editor with the ability to add pictures (and resize, move around) from local computer. I finally selected Summernote Lite that stores the pictures as base64 "blobs" with the text – I also wanted an editor that supported the current CSS structure I was using in a given project. Summernote is designed to be used with Bootstrap CSS framework ... I don't use that. Fortunately, some enterprising soul created a version (Summernote Lite) that does not rely on Bootstrap, so I can use it with my Bulma CSS framework projects. I did have to modify the Summernote Lite javascript and css files ... they are a bit dated, but now work the way I need them to.