X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=debbugs.Rnw;h=72ebc5ee84b4ac0a6724c2db5d4716a4426706d5;hb=05ee3435d230dec6670bf7bc326df0ff322cae38;hp=6fd3082c8ecc7f7af7eb8bca75ab85806c3c2062;hpb=da40a1c24d79a428f7541faf11b4e8989db3890b;p=debbugs-presentations.git diff --git a/debbugs.Rnw b/debbugs.Rnw index 6fd3082..72ebc5e 100644 --- a/debbugs.Rnw +++ b/debbugs.Rnw @@ -1,8 +1,14 @@ +%\usepackage{libertine} \usepackage{fontspec} -\setmainfont{FreeSerif} -\setsansfont{FreeSans} +\setmainfont[Ligatures=TeX]{FreeSerif} +\setsansfont[Ligatures=TeX]{FreeSans} \setmonofont{FreeMono} +\usepackage[Symbols]{ucharclasses} +\newfontfamily{\defaultfont}{FreeSerif} +%\newfontfamily{\symbolfont}{FreeSerif} +\newfontfamily{\sansfont}{FreeSans} +\setDefaultTransitions{\bgroup\defaultfont}{\egroup} \usepackage{url} \usepackage{fancyhdr} \usepackage{graphicx} @@ -54,6 +60,8 @@ \titlegraphic{\includegraphics[height=0.2\textheight,keepaspectratio]{figures/openlogo-crop.pdf}} \subject{BTS} +\setbeamercolor{postit}{fg=black,bg=yellow} + % State of the BTS: new features, changes and tips % % The bug tracking system is where all bugs that affect Debian are @@ -301,17 +309,11 @@ print(ggplot(rc.bugs.long[date > \end{center} \end{frame} -\section{Database Ho!} - -\subsection{Overall Database Design} +\section{New Features} -\begin{frame}{Overall Database Design} - \begin{center} - \input{debbugs_layout_db} - \end{center} -\end{frame} +\subsection{Database} -\subsection{Perl Database Infrastucture} +\subsubsection{Perl Database Infrastucture} \begin{frame}{Perl Database Infrastructure} \begin{itemize} \item DBIx::Class @@ -322,23 +324,7 @@ print(ggplot(rc.bugs.long[date > \end{frame} -\subsection{SQL Design} -\begin{frame}{SQL Schema} - \includegraphics[width=\textwidth,keepaspectratio]{figures/schema.png} - \begin{itemize} - \item Current Debbugs SQL Schema - \end{itemize} -\end{frame} - -\subsubsection{dak SQL Design} -\begin{frame}{dak SQL Schema} - \includegraphics[width=\textwidth,keepaspectratio]{figures/dak_schema.png} - \begin{itemize} - \item Inspiration taken from dak SQL Schema where appropriate - \end{itemize} -\end{frame} - -\subsection{SQL Loading} +\subsubsection{SQL Loading} \begin{frame}[fragile]{SQL Loading} % SQL loading \begin{itemize} @@ -355,30 +341,98 @@ debbugs-loadsql debinfo; \end{itemize} \end{frame} -\subsection{SQL Working} -\begin{frame}[fragile]{SQL Working} - % example SQL query -\begin{lstlisting}[language=SQL] -SELECT count(*) FROM bug -WHERE last_modified > '2014-07-01' -AND done IS NOT NULL -AND owner IS NOT NULL; -\end{lstlisting} -\begin{visibleenv}<2> -\begin{lstlisting} - count +\subsubsection{Fun Queries} + +\begin{frame}[fragile]{Messages to bugs} +\small +\begin{minted}{sql} +SELECT count(*),c.addr FROM +message_correspondent mc +JOIN correspondent c ON mc.correspondent=c.id +WHERE correspondent_type='from' +GROUP BY mc.correspondent,c.addr +ORDER BY count DESC LIMIT 5; +\end{minted} +\begin{verbatim} + count | addr +-------+--------------------------------- + 5123 | bubulle@debian.org + 4346 | joeyh@debian.org + 4214 | biebl@debian.org + 3875 | tbm@cyrius.com + 3632 | ftpmaster@ftp-master.debian.org +\end{verbatim} +\end{frame} + +\begin{frame}[fragile]{Single-message correspondents} +\small +\begin{minted}{sql} +SELECT count (*) FROM +(SELECT count(*),c.addr + FROM message_correspondent mc + JOIN correspondent c ON + mc.correspondent=c.id + WHERE correspondent_type='from' + GROUP BY mc.correspondent, + c.addr + HAVING count(*) = 1) AS foo; +\end{minted} +\begin{verbatim} + count ------- - 521 -\end{lstlisting} -\end{visibleenv} + 30215 +\end{verbatim} +\end{frame} + + + +\begin{frame}[fragile]{More fun queries} +\begin{minted}{sql} +SELECT count(*),t.tag +FROM bug b +JOIN bug_tag bt ON b.id=bt.bug +JOIN tag t on bt.tag=t.id +GROUP by bt.tag,t.tag +ORDER by count DESC LIMIT 5; +\end{minted} +\begin{verbatim} + count | tag +--------+---------------- + 141184 | patch + 42288 | upstream + 39466 | sid + 33640 | l10n + 25566 | fixed-upstream +\end{verbatim} +\end{frame} + +\subsection{Database status caching} +\begin{frame}[fragile]{Status caching ``working''} +\begin{minted}{sql} +SELECT count(*),status +FROM bug_status_cache bsc +JOIN suite s ON bsc.suite=s.id +WHERE s.suite_name='unstable' +GROUP by status; +\end{minted} +\begin{verbatim} + count | status +--------+-------- + 514488 | fixed + 234155 | absent + 3923 | found +\end{verbatim} \end{frame} \subsection{Work still needed for SQL} \begin{frame}{Work Still needed for SQL} \begin{itemize} -\item Logfile loading (for full text searching) -\item Status Caching (for faster page loading) -\item Testing +\item Integration into CGI (\texttt{bugreport.cgi} and + \texttt{pkgreport.cgi}) +\item Database loading/update is slow in some cases +\item Some corrupted bugs have been exposed by the loading (#167851 + and #280931); likely others +\item Testing (Mainly of queries) \item Deployment \end{itemize} \end{frame} @@ -390,98 +444,27 @@ AND owner IS NOT NULL; \begin{columns} \column{0.5\textwidth} \begin{itemize} - \item mailto links (demo) - \item forcemerge does the right thing - \item control at submit time + \item Format-flowed messages are wrapped + \item https links everywhere + \item etag caching support everywhere + \item a11y (accessibility, ♿) tag + \item newcomer (⎈) tag + \item Usercategories now selectable (Categorize/order using) \end{itemize} \column{0.5\textwidth} \includegraphics[width=\textwidth,keepaspectratio]{images/telegraph_bug} \end{columns} \end{frame} -\section{Future features} - -\subsection{Status Caching} -\begin{frame}{Status Caching} - \begin{itemize} - \item Cache status of bugs (presence/absence at all distributions) - \item Speed up display of \url{http://bugs.debian.org/src:linux-2.6} - \item Allows for reverse status lookup - \begin{itemize} - \item Enables finding bugs which are present in testing or unstable - \end{itemize} - \end{itemize} -\end{frame} - -\subsection{Statistics} -\begin{frame}{Statistics} - \begin{columns} - \column{0.5\textwidth} - \begin{itemize} - \item Track status changes over time - \item Bugs found/fixed/absent in stable/testing/unstable over time - \item Bug submission times - \item Bug closure times - \item Bug mail rates - \item Per package, severity, maintainer tracking of the above - \end{itemize} - \column{0.5\textwidth} - \begin{center} - \includegraphics[width=\textwidth,height=0.35\textheight,keepaspectratio]{images/bug} - \end{center} - \end{columns} -\end{frame} - - -\subsection{Additional Planned Features} -\begin{frame}{More planned features} - \begin{columns} - \column{0.5\textwidth} - \begin{itemize} - \item HTTP based reporting system with e-mail roundtrip - \item Release Debbugs again - \item Bug mailing lists in Debbugs - \begin{itemize} - \item Avoid duplicate mail - \item Opt in/out of mail - \end{itemize} - \item Merging of merged bug reports - \item Threading in report - \end{itemize} - \column{0.5\textwidth} - \includegraphics[width=\textwidth,keepaspectratio]{images/fixed_bug} - \end{columns} -\end{frame} - -\begin{frame}{Even More planned features} - \begin{columns} - \column{0.5\textwidth} - \begin{itemize} - \item Usercategory duplication and replay - \item Remote Attachments - \item New Spool Storage Format - \item Usertags visibility - \item Smarter CGI options - \end{itemize} - \column{0.5\textwidth} - \includegraphics[width=\textwidth,keepaspectratio]{images/fixed_bug} - \end{columns} -\end{frame} - - - - - -\section{Places you can help} +\section{Contributing to Debbugs} \begin{frame}{7 tasks seeking contributors} \begin{itemize} \item Documentation of Usercategories \item Implementation of rss feeds for packages and bugs \item CGI options on pkgreport.cgi for usertags et al. \#536378) - \item Documentation of multipe-package reassign and when it or + \item Documentation of multiple-package reassign and when it or affects should be used - \item Mailto link with subject, references, etc. all filled in \item Documentation for local-debbugs configuration file (behaves like bts select) \end{itemize}