\documentclass{article}
\usepackage{ulem}
\pagestyle{headings}
\begin{document}
\tableofcontents

\part{ Undo support in Horde}
\section{ Bugs}
https://bugs.horde.org/ticket/11187\footnote{https://bugs.horde.org/ticket/11187}

\section{ People}
\section{ Description}
Instead of deletion, support undo in Horde applications. This might take the form of a Horde-wide (per-user of course) "trash folder", or some other form of undeletion or revision history.

One suggested approach is to embed this into a larger task to implement journaling in Horde. This would look include these tasks:

\begin{itemize}
\item{Horde\_Journal library with SQL and potentially MongoDB backends (5 hours)}
\item{Journaling for apps (10 hours): Use Horde\_Journaling in Kronolith, Nag, Turba, Mnemo to track additions, changes, deletions.}
\item{Collection (calendars, address books, etc) history (10 hours): Application support (backend and UI) to retrieve and display journal summaries for a groupware collection. Maybe on-demand for dynamic frontends?}
\item{Object history (10 hours): Application support (backend and UI) to retrieve and display complete journal for a groupware object. Maybe on-demand for dynamic frontends?}
\item{Undo (25 hours): Implement undo functionality based on the journaling features for end users.}
\end{itemize}
Time estimations are probably too optimistic, especially for the base journaling functionality.

\section{ Resources}
http://www.alistapart.com/articles/neveruseawarning\footnote{http://www.alistapart.com/articles/neveruseawarning}\newline
http://bergie.iki.fi/blog/undeletion\_in\_midgard.html\footnote{http://bergie.iki.fi/blog/undeletion\_in\_midgard.html}\newline
http://paulbuchheit.blogspot.com/2007/06/quick-all-actions-should-have-undo.html\footnote{http://paulbuchheit.blogspot.com/2007/06/quick-all-actions-should-have-undo.html}\newline
http://humanized.com/weblog/2007/09/14/undo-made-easy-with-ajax-part-1/\footnote{http://humanized.com/weblog/2007/09/14/undo-made-easy-with-ajax-part-1/}\newline
http://azarask.in/blog/post/undo\_with\_ajax\_2/\footnote{http://azarask.in/blog/post/undo\_with\_ajax\_2/}\newline
http://ajaxian.com/archives/addressbook-an-example-of-the-form-history-pattern\footnote{http://ajaxian.com/archives/addressbook-an-example-of-the-form-history-pattern}


\noindent\rule{\textwidth}{1pt}
Back to the Project List\footnote{http://example.com/index.php?page=Project}

\end{document}
