InstructionInfo

Name InstructionInfo
Usage ProcessService
getInstruction getInstructionsByIds getInstructionsByProcess getInstructionsByCheck getInstructionsByProcessAndCheck searchForInstructions validateInstruction createInstruction updateInstruction getInstructionsForEvaluation
Type Complex

Description

Information about an Instruction. An Instruction is a Relationship
between a Process and a Check. Instructions contain a set of
applied data that determines if the Check applies to a Process.

To determine if a Check applies to a Process:
1. the person is a member of any applied Populations
2. and the current ATP type is any of the applied ATP Types

If any of the above applied elements is empty, then the applied
element evaluates to true. If all applied elements are empty, then
the Check is globally applied.

Structure Definition

ShortName Name Type Description Required? Read only? Cardinality XML Attribute? Implementation Notes
id Unique Id String The system assigned unique id to identify this Object.
Could be implemented as as sequence number or as a UUID.

Attempts to set this value on creates should result in a ReadOnlyException being thrown

An Id:

  • An id is used when the actual value is unimportant and
    can therefore be a large hex value for example

  • An id value might be 23b9ca9bd203df902

  • An Id is never intended to be used directly by an end
    user.

  • Ids are assumed to be of different values in different
    KS implementations

  • Id values are generated by the service
    implementations

  • Id values are never expected to be used in
    Configuration or Application code

Required on updates Read only One Yes  
typeKey Type Key String A unique identifier for the type of this object. Required Read only One Yes  
stateKey State Key String A unique identifier for the state of this object. Required   One Yes  
effectiveDate Effective Date Date Date/time this object became effective. Must be less than or
equal to the expirationDate specified.
    One No  
expirationDate Expiration Date Date Date/time this relationship is no longer effective. Must be
greater than or equal to the effectiveDate specified.
    One No  
processKey Process Key String The process key. Required Read only One No  
checkId Check Id String The Check Id. Required Read only One No  
appliedPopulationId Applied Population Id String The Population Id to which the Check applies.
Check notes on https://wiki.kuali.org/display/STUDENT/SVCS+20120605
    One No  
appliedAtpTypeKeys Applied Atp Type Keys StringList The ATP Type keys to which the Check applies.
TODO: revisit rules that evaluate to ATPs.
    Many No  
message Message RichTextInfo The text of a message to display to a user on fail or warning
for this Instruction. (todo: substituting variables to create
contextual message and handling internationalization)
    One No  
position Position Integer The position in the Process.   Read only One No  
isWarning Is Warning Boolean Tests if a failure in this Check results in warning or failure
for this step. If true, the Check failure is interpreted as a
warning. If false, the Check failure is interpreted as an
error.
Required   One No  
continueOnFail Continue On Fail Boolean Tests if processing should continue if this Check fails. Required   One No  
isExemptible Is Exemptible Boolean Tests if an Exemption can be requested to this Instruction. Required   One No  
meta Meta MetaInfo Create and last update info for the structure. This is optional
and treated as read only since the data is set by the internals
of the service during maintenance operations.

Contains audit trail information about the creation and last
update of this object Also contains the version ind used for
optimistic locking.

Attempts to set or update should result in a ReadOnlyException
being thrown.
Required on updates Read only One No  
attributes Dynamic Attributes AttributeInfoList List of dynamic attributes, each holding a key-value pair that
can be configured to hold additional information for an
implementing institution.

Note: the key may be repeated more than once to simulate a list
of values.
    Many No