diff --git a/VERSION b/VERSION index 4fc01ac..3c59b40 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.3.19 +1.3.20 diff --git a/app/Support/OfficialDomains.php b/app/Support/OfficialDomains.php index 3849731..46054aa 100644 --- a/app/Support/OfficialDomains.php +++ b/app/Support/OfficialDomains.php @@ -31,6 +31,21 @@ class OfficialDomains $entries[] = ['host' => (string) $host, 'what' => 'site']; } + // The host this page is being served from, always. + // + // Without it an installation that has not configured SITE_HOST — a + // development box, or one reached by a name nobody wrote into the + // config — listed ONLY the instance zone, and described it as the + // customers' domain. So the page a visitor opened to check our + // addresses omitted the address they had just typed, and named the + // wrong thing as ours. Reported exactly that way. + // + // Deduplicated below by hostname, so a configured site host does not + // appear twice. + if (($current = request()?->getHost()) && ! in_array($current, array_column($entries, 'host'), true)) { + $entries[] = ['host' => $current, 'what' => 'site']; + } + if ($app = (string) config('admin_access.app_host')) { $entries[] = ['host' => $app, 'what' => 'portal']; } diff --git a/resources/views/landing.blade.php b/resources/views/landing.blade.php index 015973c..629c26a 100644 --- a/resources/views/landing.blade.php +++ b/resources/views/landing.blade.php @@ -135,7 +135,7 @@ ['99,95', '99.95', 2, '% Verfügbarkeit'], ['365', '365', 0, 'Sicherungen pro Jahr'], ['12', '12', 0, 'Wiederherstellungstests'], - ['20', '20', 0, 'Minuten bis zum Betrieb'], + ['0', '0', 0, 'Termine bis zum Start'], ['0', '0', 0, 'Datenverluste'], ] as [$shown, $target, $decimals, $label])
@@ -262,8 +262,19 @@ {{-- ════ The dark hinge — how it arrives ════════════════════════════════ --}}
+ {{-- No clock anywhere in this section any more. + "In 20 Minuten betriebsbereit", a log with minute marks down the + side, "betriebsbereit in unter 20 Minuten" — three promises about + a duration nobody controls. A provisioning run waits on a + hypervisor, on a certificate authority and on DNS propagating; + when it is done it is done, and a customer who once waited + forty minutes has been told something untrue by their supplier. + + What replaces it is the thing that IS promised and IS kept: the + order of the steps, and a message when it is ready. Nobody has to + sit and watch. --}}
-

In 20 Minuten betriebsbereit

+

Ohne Termin, ohne Warten

Nur der erste Schritt ist Ihrer.

@@ -272,7 +283,7 @@
    @foreach ([ - ['Sie', 'Paket wählen', 'Zwei Minuten online. Die Instanz wird unmittelbar danach automatisch erstellt.'], + ['Sie', 'Paket wählen', 'Ein Formular online. Unmittelbar danach beginnt die Instanz von selbst zu entstehen — Sie müssen nichts weiter tun und auf nichts warten.'], ['Wir', 'Einrichtung', 'Benutzer und Rechte, Ordnerstruktur, Ihr Logo, Ihre Domain. Auf Wunsch übernehmen wir Bestandsdaten aus Dropbox, OneDrive oder vom alten Server — mit schriftlichem Übernahmeprotokoll.'], ['Gemeinsam', 'Einschulung', '45 Minuten für Ihr Team per Videokonferenz, Kurzanleitung als PDF mit Ihren eigenen Screenshots.'], ] as $i => [$who, $what, $body]) @@ -296,23 +307,31 @@ Bereitstellungsprotokoll Beispiel
+ {{-- The steps in order, ticked as they pass. The column that + held minute marks now holds a number: WHAT happens and in + which order is a promise that can be kept. --}} @foreach ([ - ['0:40', 'Instanz erstellt und gestartet'], - ['1:10', 'Verschlüsselung und Firewall aktiv'], - ['2:30', 'Domain verbunden, Zertifikat ausgestellt'], - ['4:15', 'Erste Sicherung angelegt und geprüft'], - ['5:00', 'Logo und Farben hinterlegt'], - ] as [$at, $what]) -
- + 'Instanz erstellt und gestartet', + 'Verschlüsselung und Firewall aktiv', + 'Domain verbunden, Zertifikat ausgestellt', + 'Erste Sicherung angelegt und geprüft', + 'Logo und Farben hinterlegt', + ] as $i => $what) +
+ + + {{ $what }} - OK + {{ $i + 1 }}/5
@endforeach -

- - Instanz betriebsbereit in unter 20 Minuten. -

+
+ +

+ Fertig. Sie bekommen eine E-Mail mit Adresse und Zugangsdaten, + sobald Ihre Cloud bereit ist — Sie müssen nicht danebensitzen. +

+
@@ -669,7 +688,7 @@ @foreach ([ ['Was passiert mit unseren Daten, wenn wir kündigen?', 'Sie erhalten vor Vertragsende einen vollständigen Export in offenen Standardformaten. Ihre Cloud basiert auf Open-Source-Software — Sie sind nie eingesperrt. Nach der Übergabe löschen wir Instanz und Sicherungen und bestätigen das schriftlich.'], ['Ersetzt das Microsoft 365?', 'Es ersetzt den Dateiteil. Viele Kunden behalten Microsoft für E-Mail und nutzen die Cloud als zentrale, sichere Ablage statt OneDrive oder Dropbox — zum fixen Firmenpreis statt pro Benutzer.'], - ['Wie lange dauert die Einrichtung?', 'Die Instanz läuft wenige Minuten nach der Bestellung. Die vollständige Einrichtung — Benutzer und Rechte, Ordnerstruktur nach Branchenvorlage, Ihr Logo, Ihre Domain und die Einschulung — ist in drei bis sieben Werktagen abgeschlossen. Die Übernahme Ihrer Bestandsdaten aus Dropbox, OneDrive oder vom alten Server bieten wir gesondert an, inklusive schriftlichem Übernahmeprotokoll.'], + ['Wie lange dauert die Einrichtung?', 'Die Instanz entsteht unmittelbar nach der Bestellung von selbst; Sie bekommen eine E-Mail, sobald sie bereit ist. Eine Dauer nennen wir bewusst nicht — sie hängt an Dingen, die wir nicht allein in der Hand haben. Die vollständige Einrichtung — Benutzer und Rechte, Ordnerstruktur nach Branchenvorlage, Ihr Logo, Ihre Domain und die Einschulung — ist in drei bis sieben Werktagen abgeschlossen. Die Übernahme Ihrer Bestandsdaten aus Dropbox, OneDrive oder vom alten Server bieten wir gesondert an, inklusive schriftlichem Übernahmeprotokoll.'], ['Was, wenn jemand versehentlich Dateien löscht?', 'Papierkorb und Versionierung fangen den Alltag ab. Darüber hinaus gibt es tägliche Sicherungen mit 30 Tagen Aufbewahrung: Ein Anruf genügt, wir stellen den gewünschten Stand wieder her.'], ['Brauchen wir eigene IT-Kenntnisse?', 'Nein. Bedienen kann es jeder, der mit Ordnern und Dateien umgeht — dafür gibt es die Einschulung. Alles Technische übernehmen wir dauerhaft.'], ['Mit wem spreche ich bei Fragen?', 'Direkt mit uns, per E-Mail oder Telefon, auf Deutsch, mit Antwort am selben Werktag. Kein Callcenter, keine Warteschleife.'],