PHPackages                             josefglatz/bureaucratic - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. josefglatz/bureaucratic

ActiveTypo3-cms-extension[Utility &amp; Helpers](/categories/utility)

josefglatz/bureaucratic
=======================

Basics for professional TYPO3 projects

12.5k1[3 issues](https://github.com/josefglatz/bureaucratic/issues)PHP

Since Oct 16Pushed 6mo ago1 watchersCompare

[ Source](https://github.com/josefglatz/bureaucratic)[ Packagist](https://packagist.org/packages/josefglatz/bureaucratic)[ RSS](/packages/josefglatz-bureaucratic/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

josefglatz/bureaucratic – basics for professional TYPO3 projects
================================================================

[](#josefglatzbureaucratic--basics-for-professional-typo3-projects)

Part of `professional_aspects`

Overview
========

[](#overview)

- adopt backend related database fields for backend users
- adopt tt\_content database fields for a better list module overview
- adopt User TsConfig to improve file/folder structure
- add a http to https redirect middleware in the frontend
- add many backend users related commands to notify or delete backend user records

---

Backend
=======

[](#backend)

Required fields for backend users
---------------------------------

[](#required-fields-for-backend-users)

- realName (trim, required)
- email (trim, required, email, unique)

### What the hell?

[](#what-the-hell)

ReasonImplementedDescriptionImplementationSecurityyesRequiring realName and email fields motivates adding one backend user per real humanTCA/Overrides, by requiring email address and nameSecurityyesLimit sharing bad passwords across multiple persons/teams/departments on customer side byTCA/Overrides, by requiring email addressSecurityWrite custom commands to check for not used TYPO3 backend usersSecurityWrite custom commands to delete TYPO3 backend users which are not used for a whileSecurityImplement custom commands to delete TYPO3 backend users based on deny listsReportingWrite custom commands to inform team members of not used backend editorsBase for TYPO3 core featuresForgot password functionality → reduces support casesBase for TYPO3 core featuresCheck for unique email addresses for backend users → solid base for forgot password functionality (use email subaddressing for multiple test accounts for one email account)Backend UXBetter UX in backend views history, or record info modals → real name is shownBackend UXImprove UX by adding profile image for each real human editor or use ext:gravatar for automatic profile imagesReflects real lifeBetter overview of you much persons are really working as editors on the projectMore realistic backend statsSee who is really editing content in an TYPO3 instance. Base for building some custom user statistics. Imagine writing some statistics for the TYPO3 backend dashboard module.Required fields for tt\_content
-------------------------------

[](#required-fields-for-tt_content)

- header (trim, required)

### What the hell?

[](#what-the-hell-1)

ReasonImplementedDescriptionBackend UXyesRequiring `tt_content.header` makes records with "title" `[No title]` in list view belongs to the pastBackend UXyes`tt_content.header` with `tt_content.header_layout` set to "Hidden" `0` still allows disabled/hidden titles in the website frontendDisabled backend functionality
------------------------------

[](#disabled-backend-functionality)

- No direct uploads in backend forms. An editor have to upload files within the TYPO3 filelist module

### What the hell?

[](#what-the-hell-2)

Direct upload forms in backend forms motivates lazy backend editors to not structure their assets (files) in a folder structure. There are possibilities to add folders in the upload UI but most of the users do not use such features.

---

Frontend
========

[](#frontend)

Required packages
-----------------

[](#required-packages)

- [`josefglatz/httpseverywhere`](https://github.com/josefglatz/httpseverywhere) ( TYPO3 Middleware to force https as a last fallback)

---

CLI Commands
============

[](#cli-commands)

CLI commands for backend users
------------------------------

[](#cli-commands-for-backend-users)

This package comes with a bunch of schedulable CLI commands for managing and informing backend user records:

### **Multi Factor Authentication related**

[](#multi-factor-authentication-related)

- `typo3 bureaucratic:backend:notify-users-without-mfa` (and their need to activate it)
- `typo3 bureaucratic:backend:disable-users-without-activated-mfa`

### **Managing inactive records** (except some specific)

[](#managing-inactive-records-except-some-specific)

- `typo3 bureaucratic:backend:notify-not-loggedin-users`
- `typo3 bureaucratic:backend:notify-admin-about-not-loggedin-users`
- `typo3 bureaucratic:backend:notify-customer-about-not-loggedin-users`
- `typo3 bureaucratic:backend:notify-customer-about-disabled-users`

#### Delete longlasting disabled users

[](#delete-longlasting-disabled-users)

**Command**: `typo3 bureaucratic:backend:delete-longlasting-disabled-users`

- argument to delete disabled records not modified since n days
- argument to add where clause by usergroup id or exact usergroup column value
- option to execute command in dry-run mode to list all affected records
- report email of deleted records to specific email recipient(s)
- notification email to affected user records
    - with support of bcc recipients
- exclude test users via env variable

**Examples**

- `typo3 bureaucratic:backend:delete-longlasting-disabled-users`

### **Managing misc records**

[](#managing-misc-records)

- `typo3 bureaucratic:backend:list-test-users`
- `typo3 bureaucratic:backend:validate-users-email-address`

###  Health Score

19

—

LowBetter than 10% of packages

Maintenance26

Infrequent updates — may be unmaintained

Popularity22

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity13

Early-stage or recently created project

 Bus Factor1

Top contributor holds 92.3% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/3b9b873a3ab532be8b148c0da96ce9c37931a2268d52af7a00e0d0251f855088?d=identicon)[josefglatz](/maintainers/josefglatz)

---

Top Contributors

[![josefglatz](https://avatars.githubusercontent.com/u/2861556?v=4)](https://github.com/josefglatz "josefglatz (12 commits)")[![helmutstrasser](https://avatars.githubusercontent.com/u/888354?v=4)](https://github.com/helmutstrasser "helmutstrasser (1 commits)")

### Embed Badge

![Health badge](/badges/josefglatz-bureaucratic/health.svg)

```
[![Health](https://phpackages.com/badges/josefglatz-bureaucratic/health.svg)](https://phpackages.com/packages/josefglatz-bureaucratic)
```

###  Alternatives

[edgaras/strsim

Collection of string similarity and distance algorithms in PHP including Levenshtein, Damerau-Levenshtein, Jaro-Winkler, and more

2423.0k](/packages/edgaras-strsim)[benmanu/silverstripe-styleguide

Generates a styleguide for a SilverStripe theme

108.1k1](/packages/benmanu-silverstripe-styleguide)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
