summaryrefslogtreecommitdiff
path: root/30-qualitaetsheft/sections/problems.tex
diff options
context:
space:
mode:
Diffstat (limited to '30-qualitaetsheft/sections/problems.tex')
-rw-r--r--30-qualitaetsheft/sections/problems.tex65
1 files changed, 65 insertions, 0 deletions
diff --git a/30-qualitaetsheft/sections/problems.tex b/30-qualitaetsheft/sections/problems.tex
new file mode 100644
index 0000000..fb5bdcb
--- /dev/null
+++ b/30-qualitaetsheft/sections/problems.tex
@@ -0,0 +1,65 @@
+\section{Probleme}
+
+\vspace{-.2cm}
+In diesem Kapitel wird näher auf die Probleme eingegangen, die sich ergeben
+haben, aus welchem Grund sie sich ergeben haben und wie sie schließlich behoben
+wurden.
+
+\vspace{-.2cm}
+\subsection{Falsche Zeitangaben}
+
+\begin{description}
+
+\item[Beschreibung] Im Frontend wurden die Zeiten, wann eine
+\Gls{podcast}episode zuletzt gehört wurde und wann ein \Gls{podcast} abonniert
+worden ist, falsch angezeigt. Hierbei kann eine Aktion entweder zu weit in der
+Vergangenheit oder sogar in der Zukunft liegen.
+\item[Ursache] Die Bibliothek hat die Zeiten in der lokalen, statt der
+universellen Zeit berechnet. Aufgrund der Differenz zwischen Zeitzonen kam es
+hierbei zu größer werdenden Zeitabständen.
+\item[Behebung] Die Bibliotheksfunktionen wurden so angepasst, dass sie die
+Zeiten explizit nach der universellen Zeitzone (UTC) berechnet.
+
+\end{description}
+
+
+\subsection{AntennaPod Fehlermeldung}
+
+\begin{description}
+
+\item[Beschreibung] Beim Hochladen von \Gls{abo}änderungen gab AntennaPod einen Fehler aus.
+\item[Ursache] Es wurde bei der Übertragung ein Parameter mit falschem Parameternamen gesendet.
+Hierbei handelt es sich um den Parameter \texttt{updateURLs}.
+\item[Behebung] \texttt{updateURLs} wurde umbenannt zu
+\texttt{update\textunderscore urls}. Die
+geschah durch das Hinzufügen von \texttt{@JsonProperty(value =
+''update\textunderscore urls'')} in der \texttt{UpdateURLsWrapper} Klasse im
+\texttt{util} Paket.
+
+\end{description}
+
+\subsection{Doppelte Speicherung von EpisodeActions}
+
+\begin{description}
+
+\item[Beschreibung] Beim speichern von \Gls{episode}Actions ergab sich in
+manchen Fällen die Situation, dass \Gls{episode}Actions mehrfach gespeichert
+worden sind. Jede \Gls{episode} besitzt pro Benutzer eine \Gls{episode}Action.
+In diesem Fall gab es mehrere \Gls{episode}Actions pro Benutzer für je eine
+\Gls{episode}.
+\item[Ursache] Es werden alle \Gls{episode}Actions in der \Gls{db} gespeichert,
+die neuer als die aktuellste \Gls{episode}Action in der \Gls{db} sind. Nach
+einem Speichervorgang sollte die ältere \Gls{episode}Action gelöscht werden. Da
+\Gls{spring} jedoch aus Effizienzgründen nach diesem Schema mehrere Daten
+sammelt und erst dann abspeichert, wird nur einer der älteren Einträge gelöscht.
+Dadurch werden im Durchschnitt mehr \Gls{episode}Actions gespeichert, als
+\Gls{episode}Actions entfernt werden.
+\item[Behebung] Die empfangenen \Gls{episode}Actions werden vor dem Speichern in
+der \Gls{db} bereits nach den jeweils aktuellsten \Gls{episode}Actions für eine
+\Gls{episode} aussortiert. Damit wird letztlich nur eine \Gls{episode}Action in
+die \Gls{db} geschrieben und auch nur eine ältere \Gls{episode}Action zu der
+\Gls{episode} gelöscht, womit jede \Gls{episode} für jeden User weiterhin nur
+eine \Gls{episode}Action besitzt.
+
+\end{description}
+