\documentclass{article}
\usepackage{ulem}
\usepackage{graphicx}
\usepackage{hyperref}
\pagestyle{headings}
\begin{document}
\part{Slugs in Horde Applications}
\section{What is a slug?}
Derived from slugs in newspaper editing: <a href="http://en.wikipedia.org/wiki/Slug\_%28production%29">http://en.wikipedia.org/wiki/Slug\textbackslash\{\}\_\%28production\%29</a>

\section{Slug specification for Horde}
\begin{itemize}
\item Slugs are letters (upper or lower case), numbers, @, and underscore (\_). The PCRE regex is: /\^{}[a-zA-Z0-9\_@]+\$/


\item Allow 255 chars


\end{itemize}
\section{Autogeneration}
\section{JavaScript support}
\section{URL rewriting}

\noindent\rule{\textwidth}{1pt}
a few usability enhancement ideas:

\begin{itemize}
\item javascript to auto-generate the slug based on the form title would be nice.  Similar to how EE does things, when the slug field is empty, as a user types in the page title, the slug is generated, converting spaces to underscores or hyphens (could be config, or default to underscore).  Once the slug input has a value, changing the title doesn't change the slug.


\item display a warning if a user tries to change the slug after a form has already been saved ("Warning: changing the slug will cause the link for this form to change.")


\end{itemize}
\end{document}
