TYPO3 Developer Days 2026 · Karlsruhe

A TYPO3 több mint egy CMS

Üzleti alkalmazások építése a TYPO3 backendjével.

02 · Keret

Csak egy másik nézőpontot szeretnék kínálni.

A DevDays a befejezetlen ötletek helye — egy kísérlet, néhány döntés és pár dolog, ami nem működött. Ez nem termékbejelentés.

Vidd magaddal a számodra hasznos ötleteket. Néha nem új eszközre van szükség — ugyanazt a dolgot kell más oldalról néznünk.

03 · Hogyan kezdődött

Tavaly karácsonykor…

…úgy döntöttem, a téli szünetet vibecodinggal töltöm — saját ERP-, időnyilvántartó és „minden” alkalmazást építek. Valódi projekttel, nem tutoriallal.

Nem előadást akartam írni. Azért ültem le, mert valami a munkában már régóta zavart.

Illustration: vibecoding a TYPO3 application over the winter break
04 · A kiváltó ok

Egy rendszer, ami nem követett minket.

Egy normál ERP-t használtunk. Az évek során a folyamataink változtak, a rendszer nem. A válaszok sokáig tartottak, a módosítások még tovább, és a szükséges riportokat nagyon nehéz volt megkapni.

Aztán abban a decemberben egyszerűen nem értem el őket. Ekkor hagytam abba a várakozást. A termék rendben volt — csak nem a miénk volt.

04b · Amit szerettem volna

A fejlesztő bennem — és az ügyvezető bennem.

A fejlesztő azt akarja: uralni a kódot, az alkalmazás logikájára koncentrálni, és egy tesztelt, biztonságos keretrendszert, ami könnyen használható marad.

Az ügyvezető azt akarja: gyors eredmény, kevesebb licencköltség, semmi idő triviális alapokra — csak értékteremtés.

05 · Első ösztön

„Ez már létezik a TYPO3-ban.“

Az első ösztönöm a Symfony volt — kiváló, és a TYPO3 sok komponensét használja. Ez nem Symfony-kontra-TYPO3 harc. De minden képességnél, amit felsoroltam — admin felület, felhasználók & jogosultságok, modulnavigáció, rekordszerkesztés, listák, ütemezett feladatok, naplózás, dashboardok — ugyanaz a mondat tért vissza.

Miért építsem újra, amim már megvan, ami már tesztelt, és amit már ismerek?

05b · De hogyan?

És mivel építené ezt meg egyáltalán?

Az asszisztens, ami megírja — Gemini, Claude, ChatGPT, Kimi?

A keretrendszer alatta — Symfony, .NET, React?

06 · Nézőpontváltás

Képzeld el, hogy a TYPO3 nem „csak“ egy CMS, hanem alkalmazáskeret.

Képzeld el a TYPO3-at tartalom nélkül. Nincsenek oldalak. Nincsenek tartalmi elemek. Nincs weboldal.

07 · Gondolatkísérlet

Mi marad?

Ha a válasz „semmi”, ez az előadás két perc múlva véget ér. Ahelyett, hogy találgatnánk, nézzük meg, hogyan épül fel valójában a TYPO3 — a Composer már elárulja a válasz nagy részét.

08 · Hogyan épül fel

Hol vannak valójában a darabok.

A modern TYPO3 Composer-csomagok halmaza. Az oldalak mélyen a core-ban élnek; a tt_content — a tartalmi elemek — a frontend csomagból jönnek. A tartalom frontend-ügy; az oldalak core-ügy. Tehát a frontend az, amit elvehetünk.

cms-corecms-backendcms-extbasecms-fluidcms-frontend
09 · Eltávolíthatjuk a frontendet?

Igen.

Technikailag semmi alapvető nem függ tőle. A függőség fordítva megy — a frontend függ a core-tól, nem a core a frontendtől. Ez nem hack; ez a szándék szerint működő architektúra.

10 · …aztán így alakult

Sok minden mégis használja.

# az alaprendszernek nem kell a frontend —
# de körülötte sok kód feltételezi, hogy ott van.
RuntimeException: No site configuration found for request
TypeError: a rendering context was expected
Error: a page id is required (pid)…

Két dolog egyszerre igaz: a TYPO3-nak erős backend-platformja van, amelyhez nem kell a frontend — és (még) nem elsődleges backend-only termékként tervezték. Nem hibás; a fő használati esetén kívül használva.

11 · Alapból

Dolgok, amiket a TYPO3 backendnél alapból megkapsz.

Ezek azok a dolgok, amikre egy fillért sem kell költened — a keretrendszer lefedi, tesztelt és biztonságos.

12 · Amit örökölsz · 1

Identitás és hozzáférés.

Egy üzleti alkalmazásnak tudnia kell, ki vagy és mit láthatsz, módosíthatsz. Nem találtam ki auth-réteget — egy sok éven át, sokak által átnézett réteget bővítettem ki.

FelhasználókCsoportokJogosultságok2FAFájlokDashboardok
13 · Amit örökölsz · 2

A TCA az adatszerkezetből használható backendet csinál.

Írd le egy táblát TCA-val, és a FormEngine működő szerkesztőfelületet készít — plusz a rekordlistát bármely táblához. Őszinte figyelmeztetés: ez nem váltja ki a UX-tervezést. De a különbség aközött, hogy gondolkodsz egy űrlapon és hogy űrlap-keretrendszert építesz, óriási.

ŰrlapokValidációRelációkLokalizációListák
14 · Amit örökölsz · 3

A munka akkor is folyik, amikor senki sem figyel.

Éjszakai importok. Reakció, amikor megérkezik a pénz. Értesítés egy másik rendszernek. Az ütemezés és annak kezelése már létezik. Egy új modul pedig nem új architektúra — egy controller, egy repository, egy Fluid-sablon, egy TCA-definíció. Minden más el van döntve.

SchedulerParancsokWebhookokReakciókPSR-14 események
15 · Amit örökölsz · 4

A technikai háttér.

Senki sem mutat be naplózást. De amikor reggel hétkor elromlik valami az élesben, ehhez a réteghez nyúlsz — és az első naptól ott volt.

Naplók + modulCachingDoctrine DBALFájl-absztrakcióDependency injectionBackend-routing
16 · Az előadás lényege

Az alkalmazás-alaprendszer már létezik.

A TYPO3 közelebb enged az üzleti problémához. Négy alapréteg, egy vékony réteg a tetején — és ez a vékony réteg az egyetlen, ami valóban az üzletemről szól.

Identitás & kontrollAdat & UIAutomatizálás & integrációÜzemeltetés→ Üzleti logika
17 · A bizonyíték

DigiTrack — TYPO3 14-en fut.

Nincs weboldal. Nincsenek tartalmi elemek. Csak a backend. Nem konferencia-prototípus — a cégünket futtatjuk rajta. Minden ismerős a TYPO3-ból jött; minden ismeretlen a mi üzletünk.

DigiTrack — a business application running in the TYPO3 14 backend
18 · DigiTrack · egy felület, sok modul

A backend maga az egész alkalmazás.

DigiTrack — a business application running in the TYPO3 14 backend
DigiTrack — a business application running in the TYPO3 14 backend
DigiTrack — a business application running in the TYPO3 14 backend
DigiTrack — a business application running in the TYPO3 14 backend
17b · Az építőkövek

TYPO3-csomagokból építve.

A controllerek nem kérdezik le az adatbázist — az üzleti logika service-ekben, az adathozzáférés repository-kban él. Ezért a kódbázis egy évnyi gyors változás után is érthető.

cms-corecms-backendcms-frontendcms-extbasecms-fluidcms-installcms-belogcms-beusercms-dashboardcms-filelistcms-impexpcms-scheduler
19 · Amit megtanultunk

Most a gyakorlati rész.

Egy akadály. Egy megkerülés. Három ötlet.

20 · Az akadály

pid

Parent id-ként tárolva. Page id-ként kezelve. A jogosultságok, az oldalfa, a modulkontextus — mind ezt feltételezik. Egy oldalak nélküli alkalmazás ezen az egy mezőn akad el. A pid nem rossz; egy CMS-hez helyes.

21 · A megkerülés

A határ a szervezet, nem az oldal.

record.pid = 0                          # nincs oldal, nincs fa
record.organisation = currentOrganisation # mentéskor egy DataHandler hook állítja be
# minden olvasás & írás a szervezetre szűkül — a fejlesztő nem felejtheti el.

Minden az oldalfán kívül tárolódik. A tulajdonlás a saját kontextusunkba kerül: egy CMS-ben a határ az oldal — a DigiTrackben a szervezet. Ez megkerülés, és annak is nevezem. De kicsi és jól körülhatárolt.

22 · Amit megépítettünk

Három dolog, amit a backendhez építettünk.

1. Backend-felhasználó meghívás — egy kis kiterjesztés, amit közzéteszünk: szerkesztők meghívása e-mailben, a csoportjaik kiválasztásával, ahelyett, hogy kézzel hoznánk létre fiókokat.

2. Rendezhető listaoszlopok — nem csak azt választjuk ki, mely oszlopok látszanak, hanem rendezünk is szerintük. Jobb rálátás az adatokra.

3. Szűrők a listanézetben — TCA-alapú logika a szűrők definiálására és alkalmazására közvetlenül a listanézetben.

TYPO3 backend: a Backend-felhasználó meghívása párbeszédablak e-mail, név és csoport mezőkkel
23 · A kód olcsóbb lesz

A sebesség kétélű.

Az MI és a kódügynökök segítségével több kódot építek kevesebb idő alatt. De most nagyon könnyű inkonzisztens, nem biztonságos vagy karbantarthatatlan kódot előállítani — a generált kód nem hoz magával biztonsági modellt. Egy gyenge alap következményei továbbra is drágák.

BiztonságSkálázásHasználhatóságKarbantartás
24 · A jó keret megváltoztatja a gazdaságosságot

Egy jó alap a fejlesztési sebességet értékké alakítja.

A fejlesztés olcsóbb lesz, így több belső eszköz válik lehetővé. És mivel többet építhetünk, az alap minősége jobban számít, nem kevésbé.

25 · Az eredmény

A licencmegtakarítás nem a legnagyobb nyeremény volt.

~2000 €
évente megspórolt licencköltség — a legkevésbé érdekes szám
2 nap → 2 óra
havi számlázási idő, mert a szoftver a folyamatunkat követi
a csapat jobban szereti
és ez volt a meglepetés
26 · Vissza a kezdethez

Mi lenne, ha a TYPO3 backend a te alkalmazáskereted lenne?

Vedd el a weboldalt, és meglepően teljes alaprendszer marad. A TYPO3 CMS marad — ez az erőssége. De talán abbahagyhatjuk, hogy a backendre csak úgy tekintsünk, mint ahol a szerkesztők weboldalakat kezelnek.

Köszönöm

Te mit építenél vele?

Köszönöm.