-
Notifications
You must be signed in to change notification settings - Fork 0
/
README.txt
105 lines (71 loc) · 3.39 KB
/
README.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
Introduction
============
uu.formlibrary is an add-on for Plone that enables the management and
entry of form definitions and form instances.
Form instance types supported include single-record 'Flex' forms, and
multi-record forms.
A measure library includes tools to bind form values to measures, and
in the case of multi-record forms, build measures based on queries.
These measures can be used in plots generated by uu.chart.
This package is originally designed to support forms for healthcare
quality improvement projects, but is not limited to any particular
problem domain.
Features
--------
* Form definitions:
- A library of form definitions can exist in your site for use by
form instances. The binding of form instances to definitions is
done by reference (browsing to the definition) in the edit form
of the form instance.
- All definition references are stored as RFC 4122 UUIDs on form
instance objects. These references are cataloged such that code
can query the catalog for all form instances subscribing to a
definition.
- Form definitions provide schema for form instances, and provide
the means for form adminstrators to control, edit the schema
using simple web-based tools.
* Form instances:
- All form instances are tied to a definition.
- All form instances live in a special kind of folder, called a
form library.
- All form instances have optional temporal information: a start
and stop date distinct from publishing metadata. By virtue of
existing indexes for start/stop in Plone's catalog, these are
searchable in Python code extending this.
* Form types:
- Simple form -- a single record form; supports fieldsets.
- Multi-record form. Used for chart audit/review, periodic log entry,
and similar forms. Each record uses the same schema.
* Multi-record forms are treated as a record container. These
expose a JSON API for form submission of multi-form structured
data payloads (for the bundle of all rows) via JavaScript. The
Python API for modifying records is a CRUD API built upon a
container/mapping interface; the JSON API extends this to
form submission of a complex data payload.
* Multi-record forms require JavaScript.
* A workflow for form submission is packaged in uu.workflows, which
this package depends upon.
Requirements
------------
* Plone 4.3 (may work on earlier Plone 4 versions).
* Dexterity content types
* uu.dynamicschema: provides a global registry of persistent
schemas for use in form definitions and forms bound to them.
Uses techniques similar to Dexterity, but is intended for
managing schemas used in non-content data objects. Each
schema is stored by its md5 sum "signature" which is kept
on form definitions from uu.formlibrary.
https://github.com/upiq/uu.dynamicschema
* uu.record -- provides basic non-content record data object
interfaces and implementations, including a CRUD controller
interface using a "record container" pattern.
https://github.com/upiq/uu.record
* uu.workflows -- provides packaged workflows for form and
intranet workflows, including a form submission workflow
used by this package.
https://github.com/upiq/uu.workflows
--
Author: Sean Upton <[email protected]>
Copyright 2012-2014, The University of Utah.
Released as free software under the GNU GPL version 2 license.
See doc/COPYING.txt