DTLbb — Reference Manual

Functional and technical description of the cautious phpBB forum administration assistant

Version v1.0-20Date July 30, 2026Languages EN / FRLanguage Français

Preface

DTLbb is a Python desktop application that assists with the editorial administration of a phpBB forum through its web interface. It identifies the connected account, observes the forum structure, checks the posting rights actually granted, and places the creation of a new topic behind explicit human confirmation.

The product was designed for the NetDTL forum, whose address is offered by default, while accepting another compatible phpBB installation. It combines a bilingual graphical interface with a background Playwright navigation engine.

Document purpose. This manual describes what DTLbb is, why it exists, what it covers, and the assurances it seeks to provide. It is neither an installation guide nor a set of operating instructions.

Origin and intent

The original need

Administrative posting on a forum involves several checks that are easy to conflate: the visible account must be the expected account, administrator status does not guarantee writing rights in every area, the destination must be unambiguous, and submission must never be an incidental consequence of automated navigation.

DTLbb was created to bring those checks together and reduce errors in a recurring task. Its role is not to replace phpBB, but to add a local layer of clarity, control, and confirmation around capabilities already provided by the forum.

How the need evolved

The NetDTL ecosystem contains several tools, each associated with a subforum. Preparing update announcements requires the state of many Git repositories to be reconciled with the forum’s editorial structure. DTLbb therefore also includes an English draft-preparation engine based on committed Git facts. This capability remains strictly separate from publication: it produces proposals for review without opening the forum or changing announcement state.

Guiding principles

Purpose and scope

Primary purpose

DTLbb serves as a cautious intermediary between an editorial administrator and a phpBB forum. It makes the session identity, administrator status, and per-forum writing rights visible, then retains a confirmation checkpoint immediately before any publication.

Secondary purpose

For the NetDTL projects known to the application, DTLbb combines Git references, declared versions, change statistics, and selected documentation material to produce structured release-announcement drafts. The result is editorial source material, not an automated publication.

Product boundaries

Architecture

Responsible person │ ▼ Bilingual graphical interface (Tkinter) │ identity, inventory, preview, confirmation ▼ Python orchestration engine ├────────► Playwright / Chromium ── HTTPS ──► phpBB web interface │ ├────────► Redacted local log │ └────────► Read-only Git analysis ──► Markdown drafts + JSON manifest

Desktop interface

TkinterEnglishFrançais

Presents connection information, the forum hierarchy, permission status, editorial fields, preview, and the final publishing decision. Switching languages preserves values already entered.

Web automation

PlaywrightChromiumHTTPS

Reproduces interactions with phpBB pages, interprets visible session and permission markers, submits the topic form, and verifies the forum response. In the graphical interface, this navigation remains hidden.

Repository analysis

GitRead only19 projects

Compares a baseline with the current committed state, classifies changes, gathers statistics, and prepares English text with structured metadata. Uncommitted changes may be reported but are not incorporated into drafts.

Local persistence

Chromium profileLogDrafts

A browser profile may retain technical state required by Playwright. The log supports diagnosis. Drafts and their manifest materialize Git-analysis results. None of these elements is a mirror database of phpBB.

Functional model

ObjectMeaning
Target forumA phpBB installation designated by a normalized HTTP(S) address; NetDTL is the proposed target, not a hard-coded dependency.
Expected accountThe identity whose effective presence DTLbb verifies after authentication or reuse of a persistent session.
Admin statusThe informative result of a read-only ACP access check. It does not constitute posting permission.
Postable forumA forum or subforum where phpBB unambiguously presents the fields and action required to create a topic.
Tracked projectA Git repository associated by DTLbb with a NetDTL subforum identifier.
BaselineThe Git state used as the start of an announcement: a known last-published reference, a suitable earlier tag, or the previous commit.
DraftA proposed message body derived only from committed Git data and selected material from the English README.
ManifestA JSON inventory of results, destinations, references, and warnings; it explicitly states that no publication occurred.

Functional capabilities

Forum observation

Controlled publication

Git announcement preparation

Safety and security assurances

AssuranceScope
ConfirmationThe graphical flow maintains a separate human decision between previewing content and submitting it.
Effective permissionAvailability of the posting form is checked for each destination; Admin status is not used as an authorization shortcut.
PasswordThe secret remains in memory during execution. DTLbb writes it neither to source, nor to files, nor to its log.
phpBB sessionsid parameters are redacted in traces and removed from topic links intended to be retained.
DatabaseNo direct MySQL connection is made; phpBB remains the sole transactional authority.
Git analysisAnalysis commands are read-only. Generation does not open the forum, publish anything, or update announcement state.
LogoutSession termination is attempted and checked after every web operation, including when an error occurs.
Core principle. DTLbb reduces operational risk, but does not turn a web page into an API contract. Final decisions and editorial consistency remain human responsibilities; authority over permissions and published content remains with phpBB.

Data and traces

ElementRole and sensitivity
CredentialsUsername and password required for the session. The password is not intended to be persisted by DTLbb.
Playwright profileLocal state of a persistent Chromium context. It may contain browsing data and must be protected like any browser profile.
LogTechnical chronology for diagnosis; URLs are redacted to remove phpBB session identifiers.
Markdown draftsProposed editorial texts based on committed changes and documentation.
JSON manifestGeneration metadata, Git references, destinations, statistics, paths, and warnings.
Announcement stateOptional source indicating the last published reference for each project. The current version reads it without changing it.

Internal components

ComponentResponsibility
DTLbb.pyApplication model, Git analysis, phpBB navigation, graphical interface, logging, and error handling.
dtlbb_i18n.pyBilingual catalog and language selection for messages and labels.
PlaywrightPersistent Chromium context and controlled interaction with web pages.
GitSource of references, commits, differences, versions, and remote addresses used in drafts.
update-draftsCollection of Markdown proposals and their generation manifest.
.dtl_versionSingle official source for the version number.
version_info.txtDerived copy for Windows deliverable metadata.
DTLbb.specPyInstaller configuration kept at the project root.
build.ps1Definition of the standalone Windows package and its assets.

Invariants

Known limitations

The version described is v1.0-20. The assurances in this manual correspond to observable behavior in this version and must be reassessed if phpBB structure, the draft model, or publishing rules change.

Glossary

TermDefinition
ACPThe phpBB Administration Control Panel, used here only to observe the account’s administrative status.
Effective permissionThe concrete ability to create a topic, observed in the relevant destination.
PlaywrightThe automation engine that controls Chromium and observes phpBB pages.
Persistent profileA local directory retaining the technical state of a browser context between runs.
Update draftA proposed message built from committed Git facts and intended for human review.
Git referenceA name or identifier designating a commit used as the start or end of a comparison.
SIDA session identifier that phpBB may place in a URL and that DTLbb redacts or removes from relevant traces.