design.texi: Add initial component descriptions
parent
09c32e4792
commit
0c496299a0
|
@ -19,3 +19,5 @@
|
|||
##
|
||||
|
||||
info_TEXINFOS = liza.texi
|
||||
liza_TEXINFOS = design.texi macros.texi
|
||||
|
||||
|
|
|
@ -0,0 +1,98 @@
|
|||
@c This document is part of the Liza Data Collection Framework manual.
|
||||
@c Copyright (C) 2017 LoVullo Associates, Inc.
|
||||
@c
|
||||
@c Permission is granted to copy, distribute and/or modify this document
|
||||
@c under the terms of the GNU Free Documentation License, Version 1.3
|
||||
@c or any later version published by the Free Software Foundation;
|
||||
@c with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
|
||||
@c Texts. A copy of the license is included in the section entitled ``GNU
|
||||
@c Free Documentation License''.
|
||||
|
||||
@node Design
|
||||
@chapter Design & Architecture
|
||||
|
||||
@emph{N.B. This document may reference features that are not yet
|
||||
present in Liza; they will be moved into this repository in time.}
|
||||
|
||||
Liza is fundamentally a data collection framework@mdash{
|
||||
}a fancy form for collecting, validating, and lightly processing
|
||||
user data.
|
||||
|
||||
The main components of the system are:
|
||||
|
||||
@table @strong
|
||||
@cindex Assertion
|
||||
@item Assertions
|
||||
Basic validations against bucket data,
|
||||
producing errors and manipulating control flow.
|
||||
Invokes triggers to manipulate the UI and document.
|
||||
Assertions are compiled from Program sources.
|
||||
|
||||
@cindex Bucket
|
||||
@item Bucket
|
||||
The key/value store into which all document data are stored.
|
||||
Supports staging and rollback of data,
|
||||
processing deltas,
|
||||
and provides hooks that drive the rest of the system.
|
||||
|
||||
@cindex Calculated Value
|
||||
@item Calculated Values
|
||||
A small sub-system for calculating bucket values from other values.
|
||||
|
||||
@cindex Client
|
||||
@item Client Interface
|
||||
Basic logic for navigating between steps,
|
||||
prompting for user actions,
|
||||
display help text and basic document data,
|
||||
communicate with server,
|
||||
etc.
|
||||
|
||||
@cindex Developer Dialog
|
||||
@item Developer Dialog
|
||||
Renders information about the system for debugging the client.
|
||||
Can monitor the bucket, assertions, classification results, and
|
||||
provides other useful features.
|
||||
|
||||
@cindex Predicate
|
||||
@item Predicate System
|
||||
Processes classification data from external classifiers to determine
|
||||
applicability of specific questions.
|
||||
These data are used to determine what assertions are performed,
|
||||
what questions and groups display,
|
||||
and more.
|
||||
|
||||
@cindex Program
|
||||
@item Program
|
||||
Internal representation of the program with delegation of events to
|
||||
the assertion system.
|
||||
Contains compiled representation of all steps, groups, questions,
|
||||
assertions, metadata, and others.
|
||||
|
||||
@cindex Program, User Interface
|
||||
@cindex User Interface, Program
|
||||
@item Program UI
|
||||
Rendering of elements specific to programs,
|
||||
such as steps, groups, and questions.
|
||||
This is the equivalent of an HTML form.
|
||||
Directly monitors the bucket to perform UI updates.
|
||||
|
||||
@cindex Program, XML
|
||||
@item Program XML
|
||||
The source code for a program, in XML format.
|
||||
|
||||
@cindex Server
|
||||
@item Server
|
||||
Provides REST API for serving programs; saving data;
|
||||
revalidating, filtering, and recalculating data;
|
||||
and other types of processing.
|
||||
Code is shared with the client,
|
||||
ensuring identical behavior for appropriate behaviors.
|
||||
|
||||
@cindex Type Validation
|
||||
@cindex Validation, Type
|
||||
@item Type Validation
|
||||
Validates and formats bucket values for specific field (question)
|
||||
types.
|
||||
For example, a date field must be in a recognized date format,
|
||||
and will be normalized for display.
|
||||
@end table
|
|
@ -52,13 +52,21 @@ Free Documentation License''.
|
|||
@top Main
|
||||
@end ifnottex
|
||||
|
||||
@c This is where @menu will go
|
||||
@menu
|
||||
* Design and Architecture:Design. Design and structure of framework
|
||||
* Concept Index::
|
||||
@end menu
|
||||
|
||||
@ifnottex
|
||||
|
||||
@insertcopying
|
||||
@end ifnottex
|
||||
|
||||
@c This is where the includes will go.
|
||||
@include macros.texi
|
||||
@include design.texi
|
||||
|
||||
@node Concept Index
|
||||
@unnumbered Concept Index
|
||||
@printindex cp
|
||||
|
||||
@bye
|
||||
|
|
|
@ -0,0 +1,22 @@
|
|||
@c This document is part of the Liza Data Collection Framework manual.
|
||||
@c Copyright (C) 2017 LoVullo Associates, Inc.
|
||||
@c
|
||||
@c Permission is granted to copy, distribute and/or modify this document
|
||||
@c under the terms of the GNU Free Documentation License, Version 1.3
|
||||
@c or any later version published by the Free Software Foundation;
|
||||
@c with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
|
||||
@c Texts. A copy of the license is included in the section entitled ``GNU
|
||||
@c Free Documentation License''.
|
||||
|
||||
@c insert appropriate em dash for mode
|
||||
@iftex
|
||||
@macro mdash{}
|
||||
---
|
||||
@end macro
|
||||
@end iftex
|
||||
|
||||
@ifnottex
|
||||
@macro mdash{}
|
||||
—
|
||||
@end macro
|
||||
@end ifnottex
|
Loading…
Reference in New Issue