2declare(strict_types=1);
9if (PHP_SAPI !==
'cli') {
10 fwrite(STDERR,
"Dieses Werkzeug darf nur auf der Kommandozeile laufen.\n");
23define(
'dbxSystem',
'dbxWebApp');
24define(
'dbxRunAsAdmin', 1);
26require
$base .
'/dbx/vendor/autoload.php';
27require_once
$base .
'/dbx/include/dbxKernel.php';
28require_once
$base .
'/dbx/modules/dbxContent/include/dbxContent_bootstrap_sync.php';
29require_once
$base .
'/dbx/modules/dbxContent/include/dbxContentPageCache.class.php';
30require_once
$base .
'/dbx/modules/dbxContent/include/dbxContentSitemap.class.php';
35if (!is_object(
$db) || !
$db->connect_db_server(
'dbx|dbxContent.db3')) {
36 fwrite(STDERR,
"Die Content-Datenbank konnte nicht über dbxDB verbunden werden.\n");
42 2, 4, 5, 6, 8, 45, 47, 48, 51, 53, 56, 57, 58, 59, 60, 62,
43 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
44 115, 116, 117, 118, 119, 120, 121, 122,
51 'title' =>
'Lösungen für Websites, Verkauf und Geschäftsprozesse',
52 'permalink' =>
'loesungen',
53 'seo_title' =>
'dbxapp Lösungen: CMS, Shop, Anwendungen und Portale',
54 'description' =>
'Vier klare Lösungsbereiche verbinden Website und CMS, Shop und Multichannel, individuelle Anwendungen sowie Intranet und Portale.',
55 'keywords' =>
'dbxapp Lösungen, CMS, Shop, Fachanwendung, Intranet, Portal',
56 'content' => <<<
'HTML'
57<p
class=
"lead">dbxapp verbindet Inhalte, Verkauf und betriebliche Abläufe auf einer gemeinsamen Plattform. Sie starten mit der Lösung, die heute gebraucht wird, und ergänzen weitere Funktionen, wenn das Unternehmen wächst.</p>
59<div
class=
"row g-4 my-4">
60 <div
class=
"col-md-6"><div
class=
"card h-100"><div
class=
"card-body">
61 <h2>Website und CMS</h2>
62 <p>Seiten, Medien und mehrsprachige Inhalte komfortabel pflegen und mit individuellen Funktionen verbinden.</p>
63 <a
class=
"btn btn-outline-primary" href=
"cms-website">CMS und Website entdecken</a>
65 <div
class=
"col-md-6"><div
class=
"card h-100"><div
class=
"card-body">
66 <h2>Shop und Multichannel</h2>
67 <p>Produkte, Leistungen, Bestellungen und Vertriebskanäle in einem nachvollziehbaren Ablauf verwalten.</p>
68 <a
class=
"btn btn-outline-primary" href=
"shop-multichannel">Shop-Lösung entdecken</a>
70 <div
class=
"col-md-6"><div
class=
"card h-100"><div
class=
"card-body">
71 <h2>Individuelle Anwendungen</h2>
72 <p>Formulare, Daten, Reports, Dashboards und Workflows passend zu den tatsächlichen Aufgaben entwickeln.</p>
73 <a
class=
"btn btn-outline-primary" href=
"individuelle-anwendungen">Anwendungen entdecken</a>
75 <div
class=
"col-md-6"><div
class=
"card h-100"><div
class=
"card-body">
76 <h2>Intranet und Portale</h2>
77 <p>Geschützte Informationen und Funktionen für Mitarbeitende, Kunden oder Partner bereitstellen.</p>
78 <a
class=
"btn btn-outline-primary" href=
"intranet-portale">Portale entdecken</a>
82<h2>Keine neue technische Insel</h2>
83<p>Alle Bereiche verwenden denselben Kern für Benutzer, Rechte, Daten, Formulare, Reports, Templates und Medien. Dadurch können Inhalte und Fachfunktionen zusammenarbeiten, ohne für jeden neuen Schritt ein getrenntes System einzuführen.</p>
85<div
class=
"alert alert-primary">
86 <strong>Welche Lösung passt?</strong> Beschreiben Sie kurz Ihre Ausgangslage. Gemeinsam lässt sich klären, welcher Einstieg sinnvoll ist.
87 <a
class=
"btn btn-primary ms-md-3 mt-2 mt-md-0" href=
"kontakt">Projekt besprechen</a>
94 'title' =>
'Website und CMS: Inhalte professionell verwalten',
95 'permalink' =>
'cms-website',
96 'seo_title' =>
'CMS und Website mit dbxapp',
97 'description' =>
'Mit dbxapp verwalten Sie Seiten, Medien, Designs und mehrsprachige Inhalte und verbinden das CMS bei Bedarf mit individuellen Modulen.',
98 'keywords' =>
'CMS, Website, Medienverwaltung, mehrsprachig, Webdesign, dbxapp',
99 'content' => <<<
'HTML'
100<p
class=
"lead">Ein professioneller Webauftritt braucht aktuelle Inhalte, eine klare Struktur und ein Design, das zur Marke passt. Das dbxapp CMS verbindet diese redaktionellen Aufgaben mit Medien, Rechten und funktionalen Modulen.</p>
102<h2>Inhalte und Seiten übersichtlich pflegen</h2>
103<p>Redakteure verwalten Texte, Bilder, Downloads, Seitenstruktur und SEO-Daten an einem Ort. Inhalte können mehrsprachig aufgebaut, gezielt veröffentlicht und von berechtigten Personen bearbeitet werden.</p>
105<div
class=
"row g-3 my-4">
106 <div
class=
"col-lg-4"><div
class=
"card h-100"><div
class=
"card-body"><h3>Seiten und Medien</h3><p>Inhalte strukturieren, Medien zentral verwenden und Änderungen direkt im passenden Kontext prüfen.</p></div></div></div>
107 <div
class=
"col-lg-4"><div
class=
"card h-100"><div
class=
"card-body"><h3>Designfreiheit</h3><p>Inhalt, Template und Design bleiben getrennt. Dadurch sind individuelle Auftritte möglich, ohne die redaktionellen Daten neu aufzubauen.</p></div></div></div>
108 <div
class=
"col-lg-4"><div
class=
"card h-100"><div
class=
"card-body"><h3>Mehrsprachigkeit</h3><p>Sprachversionen werden nachvollziehbar miteinander verbunden und können getrennt geprüft und veröffentlicht werden.</p></div></div></div>
111<h2>Mehr als eine klassische Website</h2>
112<p>Formulare, Kontaktstrecken, Downloads, Shop-Funktionen, geschützte Bereiche oder individuelle Anwendungen lassen sich in Content-Seiten einbinden. So bleibt die Website der verständliche Einstieg, während dahinter echte Geschäftsprozesse ablaufen können.</p>
114<h2>KI-Unterstützung mit Freigabe</h2>
115<p>dbxKi kann Briefings, Textentwürfe, SEO-Daten und Übersetzungen vorbereiten. Das CMS bleibt das führende System: Vorschläge werden geprüft und erst danach übernommen.</p>
117<p><a
class=
"btn btn-primary" href=
"kontakt">Website-Projekt anfragen</a> <a class="btn btn-outline-secondary" href="dbxki">dbxKi kennenlernen</a></p>
123 'title' =>
'Shop und Multichannel: überzeugend verkaufen',
124 'permalink' =>
'shop-multichannel',
125 'seo_title' =>
'Shop und Multichannel mit dbxapp',
126 'description' =>
'Produkte, Leistungen, Bestellungen, Zahlungen und Vertriebskanäle werden in dbxapp gemeinsam und nachvollziehbar verwaltet.',
127 'keywords' =>
'Onlineshop, Multichannel, Produkte, Bestellungen, Marktplätze, dbxapp Shop',
128 'content' => <<<
'HTML'
129<p
class=
"lead">Der dbxapp Shop verbindet ein verständliches Einkaufserlebnis mit der Verwaltung von Produkten, Bestellungen und Vertriebskanälen. Inhalte, Kundenkommunikation und Verkauf bleiben Teil derselben Plattform.</p>
131<h2>Vom Angebot bis zur Bestellung</h2>
132<p>Produkte und Leistungen lassen sich strukturiert präsentieren. Artikelgruppen, Attribute, Bilder, Versandinformationen und rechtliche Inhalte schaffen eine belastbare Grundlage für den Verkauf.</p>
134<div
class=
"row g-3 my-4">
135 <div
class=
"col-md-6"><div
class=
"card h-100"><div
class=
"card-body"><h3>Katalog und Produktdaten</h3><p>Produkte, Varianten, Medien und Zuordnungen übersichtlich verwalten und passend ausgeben.</p></div></div></div>
136 <div
class=
"col-md-6"><div
class=
"card h-100"><div
class=
"card-body"><h3>Bestellungen und Zahlungen</h3><p>Warenkorb, Checkout und Bestellstatus in klaren Abläufen zusammenführen; Zahlungsanbieter können passend angebunden werden.</p></div></div></div>
137 <div
class=
"col-md-6"><div
class=
"card h-100"><div
class=
"card-body"><h3>Vertriebskanäle</h3><p>Eigener Shop und weitere Kanäle können auf derselben Produktbasis arbeiten. Zuordnungen bleiben je Artikel kontrollierbar.</p></div></div></div>
138 <div
class=
"col-md-6"><div
class=
"card h-100"><div
class=
"card-body"><h3>Individuelle Prozesse</h3><p>B2B-Angebote, besondere Freigaben oder interne Auftragswege lassen sich als Module und Workflows ergänzen.</p></div></div></div>
141<h2>Kein Shop neben dem CMS</h2>
142<p>Produktinformationen, Landingpages, Medien und Kontaktwege werden nicht in getrennten Systemen gepflegt. Das reduziert doppelte Arbeit und ermöglicht durchgängige Abläufe vom Inhalt bis zur Bearbeitung einer Bestellung.</p>
144<p><a
class=
"btn btn-primary" href=
"kontakt">Verkaufsprozess besprechen</a> <a class="btn btn-outline-secondary" href="?dbx_modul=dbxShop&dbx_run1=catalog">Demo-Shop ansehen</a></p>
150 'title' =>
'Individuelle Anwendungen und Workflows',
151 'permalink' =>
'individuelle-anwendungen',
152 'seo_title' =>
'Individuelle Anwendungen und Workflows mit dbxapp',
153 'description' =>
'dbxapp verbindet Datenmodelle, Formulare, Reports, Rechte und Workflows zu passgenauen Fachanwendungen und Portalen.',
154 'keywords' =>
'Fachanwendung, Workflow, Formular, Report, Dashboard, Systemintegration',
155 'content' => <<<
'HTML'
156<p
class=
"lead">Standardsoftware passt selten exakt zu gewachsenen Abläufen. Mit dbxapp entstehen Anwendungen, die Aufgaben, Daten und Rollen eines Unternehmens abbilden, ohne als neue Insellösung neben Website, CMS oder Shop zu stehen.</p>
158<h2>Typische Einsatzbereiche</h2>
160 <li>CRM, Kunden- und Serviceportale</li>
161 <li>Auftragsbearbeitung, Lager und Inventur</li>
162 <li>Tickets, Anfragen und Freigaben</li>
163 <li>Projektsteuerung und interne Verwaltungswerkzeuge</li>
164 <li>Reports, Kennzahlen und Dashboards</li>
165 <li>Anbindung bestehender Daten und Systeme</li>
168<h2>Vom Formular zum nachvollziehbaren Prozess</h2>
169<p>Formulare erfassen strukturierte Daten. Reports machen sie auffindbar und auswertbar. Rechte bestimmen, wer lesen oder handeln darf. Workflows verbinden Status, Prüfungen und Aktionen zu einem klaren Ablauf. Jeder Schritt bleibt fachlich im zuständigen Modul.</p>
171<div
class=
"row g-3 my-4">
172 <div
class=
"col-lg-4"><div
class=
"card h-100"><div
class=
"card-body"><h3>Gemeinsame Datenbasis</h3><p>DD und
dbxDB sorgen für einheitliche Datenzugriffe, Rechte und Serverbindungen.</p></div></div></div>
173 <div
class=
"col-lg-4"><div
class=
"card h-100"><div
class=
"card-body"><h3>Einheitliche Bedienung</h3><p>
dbxForm,
dbxReport und
dbxTPL geben neuen Modulen vertraute und erprobte Oberflächen.</p></div></div></div>
174 <div
class=
"col-lg-4"><div
class=
"card h-100"><div
class=
"card-body"><h3>Kontrolliert erweiterbar</h3><p>Neue Funktionen ergänzen bestehende Module, Benutzer und Rechte, statt einen parallelen Technikstapel einzuführen.</p></div></div></div>
177<h2>Transparenz im Betrieb</h2>
178<p>Das Admin-Dashboard bündelt Systemstatus, Laufzeiten, Datenbankwerte und Meldungen. Dadurch werden technische Auffälligkeiten sichtbar, bevor sie unbemerkt zu einem dauerhaften Problem werden.</p>
180<p><a
class=
"btn btn-primary" href=
"kontakt">Anwendungsfall beschreiben</a> <a class="btn btn-outline-secondary" href="plattform">Plattform verstehen</a></p>
186 'title' =>
'Intranet und Portale für geschützte Zusammenarbeit',
187 'permalink' =>
'intranet-portale',
188 'seo_title' =>
'Intranet und Portale mit dbxapp',
189 'description' =>
'Geschützte Inhalte, Benutzer, Formulare, Reports und Workflows werden in dbxapp zu einem passenden Intranet oder Portal verbunden.',
190 'keywords' =>
'Intranet, Kundenportal, Mitarbeiterportal, Rechte, geschützte Inhalte',
191 'content' => <<<
'HTML'
192<p
class=
"lead">Ein Intranet oder Portal soll Informationen nicht nur anzeigen, sondern Menschen bei ihrer Arbeit unterstützen. dbxapp verbindet geschützte Inhalte mit Benutzern, Formularen, Reports und klaren Prozessen.</p>
194<h2>Für Mitarbeitende, Kunden und Partner</h2>
195<p>Bereiche können nach Benutzergruppen und Aufgaben getrennt werden. Öffentliche Informationen, interne Seiten und persönliche Vorgänge bleiben trotzdem Teil einer gemeinsamen Plattform.</p>
197<div
class=
"row g-3 my-4">
198 <div
class=
"col-md-6"><div
class=
"card h-100"><div
class=
"card-body"><h3>Geschützte Informationen</h3><p>Wissen, Dokumente und Hinweise gezielt für berechtigte Gruppen bereitstellen.</p></div></div></div>
199 <div
class=
"col-md-6"><div
class=
"card h-100"><div
class=
"card-body"><h3>Formulare und Anfragen</h3><p>Interne Meldungen, Freigaben oder Serviceanfragen strukturiert erfassen und bearbeiten.</p></div></div></div>
200 <div
class=
"col-md-6"><div
class=
"card h-100"><div
class=
"card-body"><h3>Persönliche Bereiche</h3><p>Benutzer sehen ihre eigenen Vorgänge, Bestellungen oder Aufgaben in einem klaren Kontext.</p></div></div></div>
201 <div
class=
"col-md-6"><div
class=
"card h-100"><div
class=
"card-body"><h3>Flexible Bereitstellung</h3><p>Je nach Schutzbedarf im eigenen Intranet, auf Hosting, in der Cloud oder als betreute Installation.</p></div></div></div>
204<h2>Mit den Anforderungen wachsen</h2>
205<p>Ein Portal kann mit wenigen Inhalten und Formularen beginnen. Später lassen sich Reports, Workflows oder individuelle Module ergänzen, ohne Benutzerverwaltung und Bedienkonzept neu aufzubauen.</p>
207<p><a
class=
"btn btn-primary" href=
"kontakt">Portal planen</a> <a class="btn btn-outline-secondary" href="pakete">Betriebsmodelle vergleichen</a></p>
213 'title' =>
'dbxKi: KI-Unterstützung mit Kontrolle',
214 'permalink' =>
'dbxki',
215 'seo_title' =>
'dbxKi: KI für CMS, SEO und Module',
216 'description' =>
'dbxKi bereitet Inhalte, SEO-Daten, Übersetzungen und Entwicklungsaufträge vor; Prüfung und Freigabe bleiben im dbxapp-Ablauf.',
217 'keywords' =>
'dbxKi, künstliche Intelligenz, CMS, SEO, Übersetzung, Modulentwicklung',
218 'content' => <<<
'HTML'
219<p
class=
"lead">dbxKi verbindet KI-Anbieter mit klar beschriebenen Aufgaben in dbxapp. Die KI liefert einen prüfbaren Vorschlag; Rechte, Daten, Freigabe und Veröffentlichung bleiben unter Kontrolle des Systems und seiner Benutzer.</p>
221<h2>Unterstützung für Inhalte</h2>
222<p>Redaktionen können Briefings für neue Seiten, Überarbeitungen, SEO-Daten, Zusammenfassungen und Übersetzungen erstellen. Quellen, Ziel und gewünschte Struktur werden im Auftrag festgehalten.</p>
224<h2>Unterstützung für Module und Designs</h2>
225<p>Auch technische Aufgaben lassen sich als vollständiges Paket vorbereiten: mit Regeln, vorhandenen Dateien, gewünschtem Ergebnis und einem importierbaren Antwortpaket. Änderungen werden vor der Übernahme geprüft.</p>
228 <li><strong>Briefing:</strong> Ziel, Zielgruppe, Quellen und Grenzen verständlich beschreiben.</li>
229 <li><strong>Auftragspaket:</strong> dbxKi stellt die notwendigen Regeln und Dateien zusammen.</li>
230 <li><strong>Ergebnis prüfen:</strong> Inhalt, Dateiliste und Änderungen kontrollieren.</li>
231 <li><strong>Freigeben:</strong> Erst die bewusste Übernahme verändert das System.</li>
234<h2>Datenschutz und Betriebsmodell</h2>
235<p>Welche Daten an einen KI-Anbieter übermittelt werden dürfen, hängt vom gewählten Anbieter, Vertrag und Einsatzzweck ab. Sensible Daten gehören nur in einen dafür ausdrücklich freigegebenen Prozess. dbxKi macht den Auftrag nachvollziehbar, ersetzt aber keine organisatorische Datenschutzentscheidung.</p>
237<p><a
class=
"btn btn-primary" href=
"kontakt">KI-Einsatz besprechen</a> <a class="btn btn-outline-secondary" href="dokumentation">Technische Anleitung öffnen</a></p>
243 'title' =>
'Die dbxapp Plattform: ein Kern, klare Bausteine',
244 'permalink' =>
'plattform',
245 'seo_title' =>
'dbxapp Plattform und Technik',
246 'description' =>
'Ein gemeinsamer Kern verbindet Benutzer, Rechte, Daten, Formulare, Reports, Templates, CMS, Shop und individuelle Module.',
247 'keywords' =>
'dbxapp Plattform, Architektur, Module, dbxDB, dbxForm, dbxReport, dbxTPL',
248 'content' => <<<
'HTML'
249<p
class=
"lead">dbxapp ist eine modulare Plattform für Websites, Shops und Geschäftsanwendungen. Wiederkehrende Aufgaben werden im Kern einheitlich gelöst, während die Fachlogik in klar abgegrenzten Modulen bleibt.</p>
251<h2>Gemeinsame Grundlagen</h2>
252<div
class=
"row g-3 my-4">
253 <div
class=
"col-md-6 col-xl-3"><div
class=
"card h-100"><div
class=
"card-body"><h3>Daten</h3><p>
dbxDB und DD verbinden Datenzugriff, Tabellenbeschreibung, Rechte und unterschiedliche Datenbankserver.</p></div></div></div>
254 <div
class=
"col-md-6 col-xl-3"><div
class=
"card h-100"><div
class=
"card-body"><h3>Formulare</h3><p>
dbxForm nutzt FD, Validierung, Meldungen, Freigaben und Ajax nach einem gemeinsamen Vertrag.</p></div></div></div>
255 <div
class=
"col-md-6 col-xl-3"><div
class=
"card h-100"><div
class=
"card-body"><h3>Listen</h3><p>
dbxReport stellt Filter, Tabellen, Summen, Aktionen und Exporte einheitlich bereit.</p></div></div></div>
256 <div
class=
"col-md-6 col-xl-3"><div
class=
"card h-100"><div
class=
"card-body"><h3>Darstellung</h3><p>
dbxTPL trennt Daten und Fachlogik von wiederverwendbaren Templates und Designs.</p></div></div></div>
259<h2>Benutzer, Rechte und Sicherheit</h2>
260<p>Module, Inhalte und Daten verwenden denselben Benutzer- und Gruppenkontext. DD-Rechte schützen Datenoperationen. Formulare und schreibende Aktionen erhalten zusätzlich die jeweils notwendige Absicherung gegen unbeabsichtigte Browseraktionen.</p>
262<h2>Desktop, Mobile, Intranet und Cloud</h2>
263<p>Dies sind keine getrennten Produkte, sondern Zugriffs- und Betriebsformen derselben Plattform. Die fachliche Codebasis bleibt gemeinsam; Design, Bereitstellung und Zugriffskontext können angepasst werden.</p>
265<h2>Schnittstellen und Erweiterungen</h2>
266<p>Neue Anforderungen werden als Module ergänzt. Sie können vorhandene Daten, Formulare, Reports, Workflows und CMS-Seiten nutzen. Bestehende Systeme lassen sich über klar definierte Schnittstellen einbinden.</p>
268<p><a
class=
"btn btn-primary" href=
"entwickler">Entwicklerüberblick</a> <a class="btn btn-outline-secondary" href="pakete">Betrieb und Pakete</a></p>
274 'title' =>
'Pakete und Betrieb passend zum Projekt',
275 'permalink' =>
'pakete',
276 'seo_title' =>
'dbxapp Pakete, Full Service und Self-Hosting',
277 'description' =>
'Website, Business, Intranet und individuelle Projekte lassen sich mit Full Service, Self-Hosting oder einer passenden Vereinbarung betreiben.',
278 'keywords' =>
'dbxapp Pakete, Full Service, Self-Hosting, Intranet, Enterprise, Website',
279 'content' => <<<
'HTML'
280<p
class=
"lead">Nicht jedes Projekt braucht denselben Umfang. Die Pakete beschreiben sinnvolle Einstiege; Funktionen und Betrieb werden anschließend passend zum tatsächlichen Bedarf vereinbart.</p>
282<div
class=
"table-responsive my-4">
283<table
class=
"table table-striped align-middle">
284 <thead><tr><th>Angebot</th><th>Geeignet für</th><th>Typischer Schwerpunkt</th></tr></thead>
286 <tr><th>Website</th><td>Unternehmen und Organisationen mit einem professionellen Internetauftritt</td><td>CMS, Medien, Design, Formulare und Mehrsprachigkeit</td></tr>
287 <tr><th>Business</th><td>Projekte, die Inhalte und Verkauf oder kleinere Anwendungen verbinden</td><td>Website, CMS, Shop, Benutzer und erste Prozessmodule</td></tr>
288 <tr><th>Intranet</th><td>Interne und geschützte Zusammenarbeit</td><td>Benutzer, Rechte, Inhalte, Formulare, Reports und Workflows</td></tr>
289 <tr><th>Individuell</th><td>Fachanwendungen und Systemintegration</td><td>Eigene Datenmodelle, Module, Schnittstellen und komplexere Abläufe</td></tr>
294<h2>Betriebsmodelle</h2>
295<div
class=
"row g-3 my-4">
296 <div
class=
"col-md-4"><div
class=
"card h-100"><div
class=
"card-body"><h3>Full Service</h3><p>Einrichtung, Hosting, Wartung und Weiterentwicklung werden passend zum vereinbarten Leistungsumfang übernommen.</p></div></div></div>
297 <div
class=
"col-md-4"><div
class=
"card h-100"><div
class=
"card-body"><h3>Self-Hosting</h3><p>Die eigene IT verantwortet Installation, Updates, Backups, Mail-Konfiguration und sicheren Betrieb.</p></div></div></div>
298 <div
class=
"col-md-4"><div
class=
"card h-100"><div
class=
"card-body"><h3>Individuelle Vereinbarung</h3><p>Aufgaben können geteilt werden, etwa eigener Betrieb mit Unterstützung bei Einrichtung oder Updates.</p></div></div></div>
302<p>Für gemeinnützige Organisationen kann ein Sondertarif oder ein reduzierter Einstieg vereinbart werden. Technisch bleibt es dieselbe belastbare Plattform; entscheidend sind Ziel, Umfang und verfügbare Mittel.</p>
304<p><a
class=
"btn btn-primary" href=
"kontakt">Passendes Angebot klären</a> <a class="btn btn-outline-secondary" href="demo">Demo testen</a></p>
310 'title' =>
'Referenzen und realistische Beispielprojekte',
311 'permalink' =>
'referenzen',
312 'seo_title' =>
'dbxapp Referenzen und Beispielprojekte',
313 'description' =>
'Realistisch beschriebene Beispielprojekte zeigen, wie CMS, Shop, Portale, Formulare, Reports und Workflows zusammenspielen.',
314 'keywords' =>
'dbxapp Referenzen, Beispielprojekt, CMS, Shop, Portal, Workflow',
315 'content' => <<<
'HTML'
316<p
class=
"lead">Eine Plattform überzeugt nicht durch allgemeine Versprechen, sondern durch nachvollziehbare Abläufe. Solange ein Projekt nicht als veröffentlichte Kundenreferenz freigegeben ist, kennzeichnen wir es ausdrücklich als Beispielprojekt.</p>
318<div
class=
"row g-4 my-4">
319 <div
class=
"col-lg-4"><div
class=
"card h-100"><div
class=
"card-body">
320 <span
class=
"badge text-bg-secondary mb-2">Beispielprojekt</span>
321 <h2>Service- und Kundenportal</h2>
322 <p><strong>Ausgangslage:</strong> Anfragen kommen über verschiedene Kanäle und sind schwer nachzuverfolgen.</p>
323 <p><strong>Umsetzung:</strong> Kontaktformular, geschützter Kundenbereich, Statusreport und Benachrichtigungen auf einer gemeinsamen Datenbasis.</p>
324 <p><strong>Ergebnis:</strong> Ein klarer Vorgang vom Eingang bis zur beantworteten Anfrage.</p>
326 <div
class=
"col-lg-4"><div
class=
"card h-100"><div
class=
"card-body">
327 <span
class=
"badge text-bg-secondary mb-2">Beispielprojekt</span>
328 <h2>Intranet mit Freigaben</h2>
329 <p><strong>Ausgangslage:</strong> Informationen, Formulare und Zuständigkeiten liegen in getrennten Werkzeugen.</p>
330 <p><strong>Umsetzung:</strong> Geschützte Inhalte, Benutzergruppen, Formulare, Reports und ein mehrstufiger Workflow.</p>
331 <p><strong>Ergebnis:</strong> Mitarbeitende finden Informationen und Aufgaben in derselben Oberfläche.</p>
333 <div
class=
"col-lg-4"><div
class=
"card h-100"><div
class=
"card-body">
334 <span
class=
"badge text-bg-secondary mb-2">Beispielprojekt</span>
335 <h2>Shop mit individueller Bearbeitung</h2>
336 <p><strong>Ausgangslage:</strong> Standardbestellungen und besondere B2B-Anfragen sollen gemeinsam bearbeitet werden.</p>
337 <p><strong>Umsetzung:</strong> Produktkatalog, Warenkorb, Bestellungen, kundenspezifische Formulare und interne Statusschritte.</p>
338 <p><strong>Ergebnis:</strong> Verkauf und anschließende Bearbeitung bleiben durchgängig verbunden.</p>
342<h2>Was eine veröffentlichte Referenz zeigen soll</h2>
343<p>Ausgangssituation, umgesetzte Funktionen, aussagekräftige Screenshots, messbares oder konkret beobachtbares Ergebnis und die eingesetzten dbxapp-Module. Kundennamen und Projektdaten werden nur mit ausdrücklicher Freigabe veröffentlicht.</p>
345<p><a
class=
"btn btn-primary" href=
"kontakt">Eigenen Anwendungsfall besprechen</a></p>
351 'title' =>
'dbxapp Demo kostenlos testen',
352 'permalink' =>
'demo',
353 'seo_title' =>
'dbxapp Demo für Windows anfordern',
354 'description' =>
'Fordern Sie die portable dbxapp Windows-Demo an und testen Sie CMS, Medien, Module und typische Abläufe lokal.',
355 'keywords' =>
'dbxapp Demo, Windows Demo, portable Anwendung, SQLite, Download',
356 'content' => <<<
'HTML'
357<p
class=
"lead">Mit der kostenlosen Demo gewinnen Sie einen ersten Eindruck davon, wie CMS-Inhalte, Medien, Benutzer und Module in dbxapp zusammenspielen.</p>
359<h2>Was Sie testen können</h2>
361 <li>Seiten und Inhalte im CMS ansehen und bearbeiten</li>
362 <li>Medien und Designs kennenlernen</li>
363 <li>Shop- und Modulfunktionen ausprobieren</li>
364 <li>Administration, Reports und typische Abläufe erkunden</li>
367<h2>Portable Windows-Version</h2>
368<p>Die Demo wird als ZIP-Paket bereitgestellt und kann lokal unter Windows gestartet werden. Sie verwendet eine vorbereitete Umgebung und SQLite-Datenbanken; ein externer MySQL-Server ist für diesen Test nicht erforderlich. Vor dem Start sollten die Installationshinweise gelesen werden.</p>
370<div
class=
"alert alert-info"><strong>Wichtig:</strong> Die Demo ist eine Testumgebung und kein produktiver Betrieb. Verwenden Sie darin keine echten vertraulichen oder personenbezogenen Geschäftsdaten.</div>
372<h2>Download-Link anfordern</h2>
373[modul=dbxDownLoad]dbx_run1=form[/modul]
375<h2>Noch unsicher, was Sie testen sollten?</h2>
376<p><a
class=
"btn btn-primary" href=
"kontakt">Frage zur Demo stellen</a> <a class="btn btn-outline-secondary" href="dokumentation">Installationshinweise öffnen</a></p>
382 'title' =>
'Für Entwickler: dbxapp sauber erweitern',
383 'permalink' =>
'entwickler',
384 'seo_title' =>
'dbxapp für Entwickler: Architektur und Module',
385 'description' =>
'Ein Überblick über Module, dbxDB, DD, FD, dbxForm, dbxReport, dbxTPL, Self-Hosting und die Erweiterung von dbxapp.',
386 'keywords' =>
'dbxapp Entwickler, Modul, dbxDB, dbxForm, dbxReport, dbxTPL, DD, FD',
387 'content' => <<<
'HTML'
388<p
class=
"lead">dbxapp stellt wiederkehrende technische Aufgaben zentral bereit. Entwickler konzentrieren sich auf die Fachlogik eines Moduls und nutzen für Daten, Formulare, Reports und Templates ein gemeinsames Vorgehen.</p>
390<h2>Verbindliche Bausteine</h2>
392 <dt
class=
"col-sm-3">
dbxDB und DD</dt><dd class="col-sm-9">Datenzugriff, Serverbindung, Tabellenbeschreibung, Rechte und automatische Systemfelder.</dd>
393 <dt
class=
"col-sm-3">
dbxForm und FD</dt><dd class="col-sm-9">Felder, Validierung, sprachabhängige Meldungen, Speichern und Ajax-Verhalten.</dd>
398<h2>Module statt Sonderwege</h2>
399<p>Ein Modul kapselt seine Fachlogik, DDs, FDs und Templates. Es verwendet die vorhandenen Kernel-Fähigkeiten direkt und führt keinen parallelen Datenbank-, Formular-, Template- oder Sicherheitsstapel ein.</p>
401<h2>Gemischte Datenbankserver</h2>
402<p>Jedes DD kann an einen eigenen Server gebunden sein. Eine Installation darf SQLite- und MySQL-Tabellen kombinieren. Modulcode greift deshalb nie direkt auf eine konkrete Datenbankdatei oder PDO-Verbindung zu, sondern ausschließlich über
dbxDB und das zuständige DD.</p>
404<h2>Self-Hosting und Updates</h2>
405<p>Lokale Konfiguration und Daten bleiben von Release-Dateien getrennt. Datenbankänderungen werden versionsbezogen über DD-Migrationen ausgeführt und müssen bestehende Serverbindungen respektieren.</p>
407<p><a
class=
"btn btn-primary" href=
"dokumentation">Technische Dokumentation</a> <a class="btn btn-outline-secondary" href="kontakt">Entwicklungsprojekt anfragen</a></p>
413 'title' =>
'Dokumentation und Tutorials',
414 'permalink' =>
'dokumentation',
415 'seo_title' =>
'dbxapp Dokumentation und Tutorials',
416 'description' =>
'Einstieg in Benutzerhandbuch, Entwicklerdokumentation und Tutorials für dbxapp.',
417 'keywords' =>
'dbxapp Dokumentation, Benutzerhandbuch, Entwicklerdokumentation, Tutorial',
418 'content' => <<<
'HTML'
419<p
class=
"lead">Marketingseiten erklären Nutzen und Angebot. Konkrete Bedienung, Klassen, Modulaufrufe und technische Abläufe gehören in die eigenständige Dokumentation.</p>
421<div
class=
"row g-4 my-4">
422 <div
class=
"col-md-4"><div
class=
"card h-100"><div
class=
"card-body"><h2>Benutzerhandbuch</h2><p>Schritt-für-Schritt-Anleitungen für CMS, Medien, Shop, Benutzer und tägliche Aufgaben.</p></div></div></div>
423 <div
class=
"col-md-4"><div
class=
"card h-100"><div
class=
"card-body"><h2>Entwicklerdokumentation</h2><p>Architektur, Kernel-Klassen, DD, FD, Module, Templates, Sicherheit und verbindliche Vorgehensweisen.</p></div></div></div>
424 <div
class=
"col-md-4"><div
class=
"card h-100"><div
class=
"card-body"><h2>Tutorials</h2><p>Zusammenhängende Beispiele für typische Verwaltungs-, Content-, Shop-, Workflow- und Designaufgaben.</p></div></div></div>
427<p><a
class=
"btn btn-primary" href=
"https://doku.dbxapp.de/">Dokumentation öffnen</a></p>
429<div
class=
"alert alert-secondary">Die bisherigen lokalen Hilfe- und Tutorialseiten bleiben erhalten, werden aber nicht mehr als öffentliche Marketingseiten indexiert.</div>
435 'title' =>
'Über uns und Kontakt',
436 'permalink' =>
'kontakt',
437 'seo_title' =>
'dbxapp kennenlernen und Projekt besprechen',
438 'description' =>
'Beschreiben Sie Ihre Ziele, vorhandenen Systeme und gewünschten Abläufe. Wir klären gemeinsam, ob und wie dbxapp dazu passt.',
439 'keywords' =>
'dbxapp Kontakt, Beratung, Projektanfrage, CMS, Shop, Fachanwendung',
440 'content' => <<<
'HTML'
441<p
class=
"lead">Eine gute Lösung beginnt nicht mit möglichst vielen Funktionen, sondern mit einem klaren Verständnis der Aufgabe. Beschreiben Sie, was heute schwierig ist und welches Ergebnis erreicht werden soll.</p>
443<h2>So gehen wir vor</h2>
445 <li><strong>Ausgangslage verstehen:</strong> Ziele, Benutzer, Daten, vorhandene Systeme und Rahmenbedingungen klären.</li>
446 <li><strong>Sinnvollen Einstieg bestimmen:</strong> Website, Shop, Portal oder Fachanwendung fachlich abgrenzen.</li>
447 <li><strong>Vorgehen transparent planen:</strong> Funktionen, Betrieb, Verantwortlichkeiten und nächste Schritte nachvollziehbar festhalten.</li>
448 <li><strong>Schrittweise umsetzen:</strong> Mit einem prüfbaren Kern beginnen und Erweiterungen kontrolliert ergänzen.</li>
451<h2>Was in eine erste Anfrage gehört</h2>
452<p>Eine kurze Beschreibung des Problems, die wichtigsten Benutzergruppen, vorhandene Systeme, gewünschte Funktionen und die bevorzugte Betriebsform. Vertrauliche Detaildaten sind für den ersten Kontakt nicht erforderlich.</p>
454[modul=dbxContact]dbx_run1=form[/modul]
460 'title' =>
'dbxapp – CMS, Shop und individuelle Anwendungen',
461 'seo_title' =>
'dbxapp: CMS, Shop und individuelle Anwendungen',
462 'description' =>
'dbxapp verbindet Website und CMS, Shop, Portale und individuelle Geschäftsanwendungen auf einer gemeinsamen modularen Plattform.',
463 'keywords' =>
'dbxapp, CMS, Shop, Fachanwendung, Portal, Workflow, Self-Hosting',
464 'content' => <<<
'HTML'
465<p
class=
"lead">dbxapp verbindet Website und CMS, Shop, Portale und individuelle Geschäftsanwendungen auf einer gemeinsamen Plattform. Inhalte, Benutzer, Daten und Abläufe greifen ineinander, statt in getrennten Systemen gepflegt zu werden.</p>
467<div
class=
"row g-4 my-4">
468 <div
class=
"col-md-6 col-xl-3"><div
class=
"card h-100"><div
class=
"card-body"><h2>Website und CMS</h2><p>Seiten, Medien, Designs und mehrsprachige Inhalte professionell verwalten.</p><a href=
"cms-website">Mehr erfahren</a></div></div></div>
469 <div
class=
"col-md-6 col-xl-3"><div
class=
"card h-100"><div
class=
"card-body"><h2>Shop und Multichannel</h2><p>Produkte, Bestellungen und Vertriebskanäle nachvollziehbar verbinden.</p><a href=
"shop-multichannel">Mehr erfahren</a></div></div></div>
470 <div
class=
"col-md-6 col-xl-3"><div
class=
"card h-100"><div
class=
"card-body"><h2>Individuelle Anwendungen</h2><p>Formulare, Reports und Workflows passend zu den tatsächlichen Aufgaben.</p><a href=
"individuelle-anwendungen">Mehr erfahren</a></div></div></div>
471 <div
class=
"col-md-6 col-xl-3"><div
class=
"card h-100"><div
class=
"card-body"><h2>Intranet und Portale</h2><p>Geschützte Inhalte und Funktionen für Mitarbeitende, Kunden und Partner.</p><a href=
"intranet-portale">Mehr erfahren</a></div></div></div>
474<h2>Weniger Insellösungen, klarere Abläufe</h2>
475<p>Viele Unternehmen pflegen Inhalte, Kundendaten, Bestellungen, Formulare und interne Vorgänge in getrennten Werkzeugen. Das erzeugt doppelte Arbeit, Medienbrüche und unklare Zuständigkeiten. dbxapp stellt dafür einen gemeinsamen Kern bereit: Benutzer und Rechte, Datenzugriff, Formulare, Reports, Templates, Medien und Module folgen denselben Regeln.</p>
477<h2>Für wen eignet sich dbxapp?</h2>
478<p>Für Unternehmen und Organisationen, die mit einer professionellen Website starten oder bestehende digitale Abläufe zusammenführen möchten. Besonders sinnvoll ist die Plattform, wenn Standardfunktionen mit individuellen Anforderungen verbunden werden sollen.</p>
480<h2>Flexibel betreiben</h2>
481<p>dbxapp kann als betreuter Full Service, auf eigener Infrastruktur, im Intranet oder auf geeignetem Hosting betrieben werden. Die fachliche Anwendung bleibt dieselbe; Betrieb und Verantwortung werden passend zum Projekt gewählt.</p>
483<h2>Warum eine gemeinsame Plattform?</h2>
485 <li>Inhalte und Funktionen werden nicht mehrfach gepflegt.</li>
486 <li>Benutzer und Rechte gelten über Modulgrenzen hinweg.</li>
487 <li>Neue Anforderungen ergänzen die bestehende Lösung.</li>
488 <li>Systemstatus und Laufzeiten bleiben nachvollziehbar.</li>
489 <li>KI-Unterstützung arbeitet mit Briefing, Prüfung und Freigabe.</li>
492<div
class=
"alert alert-primary">
493 <strong>dbxapp kennenlernen:</strong>
494 <a
class=
"btn btn-primary ms-md-3 mt-2 mt-md-0" href=
"demo">Demo anfordern</a>
495 <a
class=
"btn btn-outline-primary ms-2 mt-2 mt-md-0" href=
"kontakt">Projekt besprechen</a>
502 'template' =>
'c-marketing-body1-footer',
507 'meta_robots' =>
'index,follow',
512 'hero_template' =>
'none',
513 'hero_image_id' =>
'none',
514 'hero_margin_top' =>
'0',
515 'hero_height' =>
'parent',
516 'hero_variant' =>
'parent',
517 'gallery_template' =>
'',
518 'gallery_visible_count' =>
'',
519 'gallery_image_size' =>
'',
520 'gallery_overflow' =>
'',
521 'gallery_click_behavior' =>
'',
522 'hero_sticky' =>
'0',
523 'hero_scroll_layer' =>
'under',
524 'gallery_lightbox_width' =>
'parent',
525 'lng_sync' =>
'auto',
527 'lng_synced_rev' => 0,
531 2 => array(
'name' =>
'Lösungen',
'parent_id' => 1,
'group_read' =>
'*',
'sorter' =>
'0010'),
532 3 => array(
'name' =>
'Entwickler',
'parent_id' => 1,
'group_read' =>
'*',
'sorter' =>
'0030'),
533 11 => array(
'name' =>
'Plattform',
'parent_id' => 1,
'group_read' =>
'*',
'sorter' =>
'0020'),
534 12 => array(
'name' =>
'Archiv: Beispiele',
'parent_id' =>
$trashId,
'group_read' =>
'admin'),
535 15 => array(
'name' =>
'Dokumentation und Tutorials',
'parent_id' => 9,
'group_read' =>
'*'),
536 18 => array(
'name' =>
'Archiv: Pakete',
'parent_id' =>
$trashId,
'group_read' =>
'admin'),
537 19 => array(
'name' =>
'trash',
'parent_id' => 0,
'group_read' =>
'admin'),
541 'mode' =>
$apply ?
'apply' :
'dry-run',
546 'target_pages_planned' => count(
$pages) + 1,
550 'documentation_noindex' => 0,
554 echo json_encode(
$result, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES) . PHP_EOL;
560 fwrite(STDERR,
"Content-Datenbank nicht gefunden: {$dbFile}\n");
565 fwrite(STDERR,
"Backup-Verzeichnis konnte nicht angelegt werden.\n");
570 fwrite(STDERR,
"Datenbank-Backup konnte nicht erstellt werden.\n");
576 fwrite(STDERR,
"Die dbxDB-Transaktion konnte nicht gestartet werden.\nBackup: {$backupFile}\n");
583 throw new RuntimeException(
'Der deutsche Ordner /trash mit ID 19 fehlt.');
587 if (
$db->update(
$folderDd, $changes, (
int)$id, 0) !== 1) {
588 throw new RuntimeException(
"Ordner {$id} konnte nicht aktualisiert werden.");
596 throw new RuntimeException(
"Archivquelle content_de#{$id} fehlt.");
602 'group_read' =>
'admin',
603 'meta_robots' =>
'noindex,nofollow',
605 throw new RuntimeException(
"Seite content_de#{$id} konnte nicht nach /trash verschoben werden.");
612 throw new RuntimeException(
'Die konfigurierte deutsche Startseite content_de#1 fehlt.');
616 'permalink' =>
'home',
619 'lng_rev' => max(1, (
int)(
$homeRow[
'lng_rev'] ?? 1)) + 1,
623 throw new RuntimeException(
'Die deutsche Startseite konnte nicht aktualisiert werden.');
628 $permalink = (string)
$page[
'permalink'];
629 $existing =
$db->select1(
$contentDd, array(
'permalink' => $permalink),
'id,lng_uid,lng_rev', 0);
631 if (is_array($existing) && (
int)($existing[
'id'] ?? 0) > 0) {
632 $id = (int)$existing[
'id'];
633 $record[
'lng_rev'] = max(1, (
int)($existing[
'lng_rev'] ?? 1)) + 1;
634 unset($record[
'lng_synced_rev']);
636 throw new RuntimeException(
"Zielseite {$permalink} konnte nicht aktualisiert werden.");
642 $record[
'lng_uid'] = dbxContentLngSync::newUid(
'p');
643 if (
$db->insert(
$contentDd, $record, 0, 1, 0, 1) !== 1 || (
int)
$db->get_insert_id() <= 0) {
644 throw new RuntimeException(
"Zielseite {$permalink} konnte nicht angelegt werden.");
661 $id = (int)($row[
'id'] ?? 0);
666 'meta_robots' =>
'noindex,follow',
669 throw new RuntimeException(
"Dokumentationsseite content_de#{$id} konnte nicht auf noindex gesetzt werden.");
671 $result[
'documentation_noindex']++;
675 33 => array(
'title' =>
'DataDic Übersicht'),
676 41 => array(
'title' =>
'Sprachen & Übersetzung — Benutzerhandbuch'),
677 55 => array(
'addmenu' => 0),
678 ) as $id => $changes) {
680 throw new RuntimeException(
"Deutsche Seite content_de#{$id} konnte nicht bereinigt werden.");
686 throw new RuntimeException(
'Die dbxDB-Transaktion konnte nicht abgeschlossen werden.');
688}
catch (Throwable $e) {
690 fwrite(STDERR, $e->getMessage() .
"\nBackup: {$backupFile}\n");
695dbxContentSitemap::invalidate();
706 array(
'permalink' => $permalink),
707 'id,permalink,title,folder,activ,meta_robots',
711 && (
int)($row[
'id'] ?? 0) > 0
712 && (
int)($row[
'activ'] ?? 0) === 1
713 && (
string)($row[
'meta_robots'] ??
'') ===
'index,follow') {
720echo json_encode(
$result, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES) . PHP_EOL;
Zentrale Datenbank- und DD-Systemklasse von DBX.
$_SERVER['REQUEST_METHOD']
foreach($targets as $permalink) $archiveIds
foreach($archiveIds as $id) $trash
if(!is_file($dbFile)) $backupDir
if(!is_dir($backupDir) &&!mkdir($backupDir, 0775, true) &&!is_dir($backupDir)) $backupFile
DBX schema administration.
if(!is_array($trash)||(int)($trash['id'] ?? 0) !==$trashId) foreach( $folderChanges as $id=> $changes) foreach($archiveIds as $id) $homeRow
foreach(is_array( $documentationRows) ? $documentationRows :array() as $row) foreach(array(33=> array('title'=> 'DataDic Übersicht'), 41=> array('title'=> 'Sprachen &Übersetzung — Benutzerhandbuch'), 55=> array('addmenu'=> 0),) as $id=> $changes) if( $db->commit( $contentDd) !==1) catch(Throwable $e $cacheStats)
if(!is_object($db)||! $db->connect_db_server('dbx|dbxContent.db3')) $trashId
if(PHP_SAPI !=='cli') $apply
if(!is_array($homeRow)||(int)($homeRow['id'] ?? 0) !==1) $homeUpdate
foreach($pages as $page) $targetRows
foreach($pages as $page) $documentationRows
if($cinematic===''||!str_contains($cinematic, 'data-dbx-cinema')) $page