deletions | additions
diff --git a/bulk upload.tex b/bulk upload.tex
index be2cb06..36c1f39 100644
--- a/bulk upload.tex
+++ b/bulk upload.tex
...
the upload code.)
\end{itemize}
%% \item Site
%%
\begin{itemize}
%%
\item If all of the data in the data set pertains to a single site, that site
%%
may be specified interactively.
%%
\item Otherwise, a \verb|site| column is required. The value must match an existing
%%
\verb|sitename| column value in the \verb|sites| table of the database. (Letter
%%
case, leading and trailing spaces, and extra internal spaces are ignored
%%
when searching for a match.)
%%
\end{itemize}
%%
\item Species
%%
\begin{itemize}
%%
\item If all of the data in the data set pertains to a single species, that
%%
species may be specified interactively.
%%
\item Otherwise, the \verb|species| column is required. The value must match an
%%
existing \verb|scientificname| column value in the \verb|species| table of the
%%
database. (Again, letter case, leading and trailing spaces, and extra
%%
internal spaces are ignored when searching for a match.)
%%
\end{itemize}
%%
\item Treatment
%%
\begin{itemize}
%%
\item If a single treatment and a single citation applies to all of the data in
%%
the data set, the treatment may be specified interactively provided that
%%
the citation is specified interactively as well.
%%
\item Otherwise, a \verb|treatment| column is required. The value must match an
%%
existing \verb|name| column value in the \verb|treatments| table of the database.
%%
(Again, letter case, leading and trailing spaces, and extra internal
%%
spaces are ignored when searching for a match.)
%%
\end{itemize}
\end{enumerate}
...
\end{enumerate}
%% ### Other \subsubsection{Other information that is
_never_ \textit{never} specified
interactively
%% #### **Data interactively}
\subsubsubsection{Data for
Yields**
%% 1. Yields}
\begin{enumerate}
\item Yield
%% *
Every yield data upload file must have a \verb|yield| column. The data in
%%
this column must always be a parsable non-negative number and must never
%%
be blank. Scientific notation is not currently supported. As noted
%%
above, the number given in the file is subject to rounding before being
%%
inserted into the database.
%% 2. \item Sample Size
%% *
An \verb|n| column is required if and only if an \verb|SE| column is included. The value must always be an integer greater than 1.
%% 3. \item Standard Error
%% *
An \verb|SE| column is required if and only if an \verb|n| column is included;
%%
this datum will be inserted into the stat column of the yields table,
%%
and the statname column value will be set to "SE".
%% #### **Data \end{enumerate}
\subsubsubsection{Data for
Traits**
%% 1. Traits}
\begin{enumerate}
\item Trait variable values
%% * \begin{itemize}
\item Every trait data upload file must have at least one column whose heading
%%
matches the name of some recognized trait variable. A list of
%%
recognized trait variables is listed on the BetyDB web site. If
%%
multiple trait variable columns are used, each row in the CSV file will
%%
produce one row in the \verb|traits| table for each trait variable column.
%%
(These resulting rows will be effectively
_grouped_ \textit{grouped} by assigning them a
%%
unique entity id. Said another way, there is a one-to-one
%%
correspondence between rows in the CSV file and resultant rows in the
%%
\verb|entities| table, the table that keeps track of this grouping.) As with
%%
yield numbers, the data in this column must always be a parsable number,
%%
and is subject to rounding before being inserted into the database. In
%%
addition, it must conform to any range restrictions on the value of the
%%
variable.
%% * \item The template for traits uploads provides dummy column headings
\verb|[trait
%% variable 1]|, \verb|[trait variable 2]|, etc., which must be changed to
%%
actual variable names before data can be uploaded.
%% 2. \end{itemize}
\item Covariate values
%% * \begin{itemize}
\item If any of the included trait variables has a required covariate, there
%%
must be a column corresponding to that covariate.
%% * \item For any of the included trait variables has an optional covariate, a
%%
column corresponding to that covariate
_may_ \textit{may} be included.
%% * \item The template for traits uploads provides dummy column headings
%%
\verb|[covariate 1]|, \verb|[covariate 2]|, etc., which must be changed to actual
%%
variable names before data can be uploaded.
%% 3. Sample Size and Standard Error
%% * To enter n and SE, add additional columns \verb|[trait variable 1] n| and
%% \verb|[trait variable 1] SE|, etc. as needed. \end{itemize}
\item Sample Size and Standard Error
To enter n and SE, add additional columns \verb|[trait variable 1] n| and
\verb|[trait variable 1] SE|, etc. as needed.
%% ### **Optional data**:
%% 1. \end{enumerate}
\subsubsection{Optional data}:
\begin{enumerate}
\item Sample Size and Standard Error
%%
* As noted above, these are both optional, but if one of these is
%%
included, the other must be included as well. In other words, the
%%
column heading list must include both of \verb|n| and \verb|SE| or neither.
%%
Note that if \verb|n| and \verb|SE| are not given fields of the uploaded CSV
%%
file, the value of the \verb|n| column of the traits or yields table will
%%
default to 1 and the \verb|stat| and \verb|statname| column values will default
%%
to NULL.
%%
2. Cultivar
%%
* If a uniform value for the species is provided interactively when
%%
uploading the data set, the cultivar may be specified this way as
%%
well provided that it also has a uniform value for the whole data
%%
set.
%%
* Otherwise, to include cultivar information in the upload file, both a
%%
\verb|species| and a \verb|cultivar| column must be included. The values in
%%
the \verb|cultivar| column are allowed to be blank (in which case a value
%%
of NULL is inserted into the \verb|cultivar_id| column for the given row);
%%
but if provided, they must match the value of the \verb|name| column in
%%
some row of the \verb|cultivars| table, and moreover, this row must be a
%%
row associated with the species corresponding to the value given in
%%
the \verb|species| column. Again, matching is case insensitive, and
%%
leading, trailing, and excess internal whitespace is ignored.
%%
3. Notes
%%
* To include notes, use a \verb|notes| column. There is no restriction on
%%
what can be included in this column, but leading and trailing space
%%
will be stripped before insertion into the database. Non-ascii
%%
characters entered in the file in UTF-8 encoding are allowed. If
%%
there is no \verb|notes| column, each row inserted into the \verb|traits| or
%%
\verb|yields| table will use the empty string as the value for the \verb|notes|
%%
column.
\end{enumerate}