Dave, and all
Please excuse top-posting. But I have an excuse :)
Dave, I refer the honourable gentleman to the show I did about
many-to-many relationships some years ago, in response to that nice Mr
Fallon's shocking approach to tags. Mr Codd was spinning in his grave.
I would not call SQLite a database fit for heavy use. It is fine, very
fine in fact, as a single-user database, especially in embedded stuff.
All of us probably carry at least one around in our pocket all day long.]
But for concurrent access by multiple Web visitors, we really need a
transactional database.
PostgreSQL is, IMHO, superior now to MySQL/MariaDB.
You might also consider MongoDB. Oh no, hang on, let's not let Ken
Fallon loose on a database that does not demand any structure to speak
of. That way madness lies.
I have used the Nikola static site generator extensively and can
recommend it.
The P in LAMP used to stand for Perl, and not PHP. And it still does in
my world.
Mike
On 27/06/2022 14:10, Dave Morriss via Hpr wrote:
On 25/06/2022 15:16, Ken Fallon wrote:
Hi All,
I had a conversation with Alan Pope on mastodon about fixing some
issues on the HPR website. He makes the valid point that if we don't
release the code (because it's a mess), then it's not actually open
source.
https://mastodon.social/@popey/108476716097169705
Cruel but fair. Cruel but fair.
I contend that it would be crueler to release the current code due to
the risk of eye damage that could occur.
So how to proceed ? I suggest we eliminate the problem by eliminating
the code.
My intention has always been to have a massively multiplayer online
mirroring service where anyone can have a complete instance of
everything. With a combination of git, and rsync anyone would have
everything needed to host their own complete version of the site.
We would still need to maintain the LAMP stack for the reservations
and the processing workflow, but that code is a lot easier to sanitize
and publish.
The site itself is made up of 3 parts
1. Static pages, like header, footer, howto's etc
2. Dynamic pages derived from the Database
3. Media, audio, video etc
The media and show notes are covered under the Creative Commons License.
I would suggest releasing the code under the AGPL v3 or later, and
publish it to our repo on https://repo.anhonesthost.net.
Thoughts ?
--
Regards,
Ken Fallon (PA7KEN,G5KEN)
https://kenfallon.com
https://hackerpublicradio.org/hosts/ken_fallon
I thought it might be a good idea if I shared my perspective on the way
the HPR stuff is put together and managed. If there's anything I have
misrepresented, I'm sure Ken will comment.
Database
--------
This is not really up to the tasks it needs to perform. For example,
there's a many-to-many relationship between shows and hosts. We have had
many shows with multiple hosts, and it is highly desirable in my mind
that we associate the participating hosts with their shows. We also want
to include the "Today with a Techie" shows into the database. Also, when
a show has what I call "assets" (photographs, extra documentation,
script examples) we should associate these with the show. Finding all
the components of a show for upload to archive.org is a pain when you
have to parse the HTML notes looking for them. In addition, I'd like to
structure things to reflect the relationship between tags and shows.
Website
-------
We have discussed making the site as static as we can. This would
simplify the current dynamic component a lot and should make the site
less vulnerable to attacks. We'd still need an interface for uploading
shows and comments but these need not be overly complex as far as I can
see. The static site would probably be refreshed on a daily basis. We
could use an existing static site generation system - though I have no
experience of any at the moment.
"Janitorial" duties
-------------------
There would still be a lot of behind the scenes activities, at least in
the beginning. I tend to process notes (and assets) for new shows so
they generate clean HTML for the database. Ken does the preparation of
the audio, and posts the end result to the site and leaves the
components for upload to archive.org (aka Internet Archive or IA). I
gather up new shows and their various files and perform the IA upload as
the need arises. These tasks have been streamlined over the years, and
there are probably many ways of streamlining them further.
I tend to perform curation tasks as well as the above, such as managing
the project to add summaries and tags to shows (now completed). I'm
currently ensuring all shows are on the IA with a range of properly
tagged audio formats and any assets that were missed in the time before
we decided to add them. I'm also looking at performing link checks on
shows at the moment with a view to "repairing" the inevitable problems
of "link rot".
Database rebuild
----------------
As far as this is concerned I redesigned the current MySQL/MariaDB
database a while ago, making a PostgreSQL replacement for testing. I
wrote scripts to populate it from the live database, etc. It wasn't
clear where we could run the final PostgreSQL database however.
I'm currently looking at replacing this database system with a SQLite
version. I think this might be the format that would be shared in due
course.
Dave
--
Michael A. Ray
Software engineer
Witley, Surrey, South-east UK
He/him/cis
"Perfection is achieved, not when there is nothing more to add, but when
there is nothing left to take away." -- A. de Saint-Exupery
_______________________________________________
Hpr mailing list
Hpr@hackerpublicradio.org
http://hackerpublicradio.org/mailman/listinfo/hpr_hackerpublicradio.org