Improve the UI/UX of the license form
authorAlexander Ebert <ebert@woltlab.com>
Sat, 8 Apr 2023 15:26:13 +0000 (17:26 +0200)
committerAlexander Ebert <ebert@woltlab.com>
Mon, 17 Apr 2023 16:45:10 +0000 (18:45 +0200)
wcfsetup/install/files/lib/acp/form/FirstTimeSetupLicenseForm.class.php
wcfsetup/install/lang/de.xml
wcfsetup/install/lang/en.xml

index 5d94e78e1a6c907ff88dec1f3137066222d9c100..403c3f84a58d041096a556c4db112469dbe0416c 100644 (file)
@@ -62,21 +62,23 @@ final class FirstTimeSetupLicenseForm extends AbstractFormBuilderForm
         parent::createForm();
 
         $this->form->appendChildren([
-            LanguageItemFormNode::create('explanation')
-                ->languageItem('wcf.acp.firstTimeSetup.license.explanation'),
             $credentialsContainer = FormContainer::create('credentials')
                 ->label('wcf.acp.firstTimeSetup.license.credentials')
+                ->description('wcf.acp.firstTimeSetup.license.explanation')
                 ->appendChildren([
                     TextFormField::create('licenseNo')
                         ->label('wcf.acp.package.update.licenseNo')
+                        ->description('wcf.acp.firstTimeSetup.license.credentials.customerArea')
                         ->required()
-                        ->maximumLength(255)
+                        ->maximumLength(12)
+                        ->addFieldClass('short')
                         ->placeholder('123456'),
                     TextFormField::create('serialNo')
                         ->label('wcf.acp.package.update.serialNo')
                         ->required()
-                        ->maximumLength(255)
-                        ->placeholder('AB12-34CD-E56F-12AB-7890')
+                        ->maximumLength(40)
+                        ->addFieldClass('medium')
+                        ->placeholder('XXXX-XXXX-XXXX-XXXX-XXXX')
                         ->addValidator(new FormFieldValidator('serialNo', function (TextFormField $serialNo) {
                             $licenseNo = $serialNo->getDocument()->getNodeById('licenseNo');
                             \assert($licenseNo instanceof TextFormField);
@@ -104,11 +106,6 @@ final class FirstTimeSetupLicenseForm extends AbstractFormBuilderForm
                         ->description('wcf.acp.firstTimeSetup.license.noCredentialsConfirm.description'),
                 ]),
         ]);
-
-        $credentialsContainer->addDependency(
-            EmptyFormFieldDependency::create('noCredentialsConfirm')
-                ->fieldId('noCredentialsConfirm')
-        );
     }
 
     private function getLicenseData(string $licenseNo, string $serialNo): array
index 7123b0febc52c9bb69e72b16796d40fcb00fcb3c..84d6d5bb2034e50655f8ae657f0f78537370a31f 100644 (file)
@@ -688,9 +688,10 @@ Sie erreichen das Fehlerprotokoll unter: {link controller='ExceptionLogView' isE
        <category name="wcf.acp.firstTimeSetup">
                <item name="wcf.acp.firstTimeSetup.license"><![CDATA[Erstmalige Einrichtung: Lizenz]]></item>
                <item name="wcf.acp.firstTimeSetup.license.credentials"><![CDATA[Lizenzdaten]]></item>
+               <item name="wcf.acp.firstTimeSetup.license.credentials.customerArea"><![CDATA[{if LANGUAGE_USE_INFORMAL_VARIANT}Du findest{else}Sie finden{/if} die Lizenz- und Seriennummer im <a href="https://www.woltlab.com/license-list/" class="externalURL">Kundenbereich auf woltlab.com</a>.]]></item>
                <item name="wcf.acp.firstTimeSetup.license.credentials.error.failedConnect"><![CDATA[Es konnte keine ausgehende Verbindung zur Überprüfung der Lizenzdaten aufgebaut werden.]]></item>
                <item name="wcf.acp.firstTimeSetup.license.credentials.error.failedValidation"><![CDATA[Die Gültigkeit der Lizenzdaten konnte nicht bestätigt werden.]]></item>
-               <item name="wcf.acp.firstTimeSetup.license.noCredentials"><![CDATA[Jetzt nicht?]]></item>
+               <item name="wcf.acp.firstTimeSetup.license.noCredentials"><![CDATA[Schritt überspringen (Nicht empfohlen)]]></item>
                <item name="wcf.acp.firstTimeSetup.license.noCredentialsConfirm"><![CDATA[Ohne Eingabe der Lizenzdaten fortfahren]]></item>
                <item name="wcf.acp.firstTimeSetup.license.explanation"><![CDATA[<p>Die Eingabe von Lizenzdaten ist zur Installation und zur Aktualisierung der gekauften WoltLab Suite™-Apps erforderlich.</p>]]></item>
                <item name="wcf.acp.firstTimeSetup.license.noCredentialsConfirm.description"><![CDATA[Die Eingabe der Lizenzdaten wird empfohlen. Falls noch keine Internetverbindung zu unseren Paket-Servern zur Verfügung steht oder Sie noch keine Lizenzdaten besitzen, können Sie die Eingabe überspringen. Lizenzdaten können jederzeit hinterlegt werden, um die gekauften WoltLab Suite™-Apps zu installieren.]]></item>
index ef7cc4d8000046e406d5165963a112ec25f44ade..504803e2cafcc41403cf331b55563692a72681cf 100644 (file)
@@ -666,9 +666,10 @@ You can access the error log at: {link controller='ExceptionLogView' isEmail=tru
        <category name="wcf.acp.firstTimeSetup">
                <item name="wcf.acp.firstTimeSetup.license"><![CDATA[First Time Setup: License]]></item>
                <item name="wcf.acp.firstTimeSetup.license.credentials"><![CDATA[License Data]]></item>
+               <item name="wcf.acp.firstTimeSetup.license.credentials.customerArea"><![CDATA[You can find the license and serial no in the <a href="https://www.woltlab.com/license-list/" class="externalURL">customer’s area on woltlab.com</a>.]]></item>
                <item name="wcf.acp.firstTimeSetup.license.credentials.error.failedConnect"><![CDATA[Failed to establish a connection to confirm the license data.]]></item>
                <item name="wcf.acp.firstTimeSetup.license.credentials.error.failedValidation"><![CDATA[The license data could not be confirmed as valid.]]></item>
-               <item name="wcf.acp.firstTimeSetup.license.noCredentials"><![CDATA[Not now?]]></item>
+               <item name="wcf.acp.firstTimeSetup.license.noCredentials"><![CDATA[Skip Step (Not Recommended)]]></item>
                <item name="wcf.acp.firstTimeSetup.license.noCredentialsConfirm"><![CDATA[Continue without entering license information]]></item>
                <item name="wcf.acp.firstTimeSetup.license.explanation"><![CDATA[<p>Entering license credentials is required to install and update the purchased WoltLab Suite™ Apps.</p>]]></item>
                <item name="wcf.acp.firstTimeSetup.license.noCredentialsConfirm.description"><![CDATA[Entering license information is recommended. If no network connection to our package servers is available yet, or if you do not yet have license information, you can skip this step. License information can be entered at any time to install purchased WoltLab Suite™ Apps.]]></item>