home

CourseOffering

Name CourseOffering
Usage CourseOfferingService
CourseRegistrationInfo
Type Complex

Description

 

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 Course Offering. 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 No maps to a lui id with the type of Course Offering
typeKey Type Key String Unique identifier for the type of this course offering. Required Read only on updates One No must be the lui type for a course offering
stateKey State Key String Unique identifier for the state of this course offering. i.e. draft,
submitted, approved, offered, canceled, etc
Required   One No maps to the states that are defined in the kuali.course.offering.process with an initial state of draft
descr Description RichText A description of this Course Offering. This starts out the same as the
canonical description from the catalog but then, depending on the
configuration, it may be overwritten, changed, or expanded upon.
    One No initially this is copied from the canonical course description and then updated and stored in the Lui description.
termKey Term Key String Academic term of course offering Required Read only on updates One No set during the #createCourseOfferingFromCanonical and then maps to the aptKey on the Lui
courseId Course Id String A unique identifier assigned to all approved courses that exist in the
catalog This is not updatable once initialized.
Required Read only on updates One No this maps the the version dependent id as the offering must point to one and only one version of the course. Maps to cluId in Lui.
formatIds Format Ids StringList Identifiers for formats from the canonical course that will be offered as
part of the course offering This is not updatable once initialized.
Required Read only on updates Many No this maps to the version dependent id of the format as this must point to one and only one version of the course. Maps to cluRelationIds in Lui
courseOfferingCode Course Offering Code String Identifies the number of a course as reflected in the course catalog.
This typically must be unique across all courses offered during that
term. If the user wants to create two separate offerings for the same
course they must modify this code to make it unique. For example: An
on-line offering of the course might have an "O" appended to it to
distinguish it from the face to face offering, i.e. ENG101 and ENG101O
Initially copied from the course catalog but then, depending on the
configuration it may be updatable. Often this field is configured so that
it is not not directly updatable but rather is calculated from it's two
constituent parts, the subject area and the course number suffix. For
example: Subject Area = "ENG" and Suffix = "101" then code = "ENG101"
    One No initialially this is copied from the course catalog code but then is subsequently stored in the lui as lui.officialIdentifier.code
subjectArea Subject Area String Identifies the department and/subject code of the course as reflected in
the course catalog. Initially copied from the course catalog but then,
depending on the configuration it may be updatable. In most
configurations this should not be updatable. Often used in the
calculation of the courseCode
    One No initially copied from the canonical course but then stored in the Lui as lui.officialIdentifier.division
courseNumberSuffix Course Number Suffix String A suffix of the course number as reflected in the college catalog. This
is the "number" portion of the course code. Initially copied from the
course catalog but then, depending on the configuration it may be
updatable. This field is often configured to be updatable but the updates
typically simply append something like an "O" for on-line to it to
differentiate multiple course offerings for the same course. Often used
in the calculation of the courseCode.
    One No initially copied from the canonical course but then stored in the Lui as lui.officialIdentifier.suffixCode
courseTitle Course Title String Name of the course used in the college catalog. Initially copied from the
course catalog but then, depending on the configuration it may be
updatable. For regular courses this is not generally allowed to be
updated on the offering, but for special topics courses this is often
overridden to capture the particular topic being taught offered this
term. Note: the configuration of the validation for titles is typically
restricted to exclude line breaks. This may have to be loosened as some
schools may want the particular topic to appear on a 2nd line. For
example: SPECIAL TOPICS: AN EXPLORATION OF DEEP SPACE ARTIFACTS
    One No initially copied from the canonical course but then stored in the Lui as lui.officialIdentifier.longName
isHonorsOffering Is Honors Offering Boolean Indicates that the entire course offering is an Honors Course ??? Is this
an enrollment restriction rule or a flag or both?
    One No store in a generic lui luCodes type of field?
maximumEnrollment Maximum Enrollment Integer Total maximum number of "seats" or enrollment slots that can be filled
for the offering. Calculated based on sum of all the maximum seats of
primary activity type offerings.
    One No maps to Lui.maximumEnrollment
minimumEnrollment Minimum Enrollment Integer Total minimum number of seats that must be filled for the offering not to
be canceled. Calculated based on sum of all the minimum seats of primary
activity type offerings
    One No maps to Lui.minimumEnrollment
jointOfferingIds Joint Offering Ids StringList The unique identifier of the other course offerings with which this
offering is joint-listed
  Read only I think? Many No Canonical might suggest offerings that can be jointly offered. This is stored as a luiluirelation of joint type
gradingOptionIds Grading Option Ids StringList The options/scales that indicate the allowable grades that can be
awarded. Typically the values here are constrained by the values on the
canonical course. If the value is set here then the Clu must have a
grading option set on the canonical activity. For example: an id might
point to Pass/Fail or Letter Graded option.
    Many No these are actually ids to ResultValuesGroup. Lui.resultOptionIds returns a list of resultOptions. Filter options with grading type and those should give the resultValueGroupIds
creditOptions Credit Options ResultValuesGroup Type of credit of course offering. This field is initially copied from
the canonical course but then, depending on configuration, it may be
updated. TODO: figure out which of the credit options will be copied down
because the canonical has more than one! Often it is just a fixed single
value but a ResultValuesGroup could contain a range (with increments) or
even a discrete list of possible credit values.
    One No Lui.resultOptionIds returns a list of resultOptions. Filter option with credit type and that should give the resultValueGroup
gradeRosterLevelTypeKey Grade Roster Level Key String Key indicating the level at which grade rosters should be generated -
activity, format or course. TODO: define these types. TODO: add a service
method to get the list of types that can be put in this field.
    One No this should be a constrained the a list types generated from the roster types from the generic type system.
instructors Instructors OfferingInstructorList Instructors for this course offering TODO: find out if the canonical
instructors should be copied down
    Many No These are derived from Lui Person relations with instructor type
unitsDeployment Units Deployment StringList Organization(s) that is responsible for administering the course delivery
- and all associated logistics - of the course Initially copied from the
canonical course then, depending on the configuration, updated This is
typically an academic department but could be for example the extended
studies office that is responsible for delivering the course even though
it's content is managed by an academic department.
    Many No initalized from canonical course units deployment but then stored in lui.unitsDeployment
unitsContentOwner Units Content Owner StringList Organization(s) that is responsible for the academic content of the
course as approved in its canonical form. This is the organization that
has oversight of the curriculum. This is typically an academic
department.
  Read only on updates Many No this is never updatable so it should just be grabbed from the canonical course and then stored in lui.unitsContentOwner
hasFinalExam Has Final Exam Boolean Indicates whether a final exam is to be given Initially copied from the
canonical course and then, depending on configuration, updated.
    One No If set to true, create a lui of type final exam and a lui lui relation to the course offering
hasWaitlist Has Waitlist Boolean Indicates whether a RegistrationGroup has a waitlist TODO: figure out how
to store this TODO: make sure we are consistent on how we spell Waitlist,
should be spelled Waitlist, or Wait List or Wait-List (as the
merriam-webster has it)
    One No not sure how to store this, it depends on how we end up implementing waitlists.
waitlistTypeKey Waitlist Type Key String Indicates the type of waitlist as it relates to processing students on
and off The three types predefined in kuali are Automatic, Semi-Automatic
and Manual TODO: Right not Waitlist types are not tied to any Waitlist
object so we need to define an "other key" to get the list of valid
values from the type service. TODO: Decide if we need a separate
getHasWaitList, perhaps no value in this field means no waitlist. TODO:
Cross validate with hasWaitlist
    One No TODO: decide if this this should be stored on the Lui or on a waitlist object?
waitlistMaximum Waitlist Maximum Integer Maximum number of students to be allowed on the wait list     One No TODO: decide if this this should be stored on the Lui or on a waitlist object?
isWaitlistCheckinRequired Is Waitlist Checkin Required Boolean Indicates if the waitlist requires checkin     One No TODO: decide if this this should be stored on the Lui or on a waitlist object?
waitlistCheckinFrequency Waitlist Checkin Frequency TimeAmount Frequency for the waitlist checkin     One No TODO: decide if this this should be stored on the Lui or on a waitlist object?
fundingSource Funding Source String The primary source of funding for the offering.     One No fyi "funding source" is an enumeration values are state support, self-support, contract funding
fees Fees FeeList Fees associated with the course offering. Initially copied from the
course catalog but then, depending on the configuration it may be
updatable.
    Many No initially copied from canonical CourseFeeInfo but subsequently stored on the lui
revenues Revenues RevenueInfoList Organization(s) that receives the revenue from fees associated with the
course offering Initially copied from the course catalog but then,
depending on the configuration it may be updatable.
    Many No initially copied from cannonical CourseRevenueInfo but then subsequently stored on the Lui
expenditure Expenditure ExpenditureInfo Organization(s) that incurs the cost associated with the course offering
Initially copied from the course catalog but then, depending on the
configuration it may be updatable.
    One No initially copied from cannonical CourseRevenueInfo but then subsequently stored on the Lui
isFinancialAidEligible Is Financial Aid Eligible Boolean Flag indicating whether a course is eligible for Financial Aid. Derived
from course catalog (canonical) TODO: find a place to store this on the
canonical course because it does not currently exist there TODO: Decide
if this is really a rule or a CluSet or what?
    One No TODO: decide where to store
registrationOrderTypeKey Registration Order Type Key String Specifies whether the selection of RegistrationGroup that students
register for will be done as a block (all activities together) or in a
sequential order of activities The two types that have been predefined
are "All" and "Sequenced": All: When a student registers for this course
she gets registered for all sections identified by the reg. group
Sequenced: When a student registers for this course she must register
first for the primary section identified and then any secondary sections
TODO: We have NOT fully figured out how to do sequences in course
registration
    One No  
name Name String A display name for this entity.     One No  
attributes Dynamic Attributes AttributeList 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  
meta Create/Update meta info Meta 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