Mike Gerwitz

Activist for User Freedom

diff options
authorMike Gerwitz <gerwitzm@lovullo.com>2014-05-16 14:53:36 -0400
committerMike Gerwitz <gerwitzm@lovullo.com>2014-05-16 14:53:36 -0400
commit4b8a35548f328394ccf82b82756ceb833ba58636 (patch)
parenta3074efb5b012bcf724a2c2b8409278a967214fb (diff)
Common program ui into raterspec from dwelling
3 files changed, 121 insertions, 2 deletions
diff --git a/raterspec.cls b/raterspec.cls
index d50c89e..4499a46 100644
--- a/raterspec.cls
+++ b/raterspec.cls
@@ -138,6 +138,10 @@
+\@raterspec@mkhook{proguisteps}{program ui steps}
+ {}
+ {}
diff --git a/raterspec/parts.tex b/raterspec/parts.tex
index 8e7362e..135d31c 100644
--- a/raterspec/parts.tex
+++ b/raterspec/parts.tex
@@ -37,8 +37,11 @@
+ \input{raterspec/sec/forms}
\pnumoff\part{ConceptOne Import}\pnumon
+ \input{raterspec/sec/c1import}
+\pnumoff\part{User Interface}\pnumon
+ \input{raterspec/sec/progui}
diff --git a/raterspec/sec/progui.tex b/raterspec/sec/progui.tex
new file mode 100644
index 0000000..507e9b6
--- /dev/null
+++ b/raterspec/sec/progui.tex
@@ -0,0 +1,112 @@
+% raterspec program ui
+\chapter{Program Client}
+\index{Program Client|(}
+The \dfn{Program Client} is defined as the user interface that is used to
+enter data about a ^Quote, receive a premium from one or more
+^[supplier]s, and~optionally submit the~^Quote for further processing from
+within ^[ConceptOne].
+The Program Client \shall be accessed by using a~^[web browser] to
+download the applicable resources---specifically, ^[HTML], ^[CSS], and
+^[JavaScript]---from the ^[LoVullo Website].
+\todo{While this chapter does contain information necessary to complete
+the Scottsdale Commercial Lines project, it is largely incomplete.}
+\section{Program UI}\label{s:program-ui}
+ \index{Program Client!Program UI|(}
+ The \dfn{Program UI}---hereinafter occasionally referred to simply as
+ ``UI'' unambiguously within this chapter---\shall be defined as the
+ graphical user interface of the~Program Client and \shall render
+ directly in the user's ^[web browser] using only ^[HTML], ^[CSS],
+ and~^[JavaScript].\footnote{For example, browser plugins such as Java
+ and~Flash \shallnot be used in an implementation of the Program Client.}
+ A \dfn{Program Client!quoting step} is the highest level of ^Quote data
+ separation and consists only of question groups. The UI \shall display
+ no more than one step (see~\sref{program-steps}) to the ^user at any
+ given time.
+ \incomplete
+ A \dfn{Program Client!field group} contains only fields and provides an
+ optional delineation from other groups. Any number of groups \may be
+ displayed to the~^user at any given time.\todo{Types.}
+ A \dfn{Program Client!field} is a generic term that represents any
+ question, answer, display, or static element; any of these may appear
+ where a field is expected unless the field specification does not permit
+ such a field type.\footnote{For example, if a field is expected, then a
+ question or an~answer may be substituted. However, if a~question is
+ expected, then an~answer may not be substituted.}
+ \incomplete
+ A \dfn{Program Client!question} prompts the ^user for a datum and may be
+ directly modified by the user unless explicitly restricted. \todo{How
+ interacts with bucket; types.}
+ \incomplete
+ A \dfn{Program Client!answer} displays a~^user response associated with
+ a~question. \todo{Types}
+ \incomplete
+ A \dfn{Program Client!display} displays any arbitrary bucket datum to
+ the~^user. \todo{Bucket.}
+ \incomplete
+ A \dfn{Program Client!static element} displays arbitrary static text to
+ the~user and \may contain ^[HTML].
+ \index{Program Client!Program UI|)}
+ \section{Quoting Steps}\label{s:program-steps}
+ \incomplete
+ An implementation \shall display all steps, groups, and~fields (each defined
+ in~\sref{program-ui}) in the exact order provided within this section.
+ \todo{An~implementation \shall contain no steps, groups, or~fields that have not
+ been enumerated in this section.}
+ \sigauth{NL}
+ Within this section, questions are listed by the~labels that \shall be displayed
+ to the user. Below the label is additional text describing further
+ implementation requirements. When a question is indented to the level of the
+ paragraph of another question, then the indented question is strongly related to
+ the containing question in some logical manner; the containing question is said
+ to be a~\dfn{Program Client!question!parent question} any the~question that is
+ indented relative to it is said to be a~\dfn{Program Client!question!child
+ question}.\footnote{For example, a child question may be visible to the ^user
+ only when its~parent is answered in a specified manner.}
+ \incomplete
+ A question is said to be \dfn{Program Client!question!applicable} when it is to
+ be displayed to the user; questions are applicable by default. A question \shall
+ be visible to the user for entry only if it is applicable; otherwise, it \shall
+ be hidden from the user, its value reset to the specified default or---if no
+ default is specified---the default for its question type, and validations
+ \shallnot be performed. \todo{Question type defaults and validations}.
+ %% user-provided input
+ \proguistepsout
+\section{Quote Server Communication}
+ \sectiondept{it}
+ \index{Quote Server|(}
+ The Program Client \shall communicate with the~^[Quote Server] as required
+ in~\sref{hostenv-qs}.
+ \index{Quote Server|)}
+\index{Program Client|)}