phpBB - looking for the SQL Database Architectural / Relationship diagram

Discuss general development subjects that are not specific to a particular version like the versioning control system we use or other infrastructure.
Post Reply
Database_Digger
Registered User
Posts: 1
Joined: Mon May 17, 2021 8:33 am

phpBB - looking for the SQL Database Architectural / Relationship diagram

Post by Database_Digger »

Hello phpBB developers community (sorry for any potential double posting!)

0. First things first: (since this is my very first posting here)
May I all thank you very much for created and sharing this awesome forum software called “phpBB”? I've have been a very happy end-user of it on many different online communities for many years and i'm loving it. Again thank you all for creating, maintaining and expanding this – to my personal opinion - very the best forum platform which has empowered all kinds of communities around the planet!

1. My case:
Recently i've joined a community - as end-user - which uses phpBB for their forum.
Over the years their forum has grown, evolved but has also become a little messy.
So recently someone has been asked to do a clean-up / reorganisation operation on their forum, to get things a bit more organized.
In order to see if I am able to assist them and learn more about the phpBB package myself, I've started “digging-under-the-phpBB-hood”, to see how stuff really works there. On my quest for more indepth knowledge and developer-grade documentation I first landed upon the phpBB.com forum and later on I found the home of the phpBB forum called “Area51”


2 - What have I done already myself?
Since I've been around in the ICT-landscape and done many different things in there for over 40 years now, I've learned the #1 thing: “R.T.F.M.F.” as in “Read The F****** Manual First”. So I started to scrape the Internet for the manuals I need such as:

1. Apache Webserver - which forms the foundation of their website and forum
- https://httpd.apache.org/docs/

2. PHP language manual - since I have programmed but not yet with the PHP-language.
- https://www.php.net/manual/en/index.php

3. PhpBB Manuals - installation, admin, end-user – to learn how everything is intended to work
- https://www.phpbb.com/support/docs/en/
- https://www.phpbb.com/community/docs/INSTALL.html

4. Downloaded and unzipped the latest phpBB package.in a temp folder.
- https://www.phpbb.com/downloads/

5. Started to decode the phpBB installation-routine at developer-level:
→ ../install/app.php starts the entire installation-process
→ ../install/schemas contains a JSON file with some sort of database tables / field definitions.
And this is the point where I got stuck.

3 – What I have not (yet) found is this:
The exact phpBB installation file / methods how the phpBB installer routine creates:
- all necessary database tables into the given SQL database.
- all needed fields (field_length, data_types) into each different SQL database-table.
- all unique index-field(s) inside each phpBB database-table
- which relations (1-1, 1-N, N-M, M-1) via which indexes between the various tables.
- How the various tables are linked with one and other.


4 – What I am looking for is this: (see image below as example)
- Image
A crystal-clear visual representation (picture) of all phpBB database tables / fields / indexes / relations(types).

Why?
- (just) “a” picture is (already) worth a thousand words”
- “An excellent picture speaks for itself and is worth a millions of words”

I also consider myself to be a “a visual learner”. I love to absorb my new knowledge in crystal-clear graphics / schemas / diagrams.
Excellent images give me personally more clarity within the blink of an eye, then having to read – for hours - through endless pages of letters alone
(This is what most developers call “documentation”, mostly not easy readable, understandable! by non-developers / outsiders / human beings)


5 - What have I found over here in phpBB Area51 section so far:
5a - “Database Wiki pages”
- https://wiki.phpbb.com/Category:Database
NOTE: No entries are is represent regarding table_indexes nor table relations!

5b - “Database Type Map”
- https://wiki.phpbb.com/Database_Type_Map
NOTE: This page contains a broken link to an external website!

5c - “Tables –– List of Database Tables used within phpBB3“
- https://wiki.phpbb.com/Database_Type_Map
NOTE1: This pages contains various broken links to deleted Wiki pages.
NOTE2: What does the word “tbd” mean inside the Wiki?


6. Now my questions:
1. Which phpBB installation files contain the exact instructions how the underlying SQL database / Tables / Fields / Indexes and Relations are created?

2. Is there any complete documentation present about the phpBB SQL-database tables?
- If $Answer = 'Yes' → Where can I find it?
- If $Answer = ''No' → When will the current documentation be up-to-date?

3. Does a complete visual database-architecture (table, field relationship) diagram exist?
- If $Answer = 'Yes' → Where can I find it?
- If $Answer = 'No' → When will one be created ?


Thanks in advance for your time and replies which enable me to further decode the phpBB installation scripts and to digg deeper into the underlying phpBB SQL database architecture.

Post Reply