generated from leonetienne/LaTeX-Paper-template
feat: feedback, and add mpdf gen
This commit is contained in:
@@ -1,71 +1,76 @@
|
||||
\chapter{Stand der Technik}
|
||||
\label{chap:stand-der-technik}
|
||||
Der Stand der Technik bezieht sich auf bestehende praktische Umsetzungen der erforderlichen Technologien.
|
||||
Im Wesentlichen gibt es zwei Arten von Technologien, die untersucht werden müssen: Die bestehende Website von \ac{WM} und
|
||||
eine Bibliothek zur Erzeugung von QR-Codes.
|
||||
Der Stand der Technik bezieht sich auf bestehende, praktische Umsetzungen der erforderlichen Technologien.
|
||||
Im Wesentlichen gibt es drei Arten von Technologien, die untersucht werden müssen: Die bestehende Website von \ac{WM},
|
||||
Bibliotheken zur Erzeugung von QR-Codes und Bibliotheken zur Erzeugung von PDF-Dateien.
|
||||
|
||||
\section{Die bestehende Webseite}
|
||||
Als Mitentwickler des Projektes ist dem Author dieser Ausarbeitung bekannt, dass die bestehende Webseite von
|
||||
\ac{WM} 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}.
|
||||
TYPO3 ist ein Redaktionssystem und PHP-Rahmenwerk, das Daten- und Inhaltspflege in einem geschützten Bereich
|
||||
ermöglicht, Frontend- und Backend-Nutzer und Berechtigungen steuert \cite{bib:typo3-docs-getting-started}
|
||||
und über die Systemerweiterung
|
||||
\enquote{Extbase} eine mächtige Entwicklerschnittstelle bereitstellt,
|
||||
um hochindividualisierte Funktionalitäten zu ermöglichen \cite{bib:typo3-docs-extbase-reference}.
|
||||
|
||||
\section{QR-Codes erstellen}
|
||||
\section{QR-Code-Bibliotheken}
|
||||
Um mit QR-Codes zu arbeiten, ist es unabdinglich, QR-Codes zu erstellen, da dieselben sonst nicht vorhanden sind.
|
||||
Im Folgenden werden einige Implementationen von QR-Code-Generator-Bibliotheken im Detail betrachtet. Es wird sich
|
||||
auf bereits verwendete Programmiersprachen begrenzt.
|
||||
|
||||
\subsection{Javascript-Implementationen}
|
||||
\subsubsection*{jquery-qrcode}
|
||||
\textit{jquery-qrcode} ist ein Plugin für JQuery um dynamisch QR-Codes auf Browserseite zu generieren.
|
||||
\subsubsection*{Jquery-qrcode}
|
||||
\textit{Jquery-qrcode} ist ein Plugin für JQuery um dynamisch QR-Codes auf Browserseite zu generieren.
|
||||
Jedoch verweist diese Bibliothek selbst auf ihren desolaten Zustand und empfielt stattdessen \enquote{kjua} zu verwenden
|
||||
\cite{bib:larsjung-jquery-qrcode}. Somit scheidet jquery-qrcode für nähere Evaluationen aus, da die Software nicht mehr
|
||||
gepflegt wird. \textit{jquery-qrcode} wurde bis zum heutigen Tage 853 mal von Nutzern mit einem Stern
|
||||
gepflegt wird. \textit{Jquery-qrcode} wurde bis Januar 2023 853 mal von Nutzern mit einem Stern
|
||||
markiert \cite{bib:larsjung-jquery-qrcode}.
|
||||
Wenn ein Nutzer ein Github-Repository mit einem Stern markiert, interessiert sich der Nutzer weit genug,
|
||||
Wenn ein Nutzer ein Github-Repository mit einem Stern markiert, zeigt sich der Nutzer interessiert genug,
|
||||
um über Neuigkeiten auf dem Laufenden gehalten werden zu wollen \cite{bib:github-stars}. Jquery-qrcode ist MIT-lizensiert
|
||||
\cite{bib:larsjung-jquery-qrcode}.
|
||||
|
||||
\subsubsection*{kjua}
|
||||
\textit{Kjua} ist eine Javascript-Bibliothek, um dynamisch QR-Codes auf Browserseite zu generieren.
|
||||
\subsubsection*{Kjua}
|
||||
\textit{Kjua} ist eine Javascript-Bibliothek, um dynamisch QR-Codes auf der Browserebene zu generieren.
|
||||
Im Gegensatz zu \textit{jquery-qrcode} funktioniert Kjua auch ohne JQuery. Es werden diverse Stilattribute für gestaltete
|
||||
QR-Codes unterstützt \cite{bib:larsjung-kjua}. Kjua kann QR-Codes über HTML-Canvas, Bilder und Vektorgrafiken umsetzen. Das ist bei näherer Betrachtung der Kjua Tech Demo \enpointy{https://larsjung.de/kjua/latest/demo} ersichtlich, jedoch
|
||||
nicht explizit erwähnt. Nach dem aktuellen Stand wurde Kjua von 243 Nutzern mit einem Stern markiert.
|
||||
nicht explizit erwähnt. Nach dem aktuellen Stand (Januar 2023) wurde Kjua von 243 Nutzern mit einem Stern markiert.
|
||||
Kjuas letzte Codeänderung liegt circa zwei Jahre zurück. Es gibt eine unbeantwortete, sieben Jahre alte Pull-Request und
|
||||
Issues scheinen ignoriert zu werden. Kjua ist MIT-lizensiert \cite{bib:larsjung-kjua}.
|
||||
|
||||
\subsubsection*{soldair/node-qrcode}
|
||||
\textit{Soldair/node-qrcode} ist eine node.js-basierte Implementation eines QR-Code Generators und bietet somit Funktionialität
|
||||
serverseitig, als CLI, sowohl als auch Browserseitig an. Die Readme-Datei zeugt von Länge, ist reich an Beispielen
|
||||
\subsubsection*{Soldair/node-qrcode}
|
||||
\textit{Soldair/node-qrcode} ist eine node.js-basierte Implementation eines QR-Code-Generators und bietet somit Funktionialität
|
||||
serverseitig, als CLI, sowohl auch Browserseitig an. Die Readme-Datei zeugt von Länge, ist reich an Beispielen
|
||||
und detailreichen Erklärungen. Der letzte Commit ist zu diesem Zeitpunkt knapp älter als ein halbes Jahr. Somit macht das
|
||||
Projekt einen moderat gepflegten Eindruck. Die Readme-Datei verweist auf Unit Tests bei Travis, jedoch lief die letzte Pipeline
|
||||
vor circa zwei Jahren, Februar 2021, durch und schlug zudem fehl. Einige Pull-Requests und Issues werden seit Jahren ignoriert
|
||||
vor circa zwei Jahren, Februar 2021, durch und schlug fehl. Einige Pull-Requests und Issues werden seit Jahren ignoriert
|
||||
\cite{bib:soldair-node-qrcode}.
|
||||
Die Bibliothek wurde 74 millionen mal heruntergeladen und mit 6308 Sternen markiert.
|
||||
Soldair/node-qrcode ist MIT-lizensiert \cite{bib:npmjs-soldair-node-qrcode}.
|
||||
|
||||
\subsection{PHP-Implementationen}
|
||||
\subsubsection*{chillerlan/php-qrcode}
|
||||
Eine arrivierte Lösung für QR-Code Generierung in PHP ist \textit{chillerlan/php-qrcode}, umgesetzt durch
|
||||
Eugen Rochko und weitere. Das zeigt sich durch den zu diesem Zeitpunkt auf 5 Millionen stehendem Downloadzähler,
|
||||
mehrere Entwickler und den letzten Commit, der zu diesem Zeitpunk nicht älter als einen Monat ist.
|
||||
\subsubsection*{Chillerlan/php-qrcode}
|
||||
Eine arrivierte Lösung für QR-Code-Generierung in PHP ist \textit{chillerlan/php-qrcode}, umgesetzt durch
|
||||
Eugen Rochko et al.. \textit{Chillerlan/php-qrcode}s Etabliertheit zeigt sich durch den zu diesem
|
||||
Zeitpunkt (Jahnuar 2023) auf 5 Millionen stehenden Downloadzähler,
|
||||
mehreren Entwickler und den letzten Commit, der zu diesem Zeitpunk nicht älter als einen Monat ist.
|
||||
Insgesamt erfolgten bis dato 808 Commits von 6 Entwicklern. Das Projekt verfügt über Unit-Tests,
|
||||
die 90\% der Zeilen der Codebase abdecken. Rochko übernahm Teile der Codebase aus
|
||||
dem Java-Projekt \enquote{ZXing} und übersetzte diese zu PHP.
|
||||
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.
|
||||
\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-lizensiert
|
||||
\cite{bib:chillerlan-php-qrcode}.
|
||||
|
||||
\subsubsection*{kreativekorp/barcode}
|
||||
\subsubsection*{Kreativekorp/barcode}
|
||||
\textit{kreativekorp/barcode} ist eine PHP-Bibliothek zur Generierung von QR-Codes, bereitgestellt von
|
||||
\textit{Kreative Software}, R.G. Bettencourt.
|
||||
Diese Implementation umfasst eine Vielzahl an Barcode-Formaten und unterstützt eine Vielzahl an Anpassungsmöglichkeiten.
|
||||
Diese Implementation umfasst etablierte Barcode-Formaten und unterstützt eine Vielzahl an Anpassungsmöglichkeiten.
|
||||
Das Projekt wurde bis zum heutigen Tage 189 mal mit einem Stern markiert \cite{bib:kreativkorp-barcode}.
|
||||
Vier von den sechs vorhandenen Commits erfolgten innerhalb von zwei Tagen in 2016. Ein weiterer
|
||||
Commit erfolte wenige Tage später. Der aktuellste Commit wurde knapp zwei Jahre später, 2018, veröffentlicht.
|
||||
Das liegt zu diesem Zeitpunkt vier Jahre in der Vergangenheit.
|
||||
Damit ist diese Bibliothek de-facto sechseinhalb Jahre alt und wurde seitdem ein mal um Featuers erweitert.
|
||||
Damit ist diese Bibliothek de-facto sechseinhalb Jahre alt und wurde seitdem einmal um Featuers erweitert.
|
||||
Issues und Pull-Requests werden weitestgehend ignoriert.
|
||||
Die Bibliothek verwendet die MIT-Lizenz
|
||||
\cite{bib:kreativkorp-barcode}.
|
||||
@@ -73,23 +78,24 @@ Die Bibliothek verwendet die MIT-Lizenz
|
||||
\subsubsection*{Bacon/BaconQrCode}
|
||||
\textit{Bacon/BaconQrCode} ist eine PHP-Bibliothek zur Generierung von QR-Codes, bereitgestellt von Ben Scholzen, hinter
|
||||
der Github-Organisation \enquote{Bacon}, dessen einziges Mitglied Scholzen darstellt. Verlinkt ist eine Homepage,
|
||||
die zu einer Nginx-\enquote{Hello World}-Seite führt. Begleitet wird BaconQrCode von etlichen weiteren Bacon-Applikationen
|
||||
die zu einer Nginx-\enquote{Hello World}-Seite führt. Begleitet wird \textit{BaconQrCode} von etlichen weiteren \enquote{Bacon-Projekten}
|
||||
wie Beispielsweise \textit{BaconPdf}, \textit{BaconStringUtils} und \textit{BaconUser} um nur einige zu nennen.
|
||||
Insgesamt machen die stichprobenartig betrachteten Projekte einen desolaten Eindruck mit zuteils aktuellesten Commits
|
||||
von vor zehn Jahren. BaconQrCode stellt das beliebteste und gepflegteste Projekt von Scholzen mit 1508 Sterne-Markierungen und
|
||||
einem aktuellsten Commit von vor zwei Monaten dar. BaconQrCode erfreut sich an siebzehn Entwicklern, die jeweils zumindest
|
||||
einen Commit beigetragen haben. Insgesamt fanden zu diesem Zeitpunkt 177 Commits statt. Githubs DependencyGraph verzeichnet
|
||||
nahezu 80.000 Projekte die BaconQrCode verwenden \cite{bib:bacon-baconqrcode} und Packagist spricht von 50 Millionen Downloads
|
||||
\cite{bib:packagist-baconqrcode}. Eine Dokumentation neben der Readme-Datei existiert nicht und die
|
||||
diese ist bescheiden. BaconQrCode kann QR-Codes als Rasterbilder und Vektorgrafiken (SVG und EPS) generieren.
|
||||
einem aktuellsten Commit von vor zwei Monaten dar. BaconQrCode fällt mit siebzehn Entwicklern auf, die jeweils zumindest
|
||||
einen Commit beigetragen haben. Zu diesem Zeitpunkt fanden 177 Commits statt. Githubs DependencyGraph verzeichnet
|
||||
nahezu 80.000 Projekte, die BaconQrCode verwenden \cite{bib:bacon-baconqrcode} und Packagist meldet 50 Millionen Downloads
|
||||
Wie \textit{chillerlan/php-qrcode} baut auch Scholzen auf existierende Technik von \enquote{ZXing} auf.
|
||||
\cite{bib:packagist-baconqrcode}. Eine Dokumentation neben der Readme-Datei existiert nicht und
|
||||
diese ist sehr minimalistisch. \textit{BaconQrCode} kann QR-Codes als Rasterbilder und Vektorgrafiken (SVG und EPS) generieren.
|
||||
Spezielle Styles sind nicht erwähnt. Ein Großteil der Issues und Pull-Requests wurden behandelt.
|
||||
BaconQrCode ist mit einer BSD-2-Clause-Lizenz lizensiert
|
||||
BaconQrCode unterliegt einer BSD-2-Clause-Lizenz
|
||||
\cite{bib:bacon-baconqrcode}.
|
||||
|
||||
\subsection{Subjektiver Vergleich in Bezug auf die Problemstellung}
|
||||
Im Folgenden weden subjektive Einschätzungen und Meinungen des Autors über die Eignung der beleuchteten
|
||||
\subsection{Subjektiver Vergleich im Bezug auf die Problemstellung}
|
||||
Im Folgenden werden subjektive Einschätzungen und Meinungen des Autors über die Eignung der beleuchteten
|
||||
Bibliotheken vorgestellt.
|
||||
Um eine Bibliothek als \enquote{am geeignetsten} für einen Anwendungsfall kurieren,
|
||||
Um eine Bibliothek als \enquote{am geeignetsten} für einen Anwendungsfall zu kurieren,
|
||||
müssen die konkreten Anforderungen und Constraints für diesen Anwendungsfall beachtet werden.
|
||||
Das ist so, da verschiedene Eigenschaften der Bibliotheken verschiedene Auswirkung in Gewichtung und Richtung
|
||||
je nach Anwendungsfall aufweisen.
|
||||
@@ -102,28 +108,30 @@ Hierfür werden die zuvor vorgestellten Bibliotheken zur Erstellung von QR-Codes
|
||||
\item [Gepflegtheit] \hfill \\
|
||||
Das Ausmaß, in dem das Projekt aktiv gepflegt wird und ordnungsgemäß entwickelt zu sein scheint.
|
||||
Hierzu zählen beispielsweise: Bearbeitung von Issues, Bearbeitung von Pull-Requests, Präsenz von Tests,
|
||||
Präsenz einer angemessenen Dokumentation, häufige Commits, mehr als nur ein Contributor, Anzahl der
|
||||
Präsenz einer angemessenen Dokumentation, häufige Commits, mehrere Entwickler, Anzahl der
|
||||
Sterne auf Github (Ausmaß an tieferem, öffentlichem Interesse \cite{bib:github-stars}), sowie der Anzahl der
|
||||
Downloads bzw Installationen, falls verfügbar.
|
||||
Downloads bzw. Installationen, falls verfügbar.
|
||||
|
||||
\item [Workflow-Eignung] \hfill \\
|
||||
Die Eignung einer Bibliothek in existierende Workflows und Constraints übernommen zu werden. Maßgeblich,
|
||||
ob und mit wie viel Aufwand eine Bibliothek in das Projekt übernommen werden kann. Ebenfalls ist relevant,
|
||||
ob die Lizenz einer Bibliothek überhaupt deren Einbundung gestattet, bzw. welche Bedingungen gelten.
|
||||
ob die Lizenz einer Bibliothek eine Verwendung gestattet, bzw. welche Bedingungen gelten.
|
||||
\end{description}
|
||||
|
||||
Dabei werden den verschiedenen Bibliotheken Punkte ($[0,10]$) in den drei zuvor genannten Kategorien vergeben.
|
||||
Hierbei werden den verschiedenen Bibliotheken Punkte ($[0,10]$) in den drei zuvor genannten
|
||||
Kategorien vergeben. Nicht ermittelte Werte werden in ihrer Kategorie durch $-$ repräsentiert, wodurch
|
||||
eine weitere Verwendung ausgeschlossen wird.
|
||||
Die Kumulativpunktzahl ($[0,30]$) einer Bibltiothek beschreibt deren Gesamteignung, nach subjektivem
|
||||
Empfinden des Autors.
|
||||
|
||||
\subsubsection*{kjua}
|
||||
\subsubsection*{Kjua}
|
||||
Kjua ist funktional für dieses Projekt gut aufgestellt, da es optisch ansprechende QR-Codes mit Logo unterstützt. Das wird
|
||||
mit acht Punkten in \enquote{Funktionalität} bemessen.
|
||||
Kjua macht andererseits einen eher desolaten Eindruck und lässt somit begründete Zweifel an dessen Zukunftssicherheit zu.
|
||||
Eine knappe Dokumentation ist verfügbar. Für die Dokumentation werden zwei Punkte in \enquote{Gepflegtheit} angerechnet.
|
||||
Kjua ist als Javascript-Bibliothek nur schwer mit den Anforderungen vereinbar,
|
||||
da der QR-Code in einem PDF eingebunden werden soll. Hierfür wäre ein serverseitiger Generator prädestiniert.
|
||||
Kjuas Lizenz erlaubt Verwendung in kommerziellen, Closed-Source Projekten \cite{bib:opensource-license-mit}.
|
||||
da der QR-Code in einem PDF eingebunden werden soll. Hierfür ist ein serverseitiger PDF-Generator vorgesehen.
|
||||
Kjuas Lizenz erlaubt Verwendung in kommerziellen, Closed-Source-Projekten \cite{bib:opensource-license-mit}.
|
||||
Die Exklusivität für Nutzung in Webbrowsern schließt eine Einbindung in den Workflow aus.
|
||||
\begin{table}[htbp]
|
||||
\centering
|
||||
@@ -134,15 +142,16 @@ Die Exklusivität für Nutzung in Webbrowsern schließt eine Einbindung in den W
|
||||
8 & 2 & 0 & 10\\
|
||||
\hline
|
||||
\end{tabular}
|
||||
\caption{Subjektive Evaluation: Kjua}
|
||||
\end{table}
|
||||
|
||||
\subsubsection*{soldair/node-qrcode}
|
||||
\subsubsection*{Soldair/node-qrcode}
|
||||
Soldairs Lösung sieht dokumentativ und funktional vielversprechend aus.
|
||||
Hieraus bilden sich 8 Punkte in \enquote{Funktionalität}.
|
||||
Da diese Bibliothek eine Node.js-Bibliothek ist und Node.js ohne Browser, als Kommandozeilenapplikation ausgeführt werden
|
||||
kann \cite{bib:nodejs-api-cli}, böte sich
|
||||
Soldair/node-qrcode als serverseitige Anwendung an. Auch die Lizenz spräche nicht gegen eine Verwendung. Dennoch wäre es
|
||||
ein vermeidbarer Mehraufwand und ggf. imperformant generierte QR-Codes aus einer Node.JS-Applikation in eine PHP-Umgebung zu
|
||||
Hieraus bilden sich acht Punkte in \enquote{Funktionalität}.
|
||||
Da diese Bibliothek eine Node.js-Bibliothek ist und Node.js ohne Browser, als Kommandozeilenapplikation, ausgeführt werden
|
||||
kann \cite{bib:nodejs-api-cli}, bietet sich
|
||||
Soldair/node-qrcode als serverseitige Anwendung an. Die Lizenz spricht nicht gegen eine Verwendung. Dennoch wäre es
|
||||
ein vermeidbarer Mehraufwand generierte QR-Codes aus einer Node.JS-Applikation in eine PHP-Umgebung zu
|
||||
übertragen. Das bildet sich mit vier Punkten in \enquote{Workflow-Eignung} ab.
|
||||
Darüberhinaus macht Soldair/node-qrcode einen verbesserungswürdigen Eindruck der Projektpflege, wofür es lediglich
|
||||
drei Punkte gibt.
|
||||
@@ -155,9 +164,10 @@ drei Punkte gibt.
|
||||
8 & 3 & 4 & 15\\
|
||||
\hline
|
||||
\end{tabular}
|
||||
\caption{Subjektive Evaluation: Soldair/node-qrcode}
|
||||
\end{table}
|
||||
|
||||
\subsubsection*{chillerlan/php-qrcode}
|
||||
\subsubsection*{Chillerlan/php-qrcode}
|
||||
Rochkos Lösung macht einen aktiv gepflegten Eindruck und wird von großen Downloadzahlen gestützt.
|
||||
Rochko stellt eine ausführliche Dokumentation und Codebeispiele bereit.
|
||||
Hierfür wird die volle Punktzahl in \enquote{Gepflegtheit} vergeben.
|
||||
@@ -168,7 +178,7 @@ Bewertet wird das mit einer vollen Punktzahl in \enquote{Funktionalität}.
|
||||
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}.
|
||||
Die von Rochko verwendete Lizenz gestattet eine unkomplizierte Verwendung. Chillerlan/php-qrcode funktioniert sowohl mit
|
||||
PHP $7.x$ und $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
|
||||
bereitgestellt \cite{bib:chillerlan-php-qrcode-composerjson} und weist eine ähnlich gute Projektpflege auf
|
||||
\cite{bib:chillerlan-php-settings-container}. Das wird mit der Maximalwertung in \enquote{Workflow-Eignung} berechnet.
|
||||
\begin{table}[htbp]
|
||||
@@ -180,15 +190,17 @@ bereitgestellt \cite{bib:chillerlan-php-qrcode-composerjson} und weist eine ähn
|
||||
10 & 10 & 10 & 30\\
|
||||
\hline
|
||||
\end{tabular}
|
||||
\caption{Subjektive Evaluation: Chillerlan/php-qrcode}
|
||||
\end{table}
|
||||
|
||||
\subsubsection*{kreativekorp/barcode}
|
||||
Kreativekorp beeindruckt durch Nutzungsbeispiele und Dokumentation in der Readme-Datei, sowie einer Vielzahl unterstützter
|
||||
Barcode-Formate, darunter auch QR-Codes und einiger improvisierter Tests.
|
||||
Hierfür werden drei Punkte in \enquote{Gepflegtheit} vergeben.
|
||||
0 Punkte in \enquote{Workflow-Eignung} rechtfertigen sich durch die Abwesenheit jeglicher
|
||||
Unterstützung für Paketmanager, wodurch eine saubere Verwendung in dem Brownfield-Projekt Änderungen an der Bibliothek
|
||||
selbst erfordern würde.
|
||||
\subsubsection*{Kreativekorp/barcode}
|
||||
Kreativekorp beeindruckt durch Nutzungsbeispiele und Dokumentation in der Readme-Datei,
|
||||
sowie einer Vielzahl unterstützter Barcode-Formate, darunter auch QR-Codes und einiger improvisierter Tests.
|
||||
In Anbetracht dessen, dass die Bibliothe de-facto sechseinhalb Jahre alt ist und seit vier Jahren nicht mehr
|
||||
angepasst wurde, wird eine geringe Wertung von drei Punkten in \enquote{Gepflegtheit} vergeben.
|
||||
Null Punkte in \enquote{Workflow-Eignung} rechtfertigen sich durch die Abwesenheit jeglicher
|
||||
Unterstützung für Paketmanager, wodurch eine saubere Verwendung in dem Brown-Field-Projekt
|
||||
Änderungen an der Bibliothek selbst erfordern würde.
|
||||
Die Funktionalität wurde aufgrund der desaströsen Gepflegtheit und Eignung nicht näher untersucht,
|
||||
da eine Verwendung selbst mit guter Funktionalität nicht infrage käme.
|
||||
\begin{table}[htbp]
|
||||
@@ -197,21 +209,23 @@ da eine Verwendung selbst mit guter Funktionalität nicht infrage käme.
|
||||
\hline
|
||||
\textbf{Funktionalität} & \textbf{Gepflegtheit} & \textbf{Workflow-Eignung} & \textbf{$\Sigma$}\\
|
||||
\hline
|
||||
0 & 3 & 4 & 7\\
|
||||
- & 3 & 0 & -\\
|
||||
\hline
|
||||
\end{tabular}
|
||||
\caption{Subjektive Evaluation: Kreativekorp/barcode}
|
||||
\end{table}
|
||||
|
||||
\subsubsection*{Bacon/BaconQrCode}
|
||||
BaconQrCode nennt keine speziellen Optionen um näheren Einfluss auf den generierten QR-Code auszuüben.
|
||||
BaconQrCode nennt keine speziellen Optionen, um näheren Einfluss auf den generierten QR-Code auszuüben.
|
||||
Es werden Rasterbilder und verschiedene Vektorformate als Renderziel unterstützt. Aufgrund der fehlenden Optionen,
|
||||
die andere Bibliotheken bereitstellen, werden lediglich fünf von 10 Punkten für \enquote{Funktionalität} vergeben.
|
||||
die andere Bibliotheken bereitstellen, werden lediglich fünf von zehn Punkten für \enquote{Funktionalität} vergeben.
|
||||
Die Projektgepflegtheit ist inkonsistent. Manche Stellen, beispielsweise die Mitwirkenden, Alter des neuesten Commits, Tests
|
||||
und Nutzerzahlen machen einen guten Eindruck, während Punkte wie die Dokumentation, die Organisationswebseite und andere
|
||||
Projekte Sorgen begründen. Für die \enquote{Gepflegtheit} werden 8 Punkte vergeben.
|
||||
Projekte Sorgen begründen. Weil der Programmcode an sich gut gepflegt aussieht und große Downloadzahlen von
|
||||
häufiger Verwendung sprechen, werden für die \enquote{Gepflegtheit} acht Punkte vergeben.
|
||||
Da es sich hierbei um eine PHP-Bibliothek handelt, die über Composer in PHP- $7.x$ und $8.x$ Projekte geladen werden kann
|
||||
und eine API bereitstellt, ist die \enquote{Workflow-Eignung} gut. Die BSD-2-Clause-Lizenz verkompliziert eine Integration,
|
||||
da dadurch eine Copyright-Notiz an Nutzer gezeigt werden muss \cite{bib:opensource-license-bsd-2}.
|
||||
und eine das Projekt API bereitstellt, ist die technische Workflow-Eignung gut. Die BSD-2-Clause-Lizenz verkompliziert eine Integration,
|
||||
da somit eine Copyright-Notiz an Nutzer gezeigt werden muss \cite{bib:opensource-license-bsd-2}.
|
||||
Dadurch werden drei Punkte einer vollkommenen Workflow-Eignung abgezogen, wodurch sieben Punkte vergeben werden.
|
||||
\begin{table}[htbp]
|
||||
\centering
|
||||
@@ -219,30 +233,42 @@ Dadurch werden drei Punkte einer vollkommenen Workflow-Eignung abgezogen, wodurc
|
||||
\hline
|
||||
\textbf{Funktionalität} & \textbf{Gepflegtheit} & \textbf{Workflow-Eignung} & \textbf{$\Sigma$}\\
|
||||
\hline
|
||||
5 & 8 & 4 & 17\\
|
||||
5 & 8 & 7 & 20\\
|
||||
\hline
|
||||
\end{tabular}
|
||||
\caption{Subjektive Evaluation: Bacon/BaconQrCode}
|
||||
\end{table}
|
||||
|
||||
\subsection{Fazit}
|
||||
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.
|
||||
Somit wird \textit{chillerlan/php-qrcode} als QR-Code Technologie in der Lösung dieser Problemstellung verwendet.
|
||||
|
||||
\begin{table}[htbp]
|
||||
\centering
|
||||
\begin{tabular}{|l||l|l||l|l|}
|
||||
\hline
|
||||
\textbf{Bib.} & \textbf{Funkt.} & \textbf{Gepflegtht.} & \textbf{WF.-Eignung} & \textbf{$\Sigma$}\\
|
||||
\textbf{Bibliothek} & \textbf{Funkt.} & \textbf{Gepflegtht.} & \textbf{WF.-Eignung} & \textbf{$\Sigma$}\\
|
||||
\hline
|
||||
\hline
|
||||
chillerlan/php-qrcode & 10 & 10 & 10 & 30\\\hdashline
|
||||
baconqrcode & 5 & 8 & 4 & 17\\\hdashline
|
||||
baconqrcode & 5 & 8 & 7 & 20\\\hdashline
|
||||
soldair/node-qrcode & 8 & 3 & 4 & 15\\\hdashline
|
||||
kjua & 8 & 2 & 0 & 10\\\hdashline
|
||||
kreativekorp/barcode & 0 & 3 & 4 & 7\\
|
||||
kreativekorp/barcode & - & 3 & 0 & -\\
|
||||
\hline
|
||||
\end{tabular}
|
||||
\caption{Subjektive Evaluation der QR-Code Bibliotheken}
|
||||
\caption{Gesamtübersicht: Subjektive Evaluation der QR-Code Bibliotheken}
|
||||
\label{tbl:qrlib-compare-barchart}
|
||||
\end{table}
|
||||
|
||||
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.
|
||||
Somit wird \textit{chillerlan/php-qrcode} als QR-Code Technologie in der Lösung dieser Problemstellung verwendet werden.
|
||||
\section{PDF-Generator}
|
||||
Firmenintern ist der PDF-Generator \textit{mpdf/mpdf} \cite{bib:mpdf} etabliert und wird bereits
|
||||
in zahlreichen Projekten verwendet.
|
||||
Um die projektübergreifende Kontinuität der Technik zu wahren und um somit die
|
||||
Wartbarkeit und Nachhaltigkeit des hier behandelten Softwareproduktes
|
||||
zu fördern, wird sich für den PDF-Generator entschieden, der bereits firmeninterner Standard ist.
|
||||
Unabhängig dessen ist \textit{mpdf} ein gut gepflegtes Projekt mit einem Alter von mehr als acht Jahren,
|
||||
Sponsoren, 72 Entwicklern, über 31 Millionen Downloads, über 3.900 Sterne-Markierungen, über 800 Commits
|
||||
und regelmäßigen Updates. Dadurch, dass \textit{mpdf} ein Composer-Paket für verschiede PHP-Versionen ist,
|
||||
ist eine herausragende Workflow-Eignung gegeben \cite{bib:mpdf}.
|
||||
|
||||
Reference in New Issue
Block a user