Bug #1023
closedNeed a pile of business rules written down in one place
0%
Description
We need a list of our business rules so that we can know a) if we are enforcing
them and b) let users know about them...
So here's a first cut (as some fields become non-required in the database)
1) If you are submitting a plot that is confidential (plot.confidentialityStatus
<> 0 [public]), you must give a reason in the plot.confidentialityReason field.
2) You must give us your plot size (area) unless it is a plotless releve.
3) You must give us your stratum method if you used strata
4) You must give us your cover method if you used cover classes
4a) you must only use percentages in taxonObservation that match a
coverIndex.coverPercent value for your coverMethod, unless you used percents
directly.
5) you must fill in autoTaxonCover if you used had cover.
---the following have mostly to deal with swimming upstream from a record in a
table---- (foreign keys can be required "downstream", but there is no database
structure which requires a table to reference every PK in a table).
6) at least one classContributor record must be supplied for each commclass record.
6a) at least one commInterpretation record must be supplied for each commclass
record
7) at least one observation must be supplied for each plot
8) at least one observation must be supplied for each project
9) at least one observationContributor must be supplied for each observation (?)
10) at least one projectContributor must be supplied for each project?
11) at least one plant/comm-Status must be supplied for each plant/comm-Concept
12) at least one plant/comm-Usage must be supplied for each plant/comm-Status
13) at least one stratumComposition must be supplied for each stratum record (?)
Related issues
Updated by Michael Lee almost 21 years ago
duplicate stratumMethod_ID - stratumIndex records should not be allowed in
stratumType.
duplicate coverMethod_ID - coverCode records should not be allowed in coverIndex.
Updated by Michael Lee about 20 years ago
Bob emailed on Sun 11 April 2004 and agreed with these business rules as they
are listed so far.
Updated by Michael Lee about 20 years ago
#1 in description (confidentialityReason) is now handled in the embargo table,
as confidentialityReason is a reqd field.
Updated by Michael Lee almost 20 years ago
fields with default values (plot,obs,*name.defaultValue) should never be null.
some denorm fields should never be null, after update (*usage.*concept_ID)
Updated by Michael Lee almost 20 years ago
business rules are now not completely enforced, but the current status of their
being obeyed is listed here:
http://aldo.vegbank.org/vegbank/forms/businessrules.jsp
This is easily extended to new business rules, as the controller for this is
XML/XSL system, referencing SQLStore and sometimes Database VIEWS (when the SQL
is complex).
Updated by Michael Lee almost 20 years ago
changed from components that are to be deleted to "misc" so that bugs don't get
deleted with component. Sorry for all the email.