fix: bad page breaks

This commit is contained in:
Leon Etienne 2023-03-28 17:51:50 +02:00
parent ee9e249154
commit 92e34eec14
Signed by: leonetienne
SSH Key Fingerprint: SHA256:hs2AZKjRTbd2kYg44u89rM19UT2LyBOpSbIShsdkkfg
7 changed files with 42 additions and 34 deletions

View File

@ -56,9 +56,11 @@ keine Suggestivfragen zu stellen
\section{Online-Fragebögen für Stakeholder} \section{Online-Fragebögen für Stakeholder}
Um Fragebögen für Stakeholder formulieren zu können, muss zunächst bekannt sein, wer die Stakeholder sind. Um Fragebögen für Stakeholder formulieren zu können, muss zunächst bekannt sein, wer die Stakeholder sind.
\quotecite{Ein Stakeholder eines Systems ist eine Person oder Organisation, welche (direkt oder indirekt) \quotecite{Ein Stakeholder eines Systems ist eine Person oder Organisation, welche (direkt oder indirekt)
Einfluss auf die Anforderungen des betrachteten Systems hat.} \cite{bib:basiswissen-re}. \break{}Einfluss auf die Anforderungen des betrachteten Systems hat.}
\break\cite{bib:basiswissen-re}.
Daraus ergeben sich die Stakeholdergruppen: \enquote{Mitarbeiter \ac{WM}} und \enquote{teilnehmende Weingüter}. Daraus ergeben sich die Stakeholdergruppen: \enquote{Mitarbeiter \ac{WM}} und \enquote{teilnehmende Weingüter}.
Jede dieser Stakeholdergruppen sieht das System aus einer anderen Perspektive \cite{bib:kleine-re-fibel}. Jede dieser Stakeholdergruppen sieht das System aus einer anderen Perspektive
\break\cite{bib:kleine-re-fibel}.
Daher ist es wichtig, Einblicke und Bedürfnisse aller Stakeholdergruppen einzuholen Daher ist es wichtig, Einblicke und Bedürfnisse aller Stakeholdergruppen einzuholen
und die individuellen Perspektiven und Bedürfnisse dieser beim Entwurf der Fragebögen zu berücksichtigen. und die individuellen Perspektiven und Bedürfnisse dieser beim Entwurf der Fragebögen zu berücksichtigen.
Ebenso ist es wichtig, die wichtigsten Fragen am Anfang zu stellen, da Formulare nicht immer vollständig ausgefüllt werden Ebenso ist es wichtig, die wichtigsten Fragen am Anfang zu stellen, da Formulare nicht immer vollständig ausgefüllt werden
@ -82,11 +84,9 @@ die Probenteilnehmer übergeben.
Aus dem Interview mit dem \ac{PO} ergibt sich ein Pflichtenheft. Aus dem Interview mit dem \ac{PO} ergibt sich ein Pflichtenheft.
Das Pflichtenheft und das Protokoll zum Interview sind im Anhang unter je Das Pflichtenheft und das Protokoll zum Interview sind im Anhang unter je
\fullref{chap:anhang-pflichtenheft} und \fullref{chap:anhang-interview-protokoll} zu finden. \fullref{chap:anhang-pflichtenheft} und \fullref{chap:anhang-interview-protokoll} zu finden.
Ergebnisse dieses Interviews sind zahlreiche Anforderungen und Ideen. Eine der wichtigsten Ideen stellt das Ergebnisse dieses Interviews sind zahlreiche Anforderungen und Ideen. Eine der wichtigsten Ideen stellt das
projektbezogene, wöchentliche Statusmeeting dar: Jeden Donnerstag soll um 9:30 Uhr der aktuelle Stand projektbezogene, wöchentliche Statusmeeting dar: Jeden Donnerstag soll um 9:30 Uhr der aktuelle Stand
des Projektes vorgestellt, diskutiert und Rücksprache gehalten werden. des Projektes vorgestellt, diskutiert und Rücksprache gehalten werden.
Die wichtigsten Erkenntnisse des Interviews sind: Die wichtigsten Erkenntnisse des Interviews sind:
\begin{description} \begin{description}
\item[Endgerät für Scanning und Scanneranwendung]\hfill\\ \item[Endgerät für Scanning und Scanneranwendung]\hfill\\

View File

@ -30,7 +30,7 @@ die anschließend in Form eines Aufklebers an der Flasche befestigt wird. Anschl
\begin{nicepic} \begin{nicepic}
\includegraphics[width=1\textwidth]{images/geschäftsprozess-vorher.png} \includegraphics[width=1\textwidth]{images/geschäftsprozess-vorher.png}
\captionof{figure}{Geschäftsprozess Jahresauswahlprobe: vor der Digitalisierung} \captionof{figure}{Geschäftsprozess Jahresauswahlprobe:\\vor der Digitalisierung}
\caption*{Quelle: Eigene Darstellung} \caption*{Quelle: Eigene Darstellung}
\label{fig:geschaeftsprozess-vorher} \label{fig:geschaeftsprozess-vorher}
\end{nicepic} \end{nicepic}

View File

@ -7,7 +7,7 @@ Es ist anzumerken, dass das aus \fullref{chap:anforderungserfassung} hervorgehen
opportunistischer Gespräche mit dem \ac{PO} geringfügige Änderungen erfahren hat. opportunistischer Gespräche mit dem \ac{PO} geringfügige Änderungen erfahren hat.
\section{Setup einer TYPO3-Extension} \section{Setup einer TYPO3-Extension}
TYPO3-Extensions werden via Composer installiert \cite{bib:typo3-docs-managing-extensions}. TYPO3-Extensions werden via Composer installiert \break\cite{bib:typo3-docs-managing-extensions}.
Um eine TYPO3-Extension zu erstellen, muss also ein Composer-Paket erstellt werden. Um eine TYPO3-Extension zu erstellen, muss also ein Composer-Paket erstellt werden.
Um vermeidbare Komplexität zu verhindern, wird das Composer-Paket, welches die hier betrachtete Um vermeidbare Komplexität zu verhindern, wird das Composer-Paket, welches die hier betrachtete
TYPO3-Extension darstellt, lokal in den versionierten Ordner \enquote{packages} gelegt. TYPO3-Extension darstellt, lokal in den versionierten Ordner \enquote{packages} gelegt.
@ -23,8 +23,8 @@ Spezifisch ist der \enquote{vergleichbare Funktionsumfang}, dass es Datenmodelle
Frontendlogik in Bezug auf die zuvor genannten Datenmodelle gibt. Frontendlogik in Bezug auf die zuvor genannten Datenmodelle gibt.
\section{Digitization} \section{Digitization}
Die Phase der Digitizion nach Verhoef et al. befasst sich mit der digitalen Abbildung von Objekten der realen Welt Die Phase der Digitizion nach Verhoef et al. befasst sich mit der digitalen Abbildung von Objekten aus der realen Welt
in einer Art und Weise, sodass diese elektronisch weiterverarbeitet werden können\\\cite{bib:dougherty, bib:loebbecke}. in einer Art und Weise, die ermöglicht, dass diese elektronisch weiterverarbeitet werden können\break\cite{bib:dougherty, bib:loebbecke}.
Des Weiteren befasst sich diese Phase mit der Automatisierung und Befüllung dieser Daten, Des Weiteren befasst sich diese Phase mit der Automatisierung und Befüllung dieser Daten,
wie zum Beispiel Web-Formularen \cite{bib:verhoef}. wie zum Beispiel Web-Formularen \cite{bib:verhoef}.
Das bedeutet, dass in dieser Phase Datenobjekte definiert und implementiert werden. Das bedeutet, dass in dieser Phase Datenobjekte definiert und implementiert werden.
@ -137,7 +137,9 @@ Accountregistrierungen werden über den
Frontend-Nutzer-Login gelöst werden. Das ist explizit von \enquote{femanager} so angedacht: Frontend-Nutzer-Login gelöst werden. Das ist explizit von \enquote{femanager} so angedacht:
\quotecite{Note: Login and a I forgot my password function is part of the core and not part of femanager.} \quotecite{Note: Login and a I forgot my password function is part of the core and not part of femanager.}
\cite{bib:typo3-docs-femanager}. \cite{bib:typo3-docs-femanager}.
Im Folgenden wird der Registrierungsprozess im Detail beschrieben:\\ Im Folgenden wird der Registrierungsprozess im Detail beschrieben:
\\
\\
Grundlegend gibt es drei relevante Nutzerzustände vor der Registrierung: Grundlegend gibt es drei relevante Nutzerzustände vor der Registrierung:
\begin{enumerate} \begin{enumerate}
\item Kein Mitglied \item Kein Mitglied
@ -158,7 +160,7 @@ Stammdatenformular konfrontiert. Dabei handelt es sich um Angaben zum teilnehmen
Wird dieses Formular abgeschickt, ist die Teilnehmerregistrierung abgeschlossen. Wird dieses Formular abgeschickt, ist die Teilnehmerregistrierung abgeschlossen.
\subsubsection*{Mitglied, mit Konto} \subsubsection*{Mitglied, mit Konto}
Ist ein Nutzer ein \ac{WN}-Mitglied und hat bereits ein Mitgliedskonto, muss dieser auf der Registrierungsseite Ist ein Nutzer ein \ac{WM}-Mitglied und hat bereits ein Mitgliedskonto, muss dieser auf der Registrierungsseite
\enquote{Ich bin ein Mitglied} auswählen. An dieser Stelle navigiert der Browser zu einem Login-Formular. \enquote{Ich bin ein Mitglied} auswählen. An dieser Stelle navigiert der Browser zu einem Login-Formular.
Hier kann sich das Mitglied anmelden. Tut es dies erfolgreich, erstellt der Controller einen neuen Hier kann sich das Mitglied anmelden. Tut es dies erfolgreich, erstellt der Controller einen neuen
Teilnehmer-Eintrag für den Frontend-Nutzer und fügt den Frontend-Nutzer der Nutzergruppe \enquote{Teilnehmer} hinzu. Teilnehmer-Eintrag für den Frontend-Nutzer und fügt den Frontend-Nutzer der Nutzergruppe \enquote{Teilnehmer} hinzu.
@ -184,14 +186,15 @@ realisiert.
Anpassungen der versendeten Emails erfolgen durch Überschreiben der Email-Templates von Femanager. Anpassungen der versendeten Emails erfolgen durch Überschreiben der Email-Templates von Femanager.
Weiterleitungen zu bestimmten Seiten, nachdem ein Nutzer spezielle Events ausgelöst hat, können über TypoScript Weiterleitungen zu bestimmten Seiten, nachdem ein Nutzer spezielle Events ausgelöst hat, können über TypoScript
konfiguriert werden \cite{bib:typo3-docs-femanager}. Logins werden über das TYPO3-Native Loginformular konfiguriert werden \cite{bib:typo3-docs-femanager}. Logins werden über das TYPO3-Native Loginformular
gelöst. Im TYPO3-Loginformular können Weiterleitungen zu spezialisierten Seiten im Backend-UI festgelegt werden. gelöst. Im TYPO3-Loginformular können Weiterleitungen zu spezialisierten Seiten im Backend-UI festgelegt werden
\cite{bib:typo3-docs-felogin}. \break\cite{bib:typo3-docs-felogin}.
Für alle funktionalen Belange wird ein TYPO3-Plugin registriert. Dieses Plugin verfügt über einen Für alle funktionalen Belange wird ein TYPO3-Plugin registriert. Dieses Plugin verfügt über einen
ActionController, der Nutzeranfragen an PHP-Funktionen (\enquote{Actions}) ActionController, der Nutzeranfragen an PHP-Funktionen (\enquote{Actions})
bindet. bindet.
In diesen Actions werden Fehlerbehandlungen durchgeführt, Datenmodelle der Domäne erstellt und in der In diesen Actions werden Fehlerbehandlungen durchgeführt, Datenmodelle der Domäne erstellt und in der
Datenbank persistiert, sowie Daten für die Anzeige im Frontend aufbereitet \cite{bib:typo3-docs-extbase}. Datenbank persistiert, sowie Daten für die Anzeige im Frontend aufbereitet \cite{bib:typo3-docs-extbase}.
Neue Datenobjekte werden in Repositories registriert \cite{bib:typo3-docs-extdev-tut-tea-repositories}. Diese Repositories sind Aggregate des Controllers, Neue Datenobjekte werden in Repository-Objekten registriert
\break\cite{bib:typo3-docs-extdev-tut-tea-repositories}. Diese Repositories sind Aggregate des Controllers,
werden jedoch nach dem \enquote{Inversion of Control}-Prinzip via Dependency Injection instanziiert und werden jedoch nach dem \enquote{Inversion of Control}-Prinzip via Dependency Injection instanziiert und
der ActionController-Klasse über Methode übergeben \cite{bib:typo3-docs-di}. der ActionController-Klasse über Methode übergeben \cite{bib:typo3-docs-di}.
Als problematisch erweisen sich hierbei bidirektionale Verbindungen zwischen Datenmodellen, wenn die Foreign Keys Als problematisch erweisen sich hierbei bidirektionale Verbindungen zwischen Datenmodellen, wenn die Foreign Keys
@ -256,7 +259,7 @@ Die Formfeldwerte können unverändert in der Datenbank persistiert werden.
\paragraph*{SelectSingle} sind Formfelder, die dem Nutzer eine Auswahl aus $n$ Elementen aus \paragraph*{SelectSingle} sind Formfelder, die dem Nutzer eine Auswahl aus $n$ Elementen aus
anderen Datenbanktabellen geben. Der Nutzer muss sich für genau ein Element entscheiden. anderen Datenbanktabellen geben. Der Nutzer muss sich für genau ein Element entscheiden.
Beispiele für SelectSingle-Formfelder sind: Weinlage, Qualitätsstufe, Rebsorte und Geschmacksangabe. Beispiele für SelectSingle-Formfelder sind: Weinlage, Qualitätsstufe, Rebsorte und Geschmacksangabe.
SelectSingle-Formfelder werden durch Select-HTML-Tags abgebildet. Der TYPO3-Form-ViewHelper für \break{}SelectSingle-Formfelder werden durch Select-HTML-Tags abgebildet. Der TYPO3-Form-ViewHelper für
\enquote{Select} akzeptiert eine Liste an Auswahlmöglichkeiten und erstellt selbstständig Option-HTML-Tags \enquote{Select} akzeptiert eine Liste an Auswahlmöglichkeiten und erstellt selbstständig Option-HTML-Tags
für diese. für diese.
Die Formfeldwerte von SelectSingle-Formfeldern sind die Die Formfeldwerte von SelectSingle-Formfeldern sind die
@ -269,7 +272,8 @@ Somit sind diese nicht mehr sichtbar.
\\ \\
\\ \\
Eine komplexe Ausnahme stellt das SelectSingle-Formfeld \enquote{Category} dar, da TYPO3-Kategorien Eine komplexe Ausnahme stellt das SelectSingle-Formfeld \enquote{Category} dar, da TYPO3-Kategorien
Baumstrukturen sind \cite{bib:typo3-docs-sys-category}. als Baumstrukturen abgebildet werden
\break\cite{bib:typo3-docs-sys-category}.
Um die Eltern-Kind-Beziehung der Baumstruktur erstichtlich zu machen, werden die Option-HTML-Tags einzeln rekursiv gerendert. Zunächst werden sämtliche Kategorien, deren Um die Eltern-Kind-Beziehung der Baumstruktur erstichtlich zu machen, werden die Option-HTML-Tags einzeln rekursiv gerendert. Zunächst werden sämtliche Kategorien, deren
\ac{PID} 0 ist, dargestellt. Diese Elemente sind direkte Kinder des unsichtbaren Wurzelelementes. Für jede dieser Kategorien $a$ wird nun ein \ac{PID} 0 ist, dargestellt. Diese Elemente sind direkte Kinder des unsichtbaren Wurzelelementes. Für jede dieser Kategorien $a$ wird nun ein
Fluid-Partial aufgerufen, Fluid-Partial aufgerufen,
@ -302,7 +306,7 @@ Somit ist die Zeitkomplexität $O(n^m)$. Normiert dargestellt beträgt die Zeitk
\caption*{Quelle: Eigene Darstellung} \caption*{Quelle: Eigene Darstellung}
\label{fig:timecomplexity-category} \label{fig:timecomplexity-category}
\end{nicepic} \end{nicepic}
\clearpage
Auf Optgroup-HTML-Tags wurde bewusst verzichtetet. Auf Optgroup-HTML-Tags wurde bewusst verzichtetet.
Grund dafür ist, dass Optgroup-Elemente an sich nicht im Dropdown auswählbar sind. Grund dafür ist, dass Optgroup-Elemente an sich nicht im Dropdown auswählbar sind.
@ -313,10 +317,11 @@ von Unterkategorien hindeutet \cite{bib:typo3-docs-sys-category}, womit eine Unt
Baumblättern und -Zweigen nicht ohne weiteres möglich wäre. Diese Entscheidung wäre jedoch Baumblättern und -Zweigen nicht ohne weiteres möglich wäre. Diese Entscheidung wäre jedoch
benötigt, um zwischen einem Optgroup-Tag und einem Option-Tag abzuwägen. benötigt, um zwischen einem Optgroup-Tag und einem Option-Tag abzuwägen.
\paragraph*{SelectMultiple} sind Formfelder, die dem Nutzer eine Auswahl aus $n$ Elementen aus einer anderen \paragraph*{SelectMultiple} sind Formfelder, die dem Nutzer eine Auswahl aus $n$ verschiedenen Elementen aus einer anderen
Datenbanktabelle geben. Der Nutzer kann sich für eine beliebige Anzahl dieser, eingeschlossen null, entscheiden. Datenbanktabelle geben. Der Nutzer kann sich für eine beliebige Auswahl dieser, eingeschlossen keine, entscheiden.
Ein Beispiel für SelectMultiple-Formfelder ist: Weineigenschaften. Ein Beispiel für SelectMultiple-Formfelder sind Weineigenschaften.
TYPO3-Fluid implementiert hierfür keinen ViewHelper \cite{bib:typo3-docs-fluid-form-viewhelpers}, TYPO3-Fluid implementiert hierfür keinen ViewHelper
\break\cite{bib:typo3-docs-fluid-form-viewhelpers},
also wurde eine eigene Lösung entworfen: Der Nutzer soll aus einer Menge $A$ wählen. also wurde eine eigene Lösung entworfen: Der Nutzer soll aus einer Menge $A$ wählen.
Für alle Elemente $a \in A$ Für alle Elemente $a \in A$
wird ein Checkbox-Feld erstellt. Dieses Element trägt den Anzeigewert \enquote{<a.title>} und den wird ein Checkbox-Feld erstellt. Dieses Element trägt den Anzeigewert \enquote{<a.title>} und den
@ -338,11 +343,11 @@ entfernt. Somit wird beispielsweise die Formfeld-ID \enquote{winekind-18} zu \en
wodurch die tatsächlichen Objekte aus der Datenbank angefragt werden können. wodurch die tatsächlichen Objekte aus der Datenbank angefragt werden können.
\subsection{PDF- und QR-Code-Generierung} \subsection{PDF- und QR-Code-Generierung}
Das dynamische Erstellen und Ausgeben des Versandbeilageblattes als PDF ist ein essenzieller Bestandteil des Das dynamische Erstellen und Ausgeben des Datenblattes als PDF ist ein essenzieller Bestandteil des
Jahresauswahlprobenwerkzeuges, da dieses PDF die Schnittstelle zwischen ankommenden Weinen und dem System darstellt. Jahresauswahlprobenwerkzeuges, da dieses PDF die Schnittstelle zwischen ankommenden Weinen und dem System darstellt.
Daher ist der Gewinn, der durch dieses Werkzeug generiert wird, ohne dieses PDF stark eingeschränkt, da Daher ist der Gewinn, der durch dieses Werkzeug generiert wird, ohne dieses Dokument stark eingeschränkt, da
einkommende Weine händisch, von Mitarbeitern, zugeordnet werden müssten. einkommende Weine händisch, von Mitarbeitern, zugeordnet werden müssten.
Wie im \fullref{chap:stand-der-forschung} erläutert, werden für die dynamische Wie im \fullref{chap:stand-der-forschung} erläutert wird, werden für die dynamische
Generierung dieses PDFs die Bibliotheken \enquote{chillerlan/php-qrcode} und Generierung dieses PDFs die Bibliotheken \enquote{chillerlan/php-qrcode} und
\enquote{mpdf/mpdf} herangezogen und über Composer installiert. \enquote{mpdf/mpdf} herangezogen und über Composer installiert.
@ -354,7 +359,7 @@ Es ist Aufgabe der QR-Code-App, die den Code einscannt, aus der Wein-\ac{UID} ei
Um Resourcen zu sparen und somit den Gewinn zu erhöhen, wird der QR-Code zu einem Base64-kodiertem Bild gerendert. Um Resourcen zu sparen und somit den Gewinn zu erhöhen, wird der QR-Code zu einem Base64-kodiertem Bild gerendert.
Das ist der Standardrückgabewert des QR-Code-Generators Das ist der Standardrückgabewert des QR-Code-Generators
und erfordert somit keine nähere Konfiguration. Ebenfalls lässt sich ein Base64-kodiertes Bild als Quell-URL eines und erfordert somit keine nähere Konfiguration. Ebenfalls lässt sich ein Base64-kodiertes Bild als Quell-URL eines
IMG-HTML-Tags angeben, womit das Bild eingebettet ist. Hier wird der Gewinn erhöht, indem Arbeitszeit gespart wird, IMG-HTML-Tags angeben, womit das Bild eingebettet ist. Das spart Arbeitszeit,
die sonst in das anderweitige Einbetten eines Bildes in einem PDF mit \enquote{mpdf} fließen müsste. die sonst in das anderweitige Einbetten eines Bildes in einem PDF mit \enquote{mpdf} fließen müsste.
Die QR-Codegenerierung funktioniert konkret, indem ein neues QRCode-Objekt der QRCode-Klasse erstellt wird. Die QR-Codegenerierung funktioniert konkret, indem ein neues QRCode-Objekt der QRCode-Klasse erstellt wird.
Diese Klasse nimmt ein QROptions-Objekt im Konstruktor, das in diesem Falle einige Stilattribute mit sich trägt. Diese Klasse nimmt ein QROptions-Objekt im Konstruktor, das in diesem Falle einige Stilattribute mit sich trägt.

View File

@ -66,8 +66,8 @@ Nach Verhoef et al. lässt sich der hier sogenannte \enquote{Prozess der Digital
Diese drei Phasen sind \textit{Digitization}, \textit{Digitalization} und \textit{Digital Transformation} Diese drei Phasen sind \textit{Digitization}, \textit{Digitalization} und \textit{Digital Transformation}
\cite{bib:verhoef}. \cite{bib:verhoef}.
Die Phase \textit{Digitization} befasst sich mit der Umwandlung analoger Datenstrukturen und Modellen in digitale Datenmodelle, Die Phase \textit{Digitization} befasst sich mit der Umwandlung analoger Datenstrukturen und Modellen in digitale Datenmodelle,
sodass diese digital, in Form von Nullen und Einsen, gespeichert und elektronisch weiterverarbeitet werden können sodass diese digital, in Form von Nullen und Einsen, gespeichert und elektronisch\break weiterverarbeitet werden können
\cite{bib:dougherty, bib:loebbecke}. \cite{bib:dougherty}\break\cite{bib:loebbecke}.
\textit{Digitalization} beschreibt den Prozess der Veränderung bestehender Geschäftsprozesse, um mit digitalen Werkzeugen \textit{Digitalization} beschreibt den Prozess der Veränderung bestehender Geschäftsprozesse, um mit digitalen Werkzeugen
und Datenmodellen zu arbeiten \cite{bib:fengli}. und Datenmodellen zu arbeiten \cite{bib:fengli}.
Die letzte Phase, die \textit{Digitale Transformation}, beschreibt eine firmenweite Veränderung, die beispielsweise Die letzte Phase, die \textit{Digitale Transformation}, beschreibt eine firmenweite Veränderung, die beispielsweise

View File

@ -6,13 +6,15 @@ Bibliotheken zur Erzeugung von QR-Codes und Bibliotheken zur Erzeugung von PDF-D
\section{Die bestehende Webseite} \section{Die bestehende Webseite}
Als Mitentwickler des Projektes ist dem Autor bekannt, dass die bestehende Webseite ein TYPO3-Redaktionssystem ist. Das Frontend der Webseite wird mit Webpack und Sass übersetzt. Als Mitentwickler des Projektes ist dem Autor bekannt, dass die bestehende Webseite ein TYPO3-Redaktionssystem ist. Das Frontend der Webseite wird mit Webpack und Sass übersetzt.
Webpack ist ein Modulbundler \cite{bib:smashmagazine-webpack} und Sass ein CSS-Präprozessor \cite{bib:w3schools-sass}. Webpack ist ein Modulbundler \cite{bib:smashmagazine-webpack} und Sass ein CSS-Präprozessor.
TYPO3 ist ein Redaktionssystem und PHP-Rahmenwerk, das Daten- und Inhaltspflege in einem geschützten Bereich \break\cite{bib:w3schools-sass}.
TYPO3 ist ein Redaktionssystem und PHP-Rahmen\-werk, das Daten- und Inhaltspflege in einem geschützten Bereich
ermöglicht. ermöglicht.
Außerdem werden Frontend-, Backend-Nutzer und Berechtigungen gesteuert \cite{bib:typo3-docs-getting-started}. Außerdem werden Frontend-, Backend-Nutzer und Berechtigungen gesteuert \cite{bib:typo3-docs-getting-started}.
Über die Systemerweiterung Über die Systemerweiterung
\enquote{Extbase} wird eine mächtige Entwicklerschnittstelle bereitstellt, \enquote{Extbase} wird eine mächtige Entwicklerschnittstelle bereitstellt,
um hochindividualisierte Funktionalitäten zu ermöglichen \cite{bib:typo3-docs-extbase-reference}. um hochindividualisierte Funktionalitäten zu ermöglichen.
\\\cite{bib:typo3-docs-extbase-reference}
\section{QR-Code-Bibliotheken} \section{QR-Code-Bibliotheken}
Um mit QR-Codes zu arbeiten, ist es unabdinglich, QR-Codes zu erstellen, da dieselben sonst nicht vorhanden sind. Um mit QR-Codes zu arbeiten, ist es unabdinglich, QR-Codes zu erstellen, da dieselben sonst nicht vorhanden sind.
@ -60,7 +62,8 @@ dem Java-Projekt \enquote{ZXing} und übersetzte diese zu PHP.
Es gibt zu diesem Zeitpunkt keine unbeantworteten Issues oder Pull-Requests. Es gibt zu diesem Zeitpunkt keine unbeantworteten Issues oder Pull-Requests.
\textit{Chillerlan/php-qrcode} basiert auf einer angepassten Version von \textit{kazuhikoarase/qrcode-generator}. \textit{Chillerlan/php-qrcode} basiert auf einer angepassten Version von \textit{kazuhikoarase/qrcode-generator}.
Einzig auffällig sind die Commitnachrichten, die zuteils nur aus einem (1) Emoji bestehen. Einzig auffällig sind die Commitnachrichten, die zuteils nur aus einem (1) Emoji bestehen.
\textit{Chillerlan/php-qrcode} wurde von 1212 Github-Nutzern mit einem Stern markiert. Die Bibliothek ist MIT-lizensiert \textit{Chillerlan/php-qrcode} wurde von 1212 Github-Nutzern mit einem Stern markiert.
Die Bibliothek ist MIT-\break{}lizensiert
\cite{bib:chillerlan-php-qrcode}. \cite{bib:chillerlan-php-qrcode}.
\subsubsection*{Kreativekorp/barcode} \subsubsection*{Kreativekorp/barcode}
@ -174,9 +177,9 @@ Rochko stellt eine ausführliche Dokumentation und Codebeispiele bereit.
Hierfür wird die volle Punktzahl in \enquote{Gepflegtheit} vergeben. Hierfür wird die volle Punktzahl in \enquote{Gepflegtheit} vergeben.
Der Funktionsumfang übersteigt weit die Anforderungen und gestattet so ausführlich gestaltete QR-Codes Der Funktionsumfang übersteigt weit die Anforderungen und gestattet so ausführlich gestaltete QR-Codes
\cite{bib:chillerlan-php-qrcode-demo}, \cite{bib:chillerlan-php-qrcode-demo},
die somit ebenso die hedonische Qualität fördern \cite{bib:koenig-vorlesung-ux}. die somit die hedonische Qualität fördern \cite{bib:koenig-vorlesung-ux}.
Bewertet wird das mit einer vollen Punktzahl in \enquote{Funktionalität}. Bewertet wird das mit einer vollen Punktzahl in \enquote{Funktionalität}.
Chillerlan/php-qrcode lässt sich nahtlos in das existierende Projekt eingliedern, \break Chillerlan/php-qrcode lässt sich nahtlos in das existierende Projekt eingliedern,
da es als PHP-Bibliothek über Composer eingebunden werden kann und eine eigene API bereitstellt \cite{bib:chillerlan-php-qrcode}. da es als PHP-Bibliothek über Composer eingebunden werden kann und eine eigene API bereitstellt \cite{bib:chillerlan-php-qrcode}.
Die von Rochko verwendete Lizenz gestattet eine unkomplizierte Verwendung. Chillerlan/php-qrcode funktioniert sowohl mit Die von Rochko verwendete Lizenz gestattet eine unkomplizierte Verwendung. Chillerlan/php-qrcode funktioniert sowohl mit
PHP $7.x$ als auch $8.x$. Die Bibliothek benötigt zwei weitere Abhängigkeiten. Eine dieser Abhängigkeiten ist ebenfalls von Rochko PHP $7.x$ als auch $8.x$. Die Bibliothek benötigt zwei weitere Abhängigkeiten. Eine dieser Abhängigkeiten ist ebenfalls von Rochko
@ -242,7 +245,7 @@ Dadurch werden drei Punkte einer vollkommenen Workflow-Eignung abgezogen, wodurc
\subsection{Fazit} \subsection{Fazit}
Nach Evaluation der verschiedenen QR-Code-Bibliotheken im Kontext der vorliegenden Problemstellung erweist sich aus Sicht des Autors Nach Evaluation der verschiedenen QR-Code-Bibliotheken im Kontext der vorliegenden Problemstellung erweist sich aus Sicht des Autors
\textit{chillerlan/php-qrcode} mit 30 Gesamtpunkten als die am besten geeignetste Bibliothek. \break\textit{chillerlan/php-qrcode} mit 30 Gesamtpunkten als die am besten geeignetste Bibliothek.
Somit wird \textit{chillerlan/php-qrcode} als QR-Code Technologie in der Lösung dieser Problemstellung verwendet. Somit wird \textit{chillerlan/php-qrcode} als QR-Code Technologie in der Lösung dieser Problemstellung verwendet.
\begin{table}[htbp] \begin{table}[htbp]

View File

@ -10,7 +10,7 @@
\newcommand{\cfgDocClassification}{Abschlussarbeit} \newcommand{\cfgDocClassification}{Abschlussarbeit}
% Document version % Document version
\newcommand{\cfgDocVersion}{1.9} \newcommand{\cfgDocVersion}{2.0}
% Last modification date % Last modification date
\newcommand{\cfgDateLastModification}{30. März 2023} \newcommand{\cfgDateLastModification}{30. März 2023}

BIN
main.pdf

Binary file not shown.