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

\part{ Spreadsheets}
Online spreadsheets Horde module.

\section{ Bugs}
List any tickets on http://bugs.horde.org/\footnote{http://bugs.horde.org/} that cover this issue or are relevant to it.

\section{ People}
Duck duck@obala.net\footnote{mailto:duck@obala.net}

\section{ Code}
http://cvs.horde.org/incubator/spread/\footnote{http://cvs.horde.org/incubator/spread/}

\section{ Description}
A module to allow edit and share spreadsheets. It not need to be a full featured like spreadsheet application but just a simple table editing functionality (no merged cells, graphs etc.) and with some basic mathematical operations, range functions: COUNT, SUM, AVERAGE, MIN, MAX and php build in muth functions (SIN, COS, TAN, ATAN, PI, SQRT, EXP, LN, LOG10, ABS, ATAN2, ASIN, ACOS, TRIM, SINH, COSH, TANH, ASINH, ACOSH, ATANH, LN (as PHP LOG), LEN (as PHP STRLEN)).

\section{ Features}
\begin{itemize}
\item{create and share workbooks}
\begin{itemize}
\item{edit, add, rename, delete sheets}
\item{duplicate or better copy sheets to desired workbook}
\item{parse spread sheet formula}
\item{basic calculation of spredsheet formula}
\item{support functions listed in the description above}
\item{cell references (inside the same workbook)}
\item{store sheet data in VFS and sheet parameters in SQL}
\item{export data to:}
\begin{itemize}
\item{CVS}
\item{TVS}
\item{XML}
\item{YAML}
\item{Open Document Spreadsheet}
\item{Open Document Text}
\item{Microsoft Excel 2000}
\item{Microsoft Word 2000}
\item{Microsoft Excel 95}
\end{itemize}
\item{import sheets/workbooks}
\begin{itemize}
\item{CVS}
\item{TVS}
\item{Microsoft Excel 95 (without formulas)}
\item{YAML}
\item{Turba contants manager}
\item{from any module having listCostObject api method}
\end{itemize}
\item{Key navigations: TAB moves left, RETURN saves, ESC cancels, UP/DOWN. If we are on the beginning/end of a row we automatically moves to the first/last cell in the column above/belove.}
\item{Context Menu to insert, delete, copy, cut and paste a cell and entire row or column (AJAX calls)}
\end{itemize}
\end{itemize}
\section{ TODO}
\begin{itemize}
\item{references across workbooks}
\begin{itemize}
\item{column types (selection list etc)}
\item{column names}
\item{column formatting}
\item{automatic rendering of columns depending on the data type}
\item{data type automatic recognition}
\item{import and export in Oasis format (default format of Koffice, Openoffice.org,\ldots)}
\item{import formulas}
\item{character support for export / import data}
\item{import, manage and then update application data (like Turba contacts)}
\item{implement Horde\_Lock}
\item{PDF export}
\item{create invoice from a sheet data}
\item{CRUD actions for ranges}
\item{drag\&drop rows, columns, cells, ranges}
\item{update only changed cells after an action (recalculated formula values)}
\item{JS storage of raw cell content to avoid ajax calls to start editing (can be a problem when multiply users will edit a sheet at a same time)}
\item{sort columns}
\item{inline rename/creation of sheets (like google docs)}
\item{list of predefined formulas}
\item{graphs}
\end{itemize}
\end{itemize}
\section{ Resources}
http://jqueryplugins.weebly.com/jquerysheet.html\footnote{http://jqueryplugins.weebly.com/jquerysheet.html}

http://ewbi.blogs.com/develops/popular/excelformulaparsing.html\footnote{http://ewbi.blogs.com/develops/popular/excelformulaparsing.html}

http://www.millstream.com.au/upload/code/tablekit/\footnote{http://www.millstream.com.au/upload/code/tablekit/}

http://code.google.com/p/trimpath/wiki/TrimSpreadsheet\footnote{http://code.google.com/p/trimpath/wiki/TrimSpreadsheet}

\section{ Screenshots}
Editing sheet

Image: NI

Manage sheets

Image: NI

Manage workbooks

Image: NI

Import data

Image: NI


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

\end{document}
