Compare commits

..

7 Commits

13 changed files with 119 additions and 108 deletions

View File

@@ -33,61 +33,60 @@ Die \ac{ELN} könnte schlicht die von TYPO3 vergebene UID sein.
Smartphone ist am sinnvollsten, da Feedback von Webseite damit möglich ist. Smartphone ist am sinnvollsten, da Feedback von Webseite damit möglich ist.
Backup-Funktion, die \ac{ELN} händisch einzugeben. Das ginge dann auch mit einem Handscanner. Backup-Funktion, die \ac{ELN} händisch einzugeben. Das ginge dann auch mit einem Handscanner.
\paragraph*{Welche Fallbacks soll es geben, sollte ein Code nicht scanbar sein? Z.B.: Den Code- Inhalt in Text unter dem Code, der auch von Hand eintippbar sei.} \paragraph*{Welche Fallbacks soll es geben, sollte ein Code nicht scanbar sein? Z.B.: Den Code-Inhalt in Text unter dem Code, der auch von Hand eintippbar sei.}
Die \ac{ELN} muss auch unter dem qr code stehen. Die \ac{ELN} muss auch unter dem QR-Code stehen.
\paragraph*{Gegen welche Missbrauchsszenarien sollte der QR-Code geschützt sein? Sollte ggf. ein Passwort nach dem Einscannen verlangt werden? ->Diskurs über versch. Authentifizierungsmethoden und Abwägung über Aufwand der dadurch entsteht.} \paragraph*{Gegen welche Missbrauchsszenarien sollte der QR-Code geschützt sein? Sollte ggf. ein Passwort nach dem Einscannen verlangt werden? ->Diskurs über versch. Authentifizierungsmethoden und Abwägung über Aufwand der dadurch entsteht.}
Mitarbeiter authentifizieren sich mit einem Frontend-Nutzer. Dieser Nutzer ist Teil einer Mitarbeiter-Nutzergruppe. Mitarbeiter authentifizieren sich mit einem Frontend-Nutzer. Dieser Nutzer ist Teil einer Mitarbeiter-Nutzergruppe.
\paragraph*{Gibt es im Lager Wlan?} \paragraph*{Gibt es im Lager Wlan?}
Out of scope Out of scope.
\paragraph*{Wie wollen Sie Weinanmeldungen zwischen Jahresauswahlproben im Frontend trennen? Wichtig: Aktuelle Proben nach Anmeldeschluss sollten immer noch sichtbar sein und alte Proben ggf. gar nicht mehr angezeigt werden.} \paragraph*{Wie wollen Sie Weinanmeldungen zwischen Jahresauswahlproben im Frontend trennen? Wichtig: Aktuelle Proben nach Anmeldeschluss sollten immer noch sichtbar sein und alte Proben ggf. gar nicht mehr angezeigt werden.}
Es gibt eine Liste mit Jahresauswahlproben. Es gibt eine Liste mit Jahresauswahlproben.
Da werden verschiedene aufgelistet. Da werden verschiedene aufgelistet.
Backenduser können die Anmeldung (Weine an Jahresauswahlproben anmelden) an- und abschalten. Backend-User können die Anmeldung (Weine an Jahresauswahlproben anmelden) an- und abschalten.
Vergangene Proben werden nicht angezeigt. Vergangene Proben werden nicht angezeigt.
Die Probe gilt als vergangen, wenn die Proben probiert wurden. Die Probe gilt als vergangen, wenn die Proben probiert wurden.
Die Anmeldemöglichkeit und \enquote{Probe ist vorbei}-Feststellung im Anmeldetool ist ein Clone vom „active until“ im „access-„panel. Mit Dateselector. Die Anmeldemöglichkeit und \enquote{Probe ist vorbei}-Feststellung im Anmeldetool ist ein Clone vom „active until“ im „access-„panel. Mit Dateselector.
\paragraph*{Was soll der Kunde beim Versand selbst machen?} \paragraph*{Was soll der Kunde beim Versand selbst machen?}
Wenn weinland-mosel-mitglied: Wenn Weinland-Mosel-Mitglied:
Ggf account erstellen mit Mitgliedsnummer <schon implememtiert> <muss händisch von WM freigeschalten werden> Ggf Account erstellen mit Mitgliedsnummer <schon implememtiert> <muss händisch von WM freigeschalten werden>.
In account einloggen In Account einloggen.
Wenn Nichtmitglied: Wenn Nichtmitglied:
Ggf account erstellen ohne Mitgliedsnummer <muss händisch freigeschalten werden> Ggf. Account erstellen ohne Mitgliedsnummer <muss händisch freigeschalten werden>
Eine Jahresauswahlprobe auswählen Eine Jahresauswahlprobe auswählen.
Einen Wein anmelden, Webform zu Weindaten ausfüllen. Einen Wein anmelden, Webform zu Weindaten ausfüllen.
PDF downloaden, ausdrucken im Paket dem Wein beilegen. PDF downloaden, ausdrucken im Paket dem Wein beilegen.
Das PDF muss Daten zum Wein beinhalten und den qr-code mit der \ac{ELN}. (zur Zuordnung) Das PDF muss Daten zum Wein beinhalten und den QR-Code mit der \ac{ELN}. (zur Zuordnung)
Nummernschwund, falls Weine gelöscht werden, ist kein Problem. Nummernschwund, falls Weine gelöscht werden, ist kein Problem.
Adressierung wird selbst gemacht. Adressierung wird selbst gemacht.
Frankierung auch. Frankierung auch.
\paragraph*{In welcher Form sollten Mitarbeiter die ausstehenden und eingegangenen Weine sehen? Reicht eine einfache Liste, oder sind Export- und Filtermöglichkeiten erwünscht? Wenn ja: Welche Filter (auch Sortierungen)? Welche Exportformate?} \paragraph*{In welcher Form sollten Mitarbeiter die ausstehenden und eingegangenen Weine sehen? Reicht eine einfache Liste, oder sind Export- und Filtermöglichkeiten erwünscht? Wenn ja: Welche Filter (auch Sortierungen)? Welche Exportformate?}
- CSV soll ausgebbar sein - CSV soll ausgebbar sein.
- Filter nicht notwendig, aber probenspezifisch - Filter nicht notwendig, aber probenspezifisch.
\paragraph*{Wenn nun ein Wein als “eingegangen” vermerkt ist, sollte ein Mitarbeiter das rückgängig machen können? Sollte ein Mitarbeiter Weine löschen können? Wenn eines der beiden ja: Einzeln, oder als Bulk-Action? (Bulk-Actions sind teuer/aufwändig umzusetzen)} \paragraph*{Wenn nun ein Wein als “eingegangen” vermerkt ist, sollte ein Mitarbeiter das rückgängig machen können? Sollte ein Mitarbeiter Weine löschen können? Wenn eines der beiden ja: Einzeln, oder als Bulk-Action? (Bulk-Actions sind teuer/aufwändig umzusetzen)}
- Was TYPO3 by-default kann, nichts eigenes bauen - Was TYPO3 by-default kann, nichts eigenes bauen.
\paragraph*{Welche Informationen soll der Kunde über seine Sendunge(n) sehen?} \paragraph*{Welche Informationen soll der Kunde über seine Sendunge(n) sehen?}
- ob sie eingegangen ist, mit emailbenachrichtigung - Ob sie eingegangen ist, mit Emailbenachrichtigung.
\paragraph*{Soll auch ein Kunde in der Lage sein, seine eigene Weinsendung(en) aus dem System zu löschen oder zu verändern? (Eventuell vertippt man sich) Wenn ja, bis wann? Bis zur Eingangsbestätigung?} \paragraph*{Soll auch ein Kunde in der Lage sein, seine eigene Weinsendung(en) aus dem System zu löschen oder zu verändern? (Eventuell vertippt man sich) Wenn ja, bis wann? Bis zur Eingangsbestätigung?}
Nach Einreichung (nicht Eingang bei WM) nicht mehr veränderbar und auch nicht löschbar. Nach Einreichung (nicht Eingang bei WM) nicht mehr veränderbar und auch nicht löschbar.
\paragraph*{Die \ac{ELN} ist eine inkrementell erhöhte Ganzzahl. Ist der tatsächliche Wert dieser wichtig, oder ist es lediglich wichtig, dass sie eindeutig ist? Der einfachste/günstigste Weg wäre es, sie in der Datenbank als “auto\_increment” zu deklarieren. Dann hätte man niemals, auch über x Auswahlproben hinweggehend, die selbe \ac{ELN} zwei mal. Das verkürzt und vereinfacht die Entwicklung, den entstehenden Code und die Nutzererfahrung auf Seiten von \ac{WM}.} \paragraph*{Die \ac{ELN} ist eine inkrementell erhöhte Ganzzahl. Ist der tatsächliche Wert dieser wichtig, oder ist es lediglich wichtig, dass sie eindeutig ist? Der einfachste/günstigste Weg wäre es, sie in der Datenbank als “auto\_increment” zu deklarieren. Dann hätte man niemals, auch über x Auswahlproben hinweggehend, die selbe \ac{ELN} zwei mal. Das verkürzt und vereinfacht die Entwicklung, den entstehenden Code und die Nutzererfahrung auf Seiten von \ac{WM}.}
- siehe oben - Siehe oben.
\paragraph*{Weiteres} \paragraph*{Weiteres}
Es soll einen Single-View für Weine geben, der anhand einer \ac{ELN} aufrufbar ist. Hier werden bekannte Details gezeigt. Es soll einen Single-View für Weine geben, der anhand einer \ac{ELN} aufrufbar ist. Hier werden bekannte Details gezeigt.
\paragraph*{Zum Formular, das Winzer ausfüllen:} \paragraph*{Zum Formular, das Winzer ausfüllen:}
Das Formular besteht zwei Schritten: Das Formular besteht zwei Schritten:
Schritt 1: Daten ausfüllen Schritt 1: Daten ausfüllen.
Schritt 2: Zusammenfassung anzeigen entweder zurück, weiter bearbeiten, oder submit \enquote{wein verbindlich anmelden} Schritt 2: Zusammenfassung anzeigen entweder zurück, weiter bearbeiten, oder submit \enquote{Wein verbindlich anmelden}.

View File

@@ -1,7 +1,7 @@
\chapter{Anforderungserfassung} \chapter{Anforderungserfassung}
\label{chap:anforderungserfassung} \label{chap:anforderungserfassung}
Obwohl bereits ein grober Anriss des Zielsystems bekannt ist, ist es unabdinglich eine Anforderungsanalyse durchzuführen, Obwohl bereits ein grober Anriss des Zielsystems bekannt ist, ist es unabdinglich eine Anforderungsanalyse durchzuführen,
dies um Details auszuarbeiten \cite{bib:christoph-ebert-vorwort-systematisches-re}. um Details auszuarbeiten \cite{bib:christoph-ebert-vorwort-systematisches-re}.
Hierbei ist es wichtig, kein exzessives Pflichtenheft aufzubauen, denn letztendlich zählt nur, was dem Kunden geliefert wird. Hierbei ist es wichtig, kein exzessives Pflichtenheft aufzubauen, denn letztendlich zählt nur, was dem Kunden geliefert wird.
Nicht, wie viele gar nicht benötigte Anforderungen umgesetzt wurden. Nicht, wie viele gar nicht benötigte Anforderungen umgesetzt wurden.
\enquote{\textit{Zu viele oder falsche Anforderungen ruinieren Budgets, Termine und die Qualität.}} \enquote{\textit{Zu viele oder falsche Anforderungen ruinieren Budgets, Termine und die Qualität.}}
@@ -85,15 +85,18 @@ 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 wichtigen Erkenntnisse 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 dem \ac{PO} vorgestellt und mit ihm diskutiert und Rücksprache gehalten werden. Ziel dessen ist unter anderem
Weitere wichtigste Erkenntnisse des Interviews sind: die pragmatische Korrektheit laufend zu überprüfen und ggf. Anforderungen zu überarbeiten.
Diese Idee wurde unmittelbar nach Beendigung des Interviews vorgeschlagen und entzieht sich somit dem Transkript.
\clearpage
Weitere wichtige Erkenntnisse dieses Interviews sind:
\begin{description} \begin{description}
\item[Endgerät für Scanning und Scanneranwendung]\hfill\\ \item[Endgerät für Scanning und Scanneranwendung]\hfill\\
Gescannt wird von Mobiltelefonen mit einer QR-Code-App wie QRBot. Gescannt wird von Mobiltelefonen mit einer QR-Code-App wie QRBot.
QRBot ermöglicht es Nutzern für jeden aufgerufenen QR-Code eine Vorlagen-URL aufzurufen, QRBot ermöglicht es Nutzern für jeden aufgerufenen QR-Code eine Vorlagen-URL aufzurufen,
um den gescannten Wert als Teil der URl, z.B. als Get-Parameter, zu übergeben \cite{bib:qrbot}. um den gescannten Wert als Teil der URL zu übergeben \cite{bib:qrbot}.
Das ist prädestiniert für API-ähnliche Webseitenaufrufe, um Weine einzuchecken. Das ist prädestiniert für API-ähnliche Webseitenaufrufe, um Weine einzuchecken.
\item[Trennung von Weinen nach Jahresauswahlproben im Frontend]\hfill\\ \item[Trennung von Weinen nach Jahresauswahlproben im Frontend]\hfill\\
Da es $n$ Jahresauswahlproben gibt und Weine immer genau einer Jahresauswahlprobe zugeordnet sein müssen, macht es wenig Da es $n$ Jahresauswahlproben gibt und Weine immer genau einer Jahresauswahlprobe zugeordnet sein müssen, macht es wenig

View File

@@ -2,8 +2,8 @@
\label{chap:einleitung} \label{chap:einleitung}
Der Regionalverband für Weine \ac{WM} lässt Weine in organisierten Weinproben, sog. Jahresauswahlproben, von Juroren bewerten. Der Regionalverband für Weine \ac{WM} lässt Weine in organisierten Weinproben, sog. Jahresauswahlproben, von Juroren bewerten.
Teilnehmende Weingüter registrieren ihre Weine in verschiedenen Kategorien und schicken diese auf dem Postweg ein. Teilnehmende Weingüter registrieren ihre Weine in verschiedenen Kategorien und schicken diese auf dem Postweg ein.
Dieser Prozess bildet sich in Form ausgedruckter Formulare, die von Hand ausgefüllt und von Hand in eine Dieser Prozess bildet sich in Form ausgedruckter Formulare ab, die von Hand ausgefüllt und von Hand in eine
Excel-Tabelle übertragen werden, ab. Excel-Tabelle übertragen werden.
\section{Problemstellung} \section{Problemstellung}
\label{chap:einleitung-problemstellung} \label{chap:einleitung-problemstellung}

View File

@@ -26,7 +26,7 @@ Diese Antworten zeigen auf, wie die Anmeldung und Zustellung von Weinen für Wei
für Weine in der Weinregion Mosel effizient und profitabel durch eine TYPO3-Erweiterung realisiert werden können. für Weine in der Weinregion Mosel effizient und profitabel durch eine TYPO3-Erweiterung realisiert werden können.
\clearpage \clearpage
\paragraph*{Nach welcher Methodik sollten Digitalisierungsprojekte im Maßstab des behandelten Projektes entwickelt werden, um effizient und profitabel zu sein?} \subsection*{Nach welcher Methodik sollten Digitalisierungsprojekte im Maßstab des behandelten Projektes entwickelt werden, um effizient und profitabel zu sein?}
In der Literaturrecherche zur Wahl von Methodiken in der Softwareentwicklung und Digitalisierung In der Literaturrecherche zur Wahl von Methodiken in der Softwareentwicklung und Digitalisierung
im Kontext der effizienten im Kontext der effizienten
und profitablen Umsetzung des hier behandelten Projektes stellten sich komplexe und aufwändige Modelle als und profitablen Umsetzung des hier behandelten Projektes stellten sich komplexe und aufwändige Modelle als
@@ -34,16 +34,17 @@ ungeeignet heraus. Vielmehr beeindruckten simple, agile Modelle durch ihren geri
der bei kleinen Projekten, wie der hier beleuchteten Aufgabenstellung, unabdinglich ist, um eine effiziente und profitable der bei kleinen Projekten, wie der hier beleuchteten Aufgabenstellung, unabdinglich ist, um eine effiziente und profitable
Umsetzung gewährleisten zu können. Umsetzung gewährleisten zu können.
\paragraph*{Welche Anforderungen sind an die TYPO3-Erweiterung gestellt?} \subsection*{Welche Anforderungen sind an die TYPO3-Erweiterung gestellt?}
Um ein Pflichtenheft für die hier beleuchtete TYPO3-Erweiterung zu erarbeiten, Um ein Pflichtenheft für die hier beleuchtete TYPO3-Erweiterung zu erarbeiten,
wurde eine Anforderungsanalyse in Form eines Interviews mit dem \ac{PO} durchgeführt. wurde eine Anforderungsanalyse in Form eines Interviews mit dem \ac{PO} durchgeführt.
Auch wurde eine quantitative Studie in Form eines Online-Fragebogens bezüglich der Bedürfnisse der Teilnehmer angestrengt, die ohne Ergebnisse verblieb. Auch wurde eine quantitative Studie in Form eines Online-Fragebogens bezüglich der Bedürfnisse der Teilnehmer angestrengt, die ohne Ergebnisse verblieb.
Dieses Pflichtenheft zeigt unter anderem auf, dass Mitglieder sowie Nichtmitglieder Teilnehmer sein können, Dieses Pflichtenheft zeigt unter anderem auf, dass Mitglieder sowie Nichtmitglieder Teilnehmer sein können,
wie die Nutzerführung aussieht, welche Werkzeuge \ac{WM}-Mitarbeitern zur Verfügung stehen und wie verschiedene Schnittstellen aussehen. wie die Nutzerführung aussieht, welche Werkzeuge \ac{WM}-Mitarbeitern zur Verfügung stehen und wie verschiedene Schnittstellen aussehen.
Auch ist eine wichtige Erkenntnis, dass regelmäßige Statusmeetings mit dem \ac{PO} durchgeführt werden sollten. Auch ist eine wichtige Erkenntnis, dass regelmäßige Statusmeetings mit dem \ac{PO} durchgeführt werden sollten,
Das vollständige Ergebnis dieser Anforderungsanalyse liegt im Anhang anbei, unter fullref{chap:anhang-pflichtenheft}. damit pragmatisch inkorrekte Anforderungen und Merkmale rechtzeitig erkannt und korrigiert werden können.
Das vollständige Pflichtenheft liegt im Anhang anbei, unter \fullref{chap:anhang-pflichtenheft}.
\paragraph*{Welche QR-Code-Bibliothek ist für das behandelte Projekt gut geeignet?} \subsection*{Welche QR-Code-Bibliothek ist für das behandelte Projekt gut geeignet?}
Um die Anmeldung und Zustellung von Weinen digital umsetzen zu können, ist lt. Anforderungen ein QR-Code-Generator notwendig. Um die Anmeldung und Zustellung von Weinen digital umsetzen zu können, ist lt. Anforderungen ein QR-Code-Generator notwendig.
Generell sollten erwägte Bibliotheken aktiv gepflegt, einen gewissen Grad Generell sollten erwägte Bibliotheken aktiv gepflegt, einen gewissen Grad
an Funktionalität aufweisen und für den angedachten Workflow geeignet sein. Das ist wichtig, damit sich dieser an Funktionalität aufweisen und für den angedachten Workflow geeignet sein. Das ist wichtig, damit sich dieser
@@ -51,17 +52,17 @@ effizient, schnell und somit kostengünstig integrieren lässt.
Vergleiche zwischen sechs QR-Code-Bibliotheken legen nahe, dass \textit{chillerlan/php-qrcode} die beste Eignung Vergleiche zwischen sechs QR-Code-Bibliotheken legen nahe, dass \textit{chillerlan/php-qrcode} die beste Eignung
der betrachteten QR-Code-Generatoren aufweist. der betrachteten QR-Code-Generatoren aufweist.
\paragraph*{Wie wird sichergestellt, dass sich der digitalisierte Teilprozess der Weinanmeldung und -zustellung nahtlos mit dem verbleibenden Prozess integriert?} \subsection*{Wie wird sichergestellt, dass sich der digitalisierte Teilprozess der Weinanmeldung und -zustellung nahtlos mit dem verbleibenden Prozess integriert?}
Es ist essenziell, die Schnittstelle zwischen dem digitalisierten Teilprozess und dem verbleibenden analogen Teilprozess Es ist essenziell, die Schnittstelle zwischen dem digitalisierten Teilprozess und dem verbleibenden analogen Teilprozess
zu schützen. Das wird sichergestellt, indem die Ausgabe des digitalisierten Teilprozesses der Ausgabe des vorherigen, zu schützen. Das wird sichergestellt, indem die Ausgabe des digitalisierten Teilprozesses der Ausgabe des vorherigen,
analogen Teilprozesses gleicht. Ist das gegeben, kann der neue, digitale Teilprozess effizient in den Geschäftsprozess analogen Teilprozesses gleicht. Ist das gegeben, kann der neue, digitale Teilprozess effizient in den Geschäftsprozess
der Jahresauswahlproben integriert werden, dies weil die darauf aufbauenden Schritte mit der Ausgabe der digitalisierten Schritte der Jahresauswahlproben integriert werden, dies weil die darauf aufbauenden Schritte mit der Ausgabe der digitalisierten Schritte
kompatibel sind. kompatibel sind.
%\paragraph*{Wie können unangemessen hohe Entwicklungskosten vermieden werden?} %\subsection*{Wie können unangemessen hohe Entwicklungskosten vermieden werden?}
%Vermeidbarer Aufwand in der Entwicklung ohne ausreichende Vorteile (Kosten-Nutzen-Rechnung) fällt zulasten der Effizienz. %Vermeidbarer Aufwand in der Entwicklung ohne ausreichende Vorteile (Kosten-Nutzen-Rechnung) fällt zulasten der Effizienz.
\section{Diskussion} \section{Diskussion}
\paragraph*{Nach welcher Methodik sollten Digitalisierungsprojekte im Maßstab des behandelten Projektes entwickelt werden, um effizient und profitabel zu sein?} \subsection*{Nach welcher Methodik sollten Digitalisierungsprojekte im Maßstab des behandelten Projektes entwickelt werden, um effizient und profitabel zu sein?}
Um eine Entwicklungsmethodik für die Umsetzung einer wie in der Problemstellung beschriebenen TYPO3-Erweiterung auszuwählen, Um eine Entwicklungsmethodik für die Umsetzung einer wie in der Problemstellung beschriebenen TYPO3-Erweiterung auszuwählen,
wurde eine Literaturrecherche durchgeführt. wurde eine Literaturrecherche durchgeführt.
Diese Literaturrecherche lässt darauf schließen, dass sich simple, agile Methodiken, ohne nennenswerten Mehraufwand, Diese Literaturrecherche lässt darauf schließen, dass sich simple, agile Methodiken, ohne nennenswerten Mehraufwand,
@@ -78,9 +79,11 @@ Bei Einbezug anderer Projekttypen und -beschaffenheiten weichen die geeigneten E
Eine Empfehlung für weitere Forschung ist es daher, ähnliche Literaturrecherchen bezüglich Eine Empfehlung für weitere Forschung ist es daher, ähnliche Literaturrecherchen bezüglich
angemessener Entwicklungsmethodiken für abweichende Projekttypen und -beschaffenheiten durchzuführen. angemessener Entwicklungsmethodiken für abweichende Projekttypen und -beschaffenheiten durchzuführen.
\paragraph*{Welche Anforderungen sind an die TYPO3-Erweiterung gestellt?} \subsection*{Welche Anforderungen sind an die TYPO3-Erweiterung gestellt?}
Um detaillierte Anforderungen an die TYPO3-Erweiterung in Erfahrung zu bringen, wurde eine Anforderungsanalyse durch verschiedene Um detaillierte Anforderungen an die TYPO3-Erweiterung in Erfahrung zu bringen, wurde eine Anforderungsanalyse durch verschiedene
Befragunstechniken durchgeführt. Die verwendeten Befragunstechniken sind \enquote{Interview} und \enquote{Online-Fragebogen}. Befragunstechniken durchgeführt. Die verwendeten Befragunstechniken sind \enquote{Interview} und \enquote{Online-Fragebogen}.
Auch ist es eine wichtige Erkenntnis des Interviews, regelmäßige Statusmeetings mit dem \ac{PO} zu führen.
Diese Statusmeetings erlauben das frühzeitige Erkennen und Beheben von pragmatisch inkorrekten Merkmalen und Anforderungen.
Es ist wichtig zu erwähnen, dass der Online-Fragebogen unbeantwortet blieb. Es ist wichtig zu erwähnen, dass der Online-Fragebogen unbeantwortet blieb.
Das Ergebnis dieser Anforderungsanalyse ist ein detailliertes Pflichtenheft, das die Anforderdungen an die TYPO3-Erweiterung detailliert beschreibt. Das Ergebnis dieser Anforderungsanalyse ist ein detailliertes Pflichtenheft, das die Anforderdungen an die TYPO3-Erweiterung detailliert beschreibt.
Dieses zeigt unter anderem auf, dass Mitglieder und Nichtmitglieder Teilnehmer sein können, Dieses zeigt unter anderem auf, dass Mitglieder und Nichtmitglieder Teilnehmer sein können,
@@ -90,10 +93,10 @@ Da diese Anforderungsanalyse lediglich die Anmeldung und Zustellung von Weinen b
des Jahresauswahlprobenwerkzeuges Forschungen bezüglich darauf aufbauender Anforderungen durchzuführen. des Jahresauswahlprobenwerkzeuges Forschungen bezüglich darauf aufbauender Anforderungen durchzuführen.
\paragraph*{Welche QR-Code-Bibliothek ist für das behandelte Projekt gut geeignet?} \subsection*{Welche QR-Code-Bibliothek ist für das behandelte Projekt gut geeignet?}
Im Interesse eine Bibliothek zur Generierung von QR-Codes für die Umsetzung dieses Softwareprojektes zu finden, Im Interesse eine Bibliothek zur Generierung von QR-Codes für die Umsetzung dieses Softwareprojektes zu finden,
die sich effizient, schnell und somit kostengünstig integrieren lässt, die sich effizient, schnell und somit kostengünstig integrieren lässt,
wurden sechs QR-Code-Bibliotheken einander gegenübergestellt und in drei verschiedenen Bewertungskategorien verglichen. wurden sechs QR-Code-Biblio\-theken einander gegenübergestellt und in drei verschiedenen Bewertungskategorien verglichen.
Diese Bewertungskategorien sind \enquote{Funktionalität}, \enquote{Gepflegtheit} und \enquote{Workflow-Eignung}. Diese Bewertungskategorien sind \enquote{Funktionalität}, \enquote{Gepflegtheit} und \enquote{Workflow-Eignung}.
Jede dieser Kategorien wurde mit null bis zehn Punkten bewertet. Jede Bibliothek konnte maximal 30 Punkte erhalten. Jede dieser Kategorien wurde mit null bis zehn Punkten bewertet. Jede Bibliothek konnte maximal 30 Punkte erhalten.
Die Bewertung erfolgte nach subjektiver Einschätzung des Autors, basierend auf Faktoren wie dem Zustand der Github-Seite, Die Bewertung erfolgte nach subjektiver Einschätzung des Autors, basierend auf Faktoren wie dem Zustand der Github-Seite,
@@ -109,20 +112,20 @@ Der Autor empfielt ähnliche Vergleiche für andere Arbeitsumgebungen durchzufü
Projektkontexte angemessen sind. Ebenso nimmt dieser Vergleich nur sechs QR-Code-Bibliotheken in Betracht. Projektkontexte angemessen sind. Ebenso nimmt dieser Vergleich nur sechs QR-Code-Bibliotheken in Betracht.
Eine weitere Forschungsempfehlung ist es daher, weitere Vergleiche mit mehr Bibliotheken durchzuführen. Eine weitere Forschungsempfehlung ist es daher, weitere Vergleiche mit mehr Bibliotheken durchzuführen.
\paragraph*{Wie wird sichergestellt, dass sich der digitalisierte Teilprozess der Weinanmeldung und -zustellung nahtlos mit dem verbleibenden Prozess integriert?} \subsection*{Wie wird sichergestellt, dass sich der digitalisierte Teilprozess der Weinanmeldung und -zustellung nahtlos mit dem verbleibenden Prozess integriert?}
Im Zuge der praktischen Umsetzung der in dieser Forschungsfrage beschriebenen TYPO3-Erweiterung zeigte sich das Problem Im Zuge der praktischen Umsetzung der in dieser Forschungsfrage beschriebenen TYPO3-Erweiterung zeigte sich das Problem
der Integration der digitalisierten Weinanmeldung und -zustellung in den restlichen, von dieser Ausarbeitung unberührten der Integration der digitalisierten Weinanmeldung und -zustellung in den restlichen, von dieser Ausarbeitung unberührten
Geschäftsprozess der Jahresauswahlprobe. Geschäftsprozess der Jahresauswahlprobe.
Diese Umsetzung zeigt auf, dass es für eine nahtlose Integration in den existierenden Geschäftsprozess Diese Umsetzung zeigt auf, dass es für eine nahtlose Integration in den existierenden Geschäftsprozess
unabdinglich ist, dass die Ausgabe des digitalisierten Teilprozesses der Ausgabe des ersetzten, manuellen Teilprozesses gleicht. unabdinglich ist, dass die Ausgabe des digitalisierten Teilprozesses der Ausgabe des ersetzten, manuellen Teilprozesses gleicht.
Dieser Aspekt wurde zuvor nicht bedacht. Das könnte daran liegen, dass diese Schnittstelle nicht der primäre und auch nicht Dieser Aspekt wurde zuvor nicht bedacht. Das könnte daran liegen, dass diese Schnittstelle nicht der primäre und auch nicht
der sekundäre Fokus der Umsetzung ist. Sie wird nicht benötigt, damit das umgesetzte Produkt intrinsisch funktioniert, der sekundäre Fokus in der Umsetzung ist. Sie wird nicht benötigt, damit das umgesetzte Produkt intrinsisch funktioniert,
ist aber dennoch unverzichtlich für eine reibungslose, praktische Verwendung. ist aber dennoch unverzichtlich für eine reibungslose, praktische Verwendung.
Hierbei muss jedoch berücksichtigt werden, dass es sich um ein einzelnes, konkretes Projekt handelt und sich aus diesem Grund Hierbei muss jedoch berücksichtigt werden, dass es sich um ein einzelnes, konkretes Projekt handelt und sich aus diesem Grund
nicht unbedingt allgemeingültige Schlüsse ableiten lassen. Eine Forschungsempfehlung ist es daher, weitere Möglichkeiten nicht unbedingt allgemeingültige Schlüsse ableiten lassen. Eine Forschungsempfehlung ist es daher, weitere Möglichkeiten
zur Integration verschiedener Teilprozesse zu recherchieren und zu evaluieren. zur Integration verschiedener Teilprozesse zu recherchieren und zu evaluieren.
%\paragraph*{Welche Endgeräte verwenden Weingüter und was sind ihre Bedürfnisse bezüglich der Jahresauswahlproben?} %\subsection*{Welche Endgeräte verwenden Weingüter und was sind ihre Bedürfnisse bezüglich der Jahresauswahlproben?}
%Um zu beleuchten, welche Endgeräte Weingüter im Kontext der Weinanmeldung verwenden und was ihre individuellen Bedürfnisse %Um zu beleuchten, welche Endgeräte Weingüter im Kontext der Weinanmeldung verwenden und was ihre individuellen Bedürfnisse
%im Kontext der Jahresauswahlproben sind, wurde versucht eine quantitative Studie in Form eines Online-Formulares abzuhalten. %im Kontext der Jahresauswahlproben sind, wurde versucht eine quantitative Studie in Form eines Online-Formulares abzuhalten.
%Dieses Online-Formular wurde über den Zeitraum eines Monats angeboten und mit der Bitte um Weiterleitung an Weingüter an \ac{WM} %Dieses Online-Formular wurde über den Zeitraum eines Monats angeboten und mit der Bitte um Weiterleitung an Weingüter an \ac{WM}
@@ -133,4 +136,4 @@ zur Integration verschiedener Teilprozesse zu recherchieren und zu evaluieren.
%Es könnte auch sein, dass die Stakeholdergruppe schlicht kein Interesse an einer Teilnahme hatte. %Es könnte auch sein, dass die Stakeholdergruppe schlicht kein Interesse an einer Teilnahme hatte.
%Daher wird die Forschungsempfehlung ausgesprochen, dieselbe Studie erneut in einer Art und Weise durchzuführen, die eine regere Teilnahme begünstigt. %Daher wird die Forschungsempfehlung ausgesprochen, dieselbe Studie erneut in einer Art und Weise durchzuführen, die eine regere Teilnahme begünstigt.
%\paragraph*{Wie können unangemessen hohe Entwicklungskosten vermieden werden?} %\subsection*{Wie können unangemessen hohe Entwicklungskosten vermieden werden?}

View File

@@ -3,22 +3,24 @@
Die vorliegende Bachelorarbeit befasste sich mit der Frage: \enquote{Wie kann die Anmeldung und Zustellung von Weinen für Weinproben Die vorliegende Bachelorarbeit befasste sich mit der Frage: \enquote{Wie kann die Anmeldung und Zustellung von Weinen für Weinproben
des Regionalverbunds für Weine in der Weinregion Mosel effizient und profitabel durch eine TYPO3-Erweiterung realisiert werden?} des Regionalverbunds für Weine in der Weinregion Mosel effizient und profitabel durch eine TYPO3-Erweiterung realisiert werden?}
Für die Beantwortung wurde eine Literaturrecherche bezüglich Entwicklungsmethodiken, eine Gegenüberstellung existierender Technik Für die Beantwortung wurde eine Literaturrecherche bezüglich Entwicklungsmethodiken, eine Gegenüberstellung existierender Technik
zur Erstellung von QR-Codes, verschiedene Befragungstechniken zur Anforderungserfassung sowie die praktischen Umsetzung der zur Erstellung von QR-Codes, verschiedene Befragungstechniken zur Anforderungserfassung sowie die praktische Umsetzung der
TYPO3-Erweiterung angestrengt. TYPO3-Erweiterung angestrengt.
\\ \\
\\ \\
Aus den Ergebnissen lässt sich schließen, dass sich insbesondere \enquote{extreme-programming}-Entwicklungsmethodiken eignen, Aus den Ergebnissen lässt sich schließen, dass sich insbesondere \enquote{extreme-programming}-Entwicklungsmethodiken eignen,
um das aus der Forschungsfrage hervorgehende Projekt zu realisieren. um das aus der Forschungsfrage hervorgehende Projekt zu realisieren.
Es wurde gezeigt, dass sich die Bibliothek \textit{chillerlan/php-qrcode} aufgrund herausragender Projektpflege und Workflow-Eignung anbietet, Es wurde gezeigt, dass sich die Bibliothek \enquote{chillerlan/php-qrcode} aufgrund herausragender Projektpflege und Workflow-Eignung anbietet,
die mit dem Projekt verbundenen Anforderungen zu erfüllen, die die Erstellung von QR-Codes beschreiben. Die Umsetzung zeigte, die mit dem Projekt verbundenen Anforderungen zu erfüllen, die die Erstellung von QR-Codes beschreiben. Die Umsetzung zeigte,
dass es unverzichtlich ist, die Schnittstelle zu den verbleibenden Teilprozessen zu schützen, um eine nahtlose Integration mit diesen zu ermöglichen. dass es unverzichtlich ist, die Schnittstelle zu den verbleibenden Teilprozessen zu schützen, um eine nahtlose Integration mit diesen zu ermöglichen.
Es wurde begründet, dass die Durchführung einer Anforderungsanalyse wichtig ist, um ein ausführliches Pflichtenheft auszuarbeiten. Es wurde begründet, dass die Durchführung einer Anforderungsanalyse wichtig ist, um ein ausführliches Pflichtenheft auszuarbeiten
und es zeigte sich, dass regelmäßige Statusmeetings mit dem \ac{PO} von Vorteil sind, um die pragmatische Korrektheit laufend zu überprüfen.
\\ \\
\\ \\
Durch diese Forschung wurde somit erwiesen, dass die Anmeldung und Zustellung von Weinen für Weinproben des Regionalverbunds für Durch diese Forschung wurde somit erwiesen, dass die Anmeldung und Zustellung von Weinen für Weinproben des Regionalverbunds für
Weine in der Weinregion Mosel effizient und profitabel durch eine TYPO3-Erweiterung realisiert werden kann, indem für die technische Weine in der Weinregion Mosel effizient und profitabel durch eine TYPO3-Erweiterung realisiert werden kann, indem für die technische
Umsetzung \enquote{extreme-programming}-Entwicklungsmethodiken herangezogen werden, durch eine Anforderungsanalyse ein Pflichtenheft ausarbeitet wird, Umsetzung \enquote{extreme-programming}-Entwicklungsmethodiken herangezogen werden, durch eine Anforderungsanalyse ein Pflichtenheft ausgearbeitet wird,
\break\textit{chillerlan/php-qrcode} als QR-Code-Bibliothek verwendet wird und die Schnittstelle zu den verbleibenden Teilprozessen geschützt wird. der aktuelle Stand regelmäßig in Statusmeetings mit dem \ac{PO} besprochen wird, \enquote{chillerlan/php-qrcode} als QR-Code-Bibliothek verwendet wird
und die Schnittstelle zu den verbleibenden Teilprozessen geschützt wird.
\section{Ausblick} \section{Ausblick}
\label{chap:ausblick} \label{chap:ausblick}

View File

@@ -2,25 +2,26 @@
\label{chap:umsetzung} \label{chap:umsetzung}
Infolge der Anforderungsanalyse befasst sich das Kapitel \enquote{Konzeption und Umsetzung} Infolge der Anforderungsanalyse befasst sich das Kapitel \enquote{Konzeption und Umsetzung}
mit der Implementation der Anforderungen in dem mit der Implementation der Anforderungen in dem
Brown-Field Projekt \cite{bib:schwarzer-vorlesung-swa} in Form einer TYPO3-Erweiterung. Brown-Field Projekt \cite{bib:schwarzer-vorlesung-swa} in Form einer TYPO3-\break{}Erweiterung.
Es ist anzumerken, dass das aus \fullref{chap:anforderungserfassung} hervorgehende Pflichtenheft im Rahmen geplanter und Es ist anzumerken, dass das aus \fullref{chap:anforderungserfassung} hervorgehende Pflichtenheft im Rahmen geplanter und
opportunistischer Gespräche mit dem \ac{PO} geringfügige Änderungen erfahren wird. opportunistischer Gespräche mit dem \ac{PO} geringfügige Änderungen erfahren wird.
\section{Setup der TYPO3-Erweiterung} \section{Setup der TYPO3-Erweiterung}
TYPO3-Erweiterungen werden via Composer installiert \break\cite{bib:typo3-docs-managing-extensions}. TYPO3-Erweiterungen werden via Composer installiert
\break\cite{bib:typo3-docs-managing-extensions}.
Um eine TYPO3-Erweiterung zu erstellen, muss also ein Composer-Paket erstellt werden. Um eine TYPO3-Erweiterung 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-Erweiterung darstellt, lokal in den versionierten Ordner \enquote{packages} gelegt. TYPO3-Erweiterung darstellt, lokal in den versionierten Ordner \enquote{packages} gelegt.
Dieses Verzeichnis wird als Quelle für Composer-Pakete in der Dieses Verzeichnis wird als Quelle für
\break{}Composer-Pakete in der
Haupt-composer.json-Datei hinterlegt. Haupt-composer.json-Datei hinterlegt.
Somit wird ein Composer-Paket nur für dieses Projekt bereitgestellt, Somit wird ein Composer-Paket nur für dieses Projekt bereitgestellt,
ohne den Aufwand zu betreiben, der üblicherweise mit dem Bereitstellen eines Paketes einhergeht. ohne den Aufwand zu betreiben, der üblicherweise mit dem Bereitstellen eines Paketes einhergeht.
\\ \\
\\ \\
Um das grundlegende Setup einer TYPO3-Erweiterung effizient durchzuführen, wird eine Um das grundlegende Setup einer TYPO3-Erweiterung effizient durchzuführen, wird eine
existierende Erweiterung mit vergleichbarem Funktionsumfang kopiert, umbenannt und eingefügt. existierende Erweiterung mit vergleichbarem Funktionsumfang kopiert, angepasst und eingefügt,
Spezifisch ist dieser \enquote{vergleichbare Funktionsumfang}, dass es ebenfalls Datenmodelle und hochpersonalisierte um eine valide Ordnerstruktur als Ausgangspunkt zu erhalten.
Frontendlogik in Bezug auf die zuvor genannten Datenmodelle gibt.
\section{Digitization} \section{Digitization}
Die Phase der Digitization nach Verhoef et al. befasst sich mit der digitalen Abbildung von Objekten aus der realen Welt Die Phase der Digitization nach Verhoef et al. befasst sich mit der digitalen Abbildung von Objekten aus der realen Welt
@@ -46,12 +47,12 @@ vier Komponenten:
\end{description} \end{description}
\cite{bib:typo3-docs-extbase-reference}. \cite{bib:typo3-docs-extbase-reference}.
Im Folgenden wurde ein semiformales Diagramm der Objekte und ihren Relationen Im Folgenden wird ein semiformales Diagramm der Objekte und ihren Relationen
angefertigt und in Rücksprache mit dem \ac{PO} finalisiert. angefertigt und in Rücksprache mit dem \ac{PO} finalisiert.
\begin{nicepic} \begin{nicepic}
\includegraphics[width=1\textwidth]{images/objektrelationen-weinlandmosel-einlieferungswerkzeug.png} \includegraphics[width=1\textwidth]{images/objektrelationen-weinlandmosel-einlieferungswerkzeug.png}
\captionof{figure}{Objektrelationen: Weinland Mosel Einlieferungswerkzeug, Quelle: Eigene Darstellung} \captionof{figure}{Objektrelationen: Weinland Mosel Jahresauswahlprobenwerkzeug, Quelle: Eigene Darstellung}
\label{fig:objektrelationen} \label{fig:objektrelationen}
\end{nicepic} \end{nicepic}
@@ -59,7 +60,7 @@ Nachdem in Erfahrung gebracht wird, welche konkreten Datenobjekte benötigt werd
werden Attribute dieser Objekte dem Pflichtenheft entnommen. Diese werden in einem werden Attribute dieser Objekte dem Pflichtenheft entnommen. Diese werden in einem
formalen Klassendiagramm festgehalten und in Rücksprache mit dem \ac{PO} formalen Klassendiagramm festgehalten und in Rücksprache mit dem \ac{PO}
weiter bis zu festen Datentypen und Auswahlmöglichkeiten konkretisiert. weiter bis zu festen Datentypen und Auswahlmöglichkeiten konkretisiert.
Beispielsweise dass Wettbewerbskategorien durch TYPO3-Categories repräsentiert werden. Beispielsweise dass Probenkategorien durch TYPO3-Categories repräsentiert werden.
Das hat den Vorteil, dass TYPO3-Categories bereits native Bestandteile eines TYPO3-Redaktionssystemes sind Das hat den Vorteil, dass TYPO3-Categories bereits native Bestandteile eines TYPO3-Redaktionssystemes sind
und alle relevanten Attribute anbieten. Diese sind Titel, und alle relevanten Attribute anbieten. Diese sind Titel,
Parentkategorie und Beschreibung. Parentkategorie und Beschreibung.
@@ -74,8 +75,8 @@ Ziel dessen ist, dass sich Nutzer für einen vorgefertigten, nominalen Eintrag i
entscheiden müssen und dass diese Auswahlmöglichkeiten im TYPO3-Backend pflegbar sind. entscheiden müssen und dass diese Auswahlmöglichkeiten im TYPO3-Backend pflegbar sind.
Weinlagen sind im Brown-Field-Projekt bereits vorhanden, also sollen hierfür existierende Daten Weinlagen sind im Brown-Field-Projekt bereits vorhanden, also sollen hierfür existierende Daten
wiederverwendet werden. wiederverwendet werden.
Je Wein sollen beliebig viele Weineigenschaften auswählbar sein. Wettbewerbskategorien, Je Wein sollen beliebig viele Weineigenschaften auswählbar sein. Probenkategorie,
Geschmacksrichtung, etc, sind jeweils nur ein Element. Geschmacksangabe, etc, sind jeweils nur ein Element.
Weitere Notizen zu diesem Gespräch sind im Anhang unter \fullref{chap:anhang-notizen-digitization} Weitere Notizen zu diesem Gespräch sind im Anhang unter \fullref{chap:anhang-notizen-digitization}
zu finden. zu finden.
\\ \\
@@ -187,18 +188,20 @@ Weiterleitungen zu bestimmten Seiten, nachdem ein Nutzer spezielle Events ausgel
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
\break\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-Pluginobjekt registriert. Dieses Pluginobjekt 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 der Webseite aufbereitet
\break\cite{bib:typo3-docs-extbase}.
Neue Datenobjekte werden in Repository-Objekten registriert Neue Datenobjekte werden in Repository-Objekten registriert
\break\cite{bib:typo3-docs-extdev-tut-tea-repositories}. Diese Repositories sind Aggregate des Controllers, \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
ActionController-Objekten über Methoden übergeben \cite{bib:typo3-docs-di}. \break{}ActionController-Objekten über öffentliche Methoden übergeben
\break\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
über das SQL-Schlüsselwort über das SQL-Schlüsselwort
\break\enquote{AUTO\_INCREMENT} in der Datenbank generiert werden. \enquote{AUTO\_INCREMENT} in der Datenbank generiert werden.
Beispielsweise muss ein Masterrecord, der Betriebsinformationen speichert, bidirektional an ein Teilnehmerobjekt Beispielsweise muss ein Masterrecord, der Betriebsinformationen speichert, bidirektional an ein Teilnehmerobjekt
gebunden werden. Hierzu wird jedem der Elemente jeweils der Foreign Key des anderen übergeben. gebunden werden. Hierzu wird jedem der Elemente jeweils der Foreign Key des anderen übergeben.
Als Foreign Keys werden hierfür die jeweiligen \acp{UID} herangezogen, da diese Werte durch Als Foreign Keys werden hierfür die jeweiligen \acp{UID} herangezogen, da diese Werte durch
@@ -258,7 +261,8 @@ 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.
\break{}SelectSingle-Formfelder werden durch Select-HTML-Tags abgebildet. Der TYPO3-Form-ViewHelper für \break{}SelectSingle-Formfelder werden durch Select-HTML-Tags abgebildet.
\break{}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
@@ -354,7 +358,7 @@ 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.
\subsubsection{QR-Code-Generierung} \subsubsection{QR-Code-Generierung}
Der QR-Code beinhaltet lediglich die Wein-\ac{UID} anstatt einer vollständigen URL. Hintergrund dessen ist, dass Der QR-Code beinhaltet lediglich die Wein-\ac{UID} anstatt einer vollständigen URL. Hintergrund ist, dass
die benötigte URL, um einen Wein einzuscannen, bis auf die Wein-\ac{UID} immer identisch ist. die benötigte URL, um einen Wein einzuscannen, bis auf die Wein-\ac{UID} immer identisch ist.
Somit wird Redundanz vermieden. Somit wird Redundanz vermieden.
Es ist Aufgabe der QR-Code-App, die den Code einscannt, aus der Wein-\ac{UID} eine vollständige URL herzuleiten. Es ist Aufgabe der QR-Code-App, die den Code einscannt, aus der Wein-\ac{UID} eine vollständige URL herzuleiten.
@@ -441,8 +445,8 @@ den richtigen Wein eingescanned zu haben.
\subsection{CSV-Export} \subsection{CSV-Export}
Das letzte Glied des analogen Prozesses, den es zu digitalisieren gilt, ist der Datenexport der Weindaten je Jahresauswahlprobe. Das letzte Glied des analogen Prozesses, den es zu digitalisieren gilt, ist der Datenexport der Weindaten je Jahresauswahlprobe.
TYPO3s ListView bietet einen nativen CSV-Exporter an \cite{bib:pixelant-typo3-data-export}, TYPO3s ListView bietet einen nativen CSV-Exporter an \cite{bib:pixelant-typo3-data-export},
jedoch kommt dieser nicht den Anforderungen gerecht, da das CSV-Dokument Daten verschiedener Datenbanktabellen im Verein jedoch wird dieser nicht den Anforderungen gerecht, da das benötigte CSV-Dokument Daten verschiedener Datenbanktabellen im Verein
beinhalten muss. beinhalten muss. Der Native CSV-Exporter gibt jedoch lediglich Inhalte einer Datenbanktabelle aus \cite{bib:pixelant-typo3-data-export}.
Um eine reibungslose Integration in die restlichen Prozesse von \ac{WM} zu gewährleisten, muss das exportierte CSV Um eine reibungslose Integration in die restlichen Prozesse von \ac{WM} zu gewährleisten, muss das exportierte CSV
das selbe Format haben, wie bisher bestehende Excel-Dateien. Dieses Format ist durch genaue Spaltennamen, das selbe Format haben, wie bisher bestehende Excel-Dateien. Dieses Format ist durch genaue Spaltennamen,
Spalteneihenfolgen und den Arten von Daten, die angefragt werden, definiert. Spalteneihenfolgen und den Arten von Daten, die angefragt werden, definiert.

View File

@@ -22,7 +22,8 @@ Aus den Ergebnissen der Trendanalysen sollten dann Treiber identifiziert werden.
\\ \\
\\ \\
Für die relevantesten Treiber sollten Zukunftsszenarien untersucht werden. Dies ist wichtig, um zu wissen, Für die relevantesten Treiber sollten Zukunftsszenarien untersucht werden. Dies ist wichtig, um zu wissen,
welche Auswirkungen bestimmte Trends in welcher Ausprägung haben würden. Relevant sind hier die Vorteile der Umsetzung des Szenarios, die Kosten der Umsetzung, sowie die Risiken, das Szenario nicht umzusetzen oder doch umzusetzen. Auf dieser Basis kann das beste Szenario ausgewählt werden. welche Auswirkungen bestimmte Trends in welcher Ausprägung haben würden. Relevant sind hier die Vorteile der Umsetzung des Szenarios,
die Kosten der Umsetzung, sowie die Risiken. Auf dieser Basis kann das beste Szenario ausgewählt werden.
\\ \\
\\ \\
Aus diesem Szenario werden schließlich die Ziele der Digitalisierung abgeleitet. Diese Ziele müssen so formuliert sein, dass sie mit der Ausgangssituation verglichen werden können. Aus diesem Szenario werden schließlich die Ziele der Digitalisierung abgeleitet. Diese Ziele müssen so formuliert sein, dass sie mit der Ausgangssituation verglichen werden können.
@@ -34,7 +35,7 @@ Aus diesem Szenario werden schließlich die Ziele der Digitalisierung abgeleitet
\end{nicepic} \end{nicepic}
\begin{nicepic} \begin{nicepic}
\includegraphics[width=0.5\textwidth]{images/plan-do-check-act.png} \includegraphics[width=0.45\textwidth]{images/plan-do-check-act.png}
\captionof{figure}{Das Plan-Do-Check-Act-Modell, Quelle: \cite{bib:abraham2005sustainability}} \captionof{figure}{Das Plan-Do-Check-Act-Modell, Quelle: \cite{bib:abraham2005sustainability}}
\label{fig:model-digital-transformation} \label{fig:model-digital-transformation}
\end{nicepic} \end{nicepic}
@@ -52,8 +53,8 @@ Zielzustand zu erreichen. Anschließend sollten die konkreten Schritte identifiz
Lücke zu schließen. Wenn zum Beispiel ein Treiber \enquote{interne Effizienz} ist, könnten die Schritte darin bestehen, neue digitale Lücke zu schließen. Wenn zum Beispiel ein Treiber \enquote{interne Effizienz} ist, könnten die Schritte darin bestehen, neue digitale
Werkzeuge zu integrieren. Schließlich werden diese Schritte analysiert und priorisiert. Prädestiniert dafür sind Werkzeuge zu integrieren. Schließlich werden diese Schritte analysiert und priorisiert. Prädestiniert dafür sind
Kosten-Nutzen-Analysen, Analysen der Umsetzbarkeit, des Wartungsaufwands und der Mitarbeiterschulung. Kosten-Nutzen-Analysen, Analysen der Umsetzbarkeit, des Wartungsaufwands und der Mitarbeiterschulung.
\\ \clearpage
\\
\textbf{Der vierte Schritt} befasst sich mit der Umsetzung der in Schritt drei geplanten Maßnahmen und \textbf{Der vierte Schritt} befasst sich mit der Umsetzung der in Schritt drei geplanten Maßnahmen und
der Bewertung der erzielten Ergebnisse. Diese Bewertung der Ergebnisse sollte z.B. soziokulturelle Barrieren berücksichtigen, der Bewertung der erzielten Ergebnisse. Diese Bewertung der Ergebnisse sollte z.B. soziokulturelle Barrieren berücksichtigen,
die sich aus den Reaktionen bestimmter Stakeholder ergeben, die möglicherweise negativ auf Veränderungen reagieren die sich aus den Reaktionen bestimmter Stakeholder ergeben, die möglicherweise negativ auf Veränderungen reagieren

View File

@@ -17,11 +17,11 @@ um hochindividualisierte Funktionalitäten zu ermöglichen.
\\\cite{bib:typo3-docs-extbase-reference} \\\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.
Im Folgenden werden einige Implementationen von QR-Code-Generator-Bibliotheken im Detail betrachtet. Es wird sich Im Folgenden werden einige Implementationen von QR-Code-Generator-Bibliotheken im Detail betrachtet. Es wird sich
auf bereits vom System verwendete Programmiersprachen begrenzt. auf bereits vom System verwendete Programmiersprachen begrenzt.
\subsection{Javascript-Implementationen} \subsection{JavaScript-Implementationen}
\subsubsection*{jquery-qrcode.js} \subsubsection*{jquery-qrcode.js}
\enquote{jquery-qrcode.js} ist ein Plugin für jQuery, um dynamisch QR-Codes auf Browserseite zu generieren. \enquote{jquery-qrcode.js} 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 Jedoch verweist diese Bibliothek selbst auf ihren desolaten Zustand und empfielt stattdessen \enquote{kjua} zu verwenden
@@ -33,7 +33,7 @@ um über Neuigkeiten auf dem Laufenden gehalten werden zu wollen \cite{bib:githu
\cite{bib:larsjung-jquery-qrcode}. \cite{bib:larsjung-jquery-qrcode}.
\subsubsection*{kjua} \subsubsection*{kjua}
\enquote{kjua} ist eine Javascript-Bibliothek, die dynamisch QR-Codes auf Browserebene generiert. \enquote{kjua} ist eine JavaScript-Bibliothek, die dynamisch QR-Codes auf Browserebene generiert.
Im Gegensatz zu \enquote{jquery-qrcode.js} funktioniert \textit{kjua} auch ohne jQuery. Es werden diverse Stilattribute für gestaltete Im Gegensatz zu \enquote{jquery-qrcode.js} funktioniert \textit{kjua} auch ohne jQuery. Es werden diverse Stilattribute für gestaltete
QR-Codes unterstützt \cite{bib:larsjung-kjua}. \enquote{kjua} kann QR-Codes über HTML-Canvas, Bilder und Vektorgrafiken umsetzen. QR-Codes unterstützt \cite{bib:larsjung-kjua}. \enquote{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 Das ist bei näherer Betrachtung der Kjua-Tech-Demo \enpointy{https://larsjung.de/kjua/latest/demo} ersichtlich, jedoch
@@ -46,7 +46,7 @@ Issues scheinen ignoriert zu werden. \enquote{kjua} ist MIT-lizensiert \cite{bib
serverseitig, als Kommandozeilenwerkzeug, sowohl auch browserseitig an. Die Readme-Datei ist umfangreich, reich an Beispielen serverseitig, als Kommandozeilenwerkzeug, sowohl auch browserseitig an. Die Readme-Datei ist umfangreich, reich an Beispielen
und detailreichen Erklärungen. Der letzte Commit ist zu diesem Zeitpunkt knapp älter als ein halbes Jahr. Somit macht das 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 Projekt einen moderat gepflegten Eindruck. Die Readme-Datei verweist auf Unit-Tests bei Travis, jedoch lief die letzte Pipeline
vor etwa zwei Jahren, Februar 2021, durch und schlug fehl. Einige Pull-Requests und Issues werden seit Jahren ignoriert Februar 2021 durch und schlug fehl. Einige Pull-Requests und Issues werden seit Jahren ignoriert
\cite{bib:soldair-node-qrcode}. \cite{bib:soldair-node-qrcode}.
Die Bibliothek wurde 74 Millionen mal heruntergeladen und mit 6.308 Sternen markiert. Die Bibliothek wurde 74 Millionen mal heruntergeladen und mit 6.308 Sternen markiert.
\enquote{Soldair/node-qrcode} ist MIT-lizensiert \cite{bib:npmjs-soldair-node-qrcode}. \enquote{Soldair/node-qrcode} ist MIT-lizensiert \cite{bib:npmjs-soldair-node-qrcode}.
@@ -82,7 +82,7 @@ Die Bibliothek verwendet die MIT-Lizenz.
\subsubsection*{Bacon/BaconQrCode} \subsubsection*{Bacon/BaconQrCode}
\enquote{Bacon/BaconQrCode} ist eine PHP-Bibliothek zur Generierung von QR-Codes, bereitgestellt von Ben Scholzen, hinter \enquote{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, der Github-\break{}Organisation \enquote{Bacon}, dessen einziges Mitglied Scholzen darstellt. Verlinkt ist eine Homepage,
die zu einer Nginx-\enquote{Hello World}-Seite führt. Begleitet wird \enquote{BaconQrCode} von etlichen weiteren \enquote{Bacon-Projekten} die zu einer Nginx-\enquote{Hello World}-Seite führt. Begleitet wird \enquote{BaconQrCode} von etlichen weiteren \enquote{Bacon-Projekten}
wie Beispielsweise \enquote{BaconPdf}, \enquote{BaconStringUtils} und \enquote{BaconUser} um nur einige zu nennen. wie Beispielsweise \enquote{BaconPdf}, \enquote{BaconStringUtils} und \enquote{BaconUser} um nur einige zu nennen.
Insgesamt machen die stichprobenartig betrachteten Projekte einen desolaten Eindruck mit zuteils aktuellesten Commits Insgesamt machen die stichprobenartig betrachteten Projekte einen desolaten Eindruck mit zuteils aktuellesten Commits
@@ -109,7 +109,7 @@ Hierfür werden die zuvor vorgestellten Bibliotheken zur Erstellung von QR-Codes
\begin{description} \begin{description}
\item [Funktionialität] \hfill \\ \item [Funktionialität] \hfill \\
Der Umfang, der unterstützten Funktionen, in Annahme dessen, dass die Bibliothek Der Umfang, der unterstützten Funktionen, in Annahme dessen, dass die Bibliothek
syntaktisch und semantisch korrekt ist\\\cite{bib:heinemann-vorlesung-re}. syntaktisch und semantisch korrekt ist.
\item [Gepflegtheit] \hfill \\ \item [Gepflegtheit] \hfill \\
Das Ausmaß, in dem das Projekt aktiv gepflegt wird und ordnungsgemäß entwickelt zu sein scheint. Das Ausmaß, in dem das Projekt aktiv gepflegt wird und ordnungsgemäß entwickelt zu sein scheint.
@@ -149,7 +149,7 @@ Die Exklusivität für Nutzung in Webbrowsern schließt eine Einbindung in den W
8 & 2 & 0 & 10\\ 8 & 2 & 0 & 10\\
\hline \hline
\end{tabular} \end{tabular}
\caption{Subjektive Evaluation: kjua} \caption{Subjektive Evaluation zur Eignung als QR-Code-Bibliothek: kjua}
\end{table} \end{table}
\subsubsection*{soldair/node-qrcode} \subsubsection*{soldair/node-qrcode}
@@ -171,7 +171,7 @@ drei Punkte gibt.
8 & 3 & 4 & 15\\ 8 & 3 & 4 & 15\\
\hline \hline
\end{tabular} \end{tabular}
\caption{Subjektive Evaluation: soldair/node-qrcode} \caption{Subjektive Evaluation zur Eignung als QR-Code-Bibliothek: soldair/node-qrcode}
\end{table} \end{table}
\subsubsection*{chillerlan/php-qrcode} \subsubsection*{chillerlan/php-qrcode}
@@ -197,7 +197,7 @@ bereitgestellt \cite{bib:chillerlan-php-qrcode-composerjson} und weist eine ähn
10 & 10 & 10 & 30\\ 10 & 10 & 10 & 30\\
\hline \hline
\end{tabular} \end{tabular}
\caption{Subjektive Evaluation: chillerlan/php-qrcode} \caption{Subjektive Evaluation zur Eignung als QR-Code-Bibliothek: chillerlan/php-qrcode}
\end{table} \end{table}
\subsubsection*{kreativekorp/barcode} \subsubsection*{kreativekorp/barcode}
@@ -219,7 +219,7 @@ da eine Verwendung selbst mit guter Funktionalität nicht infrage käme.
- & 3 & 0 & -\\ - & 3 & 0 & -\\
\hline \hline
\end{tabular} \end{tabular}
\caption{Subjektive Evaluation: Kreativekorp/barcode} \caption{Subjektive Evaluation zur Eignung als QR-Code-Bibliothek: Kreativekorp/barcode}
\end{table} \end{table}
\subsubsection*{Bacon/BaconQrCode} \subsubsection*{Bacon/BaconQrCode}
@@ -244,12 +244,12 @@ Dadurch werden drei Punkte einer vollkommenen Workflow-Eignung abgezogen, wodurc
5 & 8 & 7 & 20\\ 5 & 8 & 7 & 20\\
\hline \hline
\end{tabular} \end{tabular}
\caption{Subjektive Evaluation: Bacon/BaconQrCode} \caption{Subjektive Evaluation zur Eignung als QR-Code-Bibliothek: Bacon/BaconQrCode}
\end{table} \end{table}
\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
\break\enquote{chillerlan/php-qrcode} mit 30 Gesamtpunkten als die am besten geeignetste Bibliothek. \break\enquote{chillerlan/php-qrcode} mit 30 Gesamtpunkten als die am besten geeignetste Bibliothek unter den Betrachteten.
Somit wird \enquote{chillerlan/php-qrcode} als QR-Code Technologie in der Lösung dieser Problemstellung verwendet. Somit wird \enquote{chillerlan/php-qrcode} als QR-Code Technologie in der Lösung dieser Problemstellung verwendet.
\begin{table}[htbp] \begin{table}[htbp]
@@ -266,9 +266,10 @@ Somit wird \enquote{chillerlan/php-qrcode} als QR-Code Technologie in der Lösun
kreativekorp/barcode & - & 3 & 0 & -\\ kreativekorp/barcode & - & 3 & 0 & -\\
\hline \hline
\end{tabular} \end{tabular}
\caption{Gesamtübersicht: Subjektive Evaluation der QR-Code Bibliotheken} \caption{Gesamtübersicht: Subjektive Evaluationen zur Eignung von QR-Code Bibliotheken}
\label{tbl:qrlib-compare-barchart} \label{tbl:qrlib-compare-barchart}
\end{table} \end{table}
\clearpage
\section{PDF-Generator} \section{PDF-Generator}
Firmenintern ist der PDF-Generator \enquote{mpdf/mpdf} etabliert und wird bereits Firmenintern ist der PDF-Generator \enquote{mpdf/mpdf} etabliert und wird bereits

View File

@@ -26,11 +26,10 @@ Studiengang \cfgUniversityDegreeCourse\\
\cfgAuthorName, \cfgAuthorMatriculationNum\\ \cfgAuthorName, \cfgAuthorMatriculationNum\\
\cfgAuthorContact\\ \cfgAuthorContact\\
mit Medienagenten Stange \& Ziegler oHG\\ mit Medienagenten Stange \& Ziegler oHG\\
30.03.2023\\ \cfgDateLastModification\\
\cfgAuthorCity\\ \cfgAuthorCity\\
\vspace{3mm} \ \\ \vspace{3mm} \ \\
Erstgutachter Prof. Dr. Volker Schwarzer\\ Erstbetreuer: Prof. Dr. Volker Schwarzer\\
Zweitgutachterin Prof. Dr. Elisabeth Heinemann\\ Zweitbetreuerin: Prof. Dr. Elisabeth Heinemann\\
\cfgUniversityCity\\
\end{titlepage} \end{titlepage}

View File

@@ -3,18 +3,17 @@
% %
% Document title % Document title
\newcommand{\cfgDocTitle}{Bachelorarbeit} \newcommand{\cfgDocTitle}{Bachelor of Science}
\newcommand{\cfgDocSubTitle}{Wie kann die Anmeldung und Zustellung von Weinen für Weinproben des Regionalverbunds für Weine in der Weinregion Mosel effizient und profitabel durch eine TYPO3-Erweiterung realisiert werden?} \newcommand{\cfgDocSubTitle}{Wie kann die Anmeldung und Zustellung von Weinen für Weinproben des Regionalverbunds für Weine in der Weinregion Mosel effizient und profitabel durch eine TYPO3-Erweiterung realisiert werden?}
% Document classification % Document classification
\newcommand{\cfgDocClassification}{Thesis zur Erlangung des akademischen Grades \newcommand{\cfgDocClassification}{Thesis zur Erlangung des akademischen Grades}
Bachelor of Science}
% Document version % Document version
\newcommand{\cfgDocVersion}{2.7} \newcommand{\cfgDocVersion}{3}
% Last modification date % Last modification date
\newcommand{\cfgDateLastModification}{30. März 2023} \newcommand{\cfgDateLastModification}{31. März 2023}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Binary file not shown.

BIN
main.pdf

Binary file not shown.

View File

@@ -2,21 +2,21 @@
% Selbstständigkeitserklärung % Selbstständigkeitserklärung
% %
\includepdf[pages=-]{images/selbststaendigkeitserklaerung.pdf} %\includepdf[pages=-]{images/selbststaendigkeitserklaerung.pdf}
%\chapter*{Selbstständigkeitserklärung} \chapter*{Selbstständigkeitserklärung}
%
%Hiermit erkläre ich, dass ich die vorliegende Arbeit selbstständig und ohne Benutzung anderer als der angegebenen Hilfsmittel angefertigt habe. Hiermit erkläre ich, dass ich die vorliegende Arbeit selbstständig und ohne Benutzung anderer als der angegebenen Hilfsmittel angefertigt habe.
%Alle Stellen, die wörtlich oder sinngemäß aus veröffentlichten und nicht veröffentlichten Schriften Alle Stellen, die wörtlich oder sinngemäß aus veröffentlichten und nicht veröffentlichten Schriften
%entnommen wurden, sind als solche kenntlich gemacht. Die Arbeit ist noch nicht in entnommen wurden, sind als solche kenntlich gemacht. Die Arbeit ist noch nicht in
%gleicher oder ähnlicher Form oder auszugsweise im Rahmen einer anderen Prüfung gleicher oder ähnlicher Form oder auszugsweise im Rahmen einer anderen Prüfung
%vorgelegt worden. vorgelegt worden.
%\\ \\
%\\ \\
%\\ \\
%\hspace*{\fill}\cfgAuthorCity, \cfgDateLastModification \hspace*{\fill}\cfgAuthorCity, \cfgDateLastModification
%\\ \\
%\\ \\
%\\ \\
%\\ \\
%\hspace*{\fill}\cfgAuthorName\ \ \_\_\_\_\_\_\_\_\_\_\_\_\_\_\_ \hspace*{\fill}\cfgAuthorName\ \ \_\_\_\_\_\_\_\_\_\_\_\_\_\_\_