This document compares OSIDs to Kuali Student Services in the domains pertinent to Kuali Student. The purpose of this comparison is to inform the mapping between these two service frameworks.
Legend |
---|
straight forward feature mapping |
feature mapping through orchestration or other OBA |
questionable feature or mapping design |
missing feature |
Model | Feature | KS | OSID | Comments |
---|---|---|---|---|
canonical courses | CourseService.Course | osid.course.Course | ||
campus | CourseService.Course.CampusLocations | osid.course.Course.CourseCampusRecord | ||
code | CourseService.Course.Code | osid.course.Course.Number | ||
code management | CourseService.Course.suffix CourseService.Course.level CourseService.Course.SubjectArea | osid.course.Course.CourseCodeRecord | OSIDs can assign more than one "level" to a Course as defined by its GradeSystem. | |
cross listed courses | CourseService.Course.CrossListings | osid.course.Course.CourseCrossListingRecord | ||
effective dating | CourseService.Course.EffectiveDate CourseService.Course.ExpirationDate CourseService.Course.StartTerm CourseService.Course.EndTerm | osid.course.Course.IsActive osid.course.rules.CourseEnabler | This data in KS informs the offerability is the course but may not be enforced. | |
fees | CourseService.Course.Fees CourseService.Course.Revenue CourseService.Course.Expenditure | osid.course.Course.CourseFeeRecord | KS has not been redesigned with respect to KSA. | |
instructors | CourseService.Course.PrimaryInstructor CourseService.Course.Instructors | osid.acknowledgement.Credit osid.contact.Contact | In KS, the canonical instructors are not necessarily the ones who are teaching in a particular term, but instructors who are associated with the course. | |
joint courses | CourseService.Course.Joints | osid.relationship.Relationship | ||
learning objectives | CourseService.Course.CourseSpecificLos | osid.Course.LearningObjectives | ||
names | CourseService.Course.CourseTitle CourseService.Course.TranscriptTitle | osid.course.Course.DisplayName osid.course.Course.Title | OSID display names are brought into "context" (e.g. a transcript application gets the transcript title through the display name while the LMS may see the course code through the display name). Management of these different names can be done via OsidRecord. | |
options | CourseService.Course.CreditOptions CourseService.Course.GradingOptions | osid.course.Course.CreditAmounts osid.course.Course.GradingOptions | ||
organizations | CourseService.Course.UnitsDeployment CourseService.Course.UnitsContentOwner | osid.course.Course.Sponsors osid.course.rules.CourseProcessorEnabler | Content owner is a better name than sponsors. Deployment smells like an authorization rule. | |
pilot courses | CourseService.Course.isPilotCourse | osid.course.Course.PilotCourseRecord | ||
prerequisites | rules | osid.course.Course.Prerequisites | OSIDs should rename these rules to requisites. | |
special topics | CourseService.Course.IsSpecialTopicsCourse | osid.course.Course.SpecialTopicsCourseRecord | ||
subject areas | CourseService.Course.SubjectArea | osid.ontology.Subject | OSID subject tagging not used as an identifier. | |
terms offered | CourseService.Course.TermsOffered | osid.course.Course.TermsOfferedCourseRecord | Muddled feature. | |
time | CourseService.Course.Duration CourseService.Course.OutOfClassHours | OSIDs manage at the activity level but doesn't roll up to the course level. | ||
versioning | CourseService.Course.Version | osid.journaling.JournalEntry | ||
canonical formats | CourseService.Format | KS uses Formats to vary the Activities. OSIDs can surface these as different Courses. | ||
canonical activities | CourseService.Activity | osid.course.ActivityUnit | ||
content owner | CourseService.Activity.UnitsContentOwner | osid.course.Activity.ContentActivityRecord | ||
estimated enrollment | CourseService.Activity.DefaultEnrollmentEstimate | osid.course.Activity.EnrollmentActivityRecord | ||
learning objectives | CourseService.Activity.DynamicAttributes | osid.course.ActivityUnit.LearningObjectives | ||
time estimates | CourseService.Activity.ContactHours CourseService.Activity.DynamicAttributes | osid.course.ActivityUnit.TotalTargetContactTime osid.course.ActivityUnit.TotalTargetIndividualEffort osid.course.ActivityUnit.WeeklyContactTime osid.course.ActivityUnit.WeeklyIndividualEffort | KS adds more detail at offering. | |
canonical program | ProgramService.XYZProgram | osid.course.program.Program | ||
accrediting agencies | ProgramService.MajorDiscipline.AccreditingAgencies | osid.course.program.Program.AccreditationProgramRecord | ||
classification | ProgramService.XProgram.UniversityClassification | osid.ontology.Subject | ||
code | ProgramService.XProgram.Code | osid.course.program.Program.Number | ||
codes (other) | ProgramService.XProgram.Cip2000Code ProgramService.XProgram.Cip2010Code ProgramService.XProgram.HegisCode | osid.ontology.Subject | ||
core program | ProgramService.CoreProgram | osid.relationship.Relationship | program hierarchy | |
credentials | ProgramService.CredentialProgram.ResultOptions | osid.course.program.Program.Credentials | ||
effective dating | ProgramService.XProgram.EffectiveDate ProgramService.XProgram.StartTerm ProgramService.XProgram.EndTerm ProgramService.XProgram.EndProgramEntryTerm | osid.course.program.rules.ProgramEnabler | ||
honors | ProgramService.HonorsProgram | osid.relationship.Relationship | program hierarchy | |
intensity | ProgramService.XProgram.Intensity | osid.ontology.Subject | ||
instructors | ProgramService.MajorDiscipline.PublishedInstructors | osid.acknowledgement.Credit | ||
learning objectives | ProgramService.XProgram.LearningObjectives | osid.course.program.Program.LearningObjectives | ||
level | ProgramService.CredentialProgram.Level | osid.course.Program.LevelProgramRecord | ||
location | ProgramService.XProgram.CampusLocations | osid.course.program.Program.CampusProgramRecord | ||
majors | ProgramService.MajorDiscipline | osid.relationship.Relationship | program hierarchy | |
minors | ProgramService.MinorDiscipline | osid.relationship.Relationship | program hierarchy | |
orgs | ProgramService.XProgram.DivisionsContentOwner ProgramService.XProgram.DivisionsStudentOversight ProgramService.XProgram.DivisionsDeployment ProgramService.XProgram.DivisionsFinancialControl ProgramService.XProgram.UnitsContentOwner ProgramService.XProgram.UnitsFinancialResources ProgramService.XProgram.UnitsFinancialControl ProgramService.XProgram.UnitsDeployment ProgramService.XProgram.UnitsStudentOversight ProgramService.CredentialProgram.Institution | osid.course.program.Program.Sponsors osid.course.program.Program.XYZOrgProgramRecord osid.authorization
| these are overkill in KS | |
publication targets | ProgramService.CProgram.CatalogPublicationTargets | osid.course.program.Program.PublicationProgramRecord | ||
requirements | ProgramService.XProgram.ProgramRequirements | osid.course.program.Program.CompletionRequirements | ||
review period | ProgramService.MinorDiscipline.NextReviewPeriod | osid.course.program.Program.ReviewProgramRecord | Reviews should be properly modeled. | |
titles | ProgramService.XProgram.ShortTitle ProgramService.XProgram.LongTitle ProgramService.XProgram.TranscriptTitle ProgramService.CProgram.DiplomaTitle | osid.course.program.Program.DisplayName osid.course.program.Program.Ttitle osid.course.program.Program.TranscriptProgramRecord | OSID display names are brought into "context" (e.g. a transcript application gets the transcript title through the display name while the LMS may see the course code through the display name). Management of these different names can be done via OsidRecord. | |
url | ProgramService.CProgram.Url | osid.course.program.Program.URLProgramRecord | ||
variations | ProgramService.ProgramVariation | osid.relationship.Relationship | program hierarchy | |
versioning | ProgramService.XProgram.Version | osid.journaling.JournalEntry | ||
syllabus | osid.course.syllabus.Syllabus | |||
content | osid.course.syllabus.Docet.Assessements osid.course.syllabus.Docet.Assets | |||
learning objectives | osid.course.syllabus.Docet.LearningObjectives | |||
modules | osid.course.syllabus.Module | |||
time management | osid.course.syllabus.Docet.Duration |
Model | Feature | KS | OSID | Comments |
---|---|---|---|---|
course offerings | CourseOfferingService.CourseOffering | osid.course.CourseOffering | ||
code | CourseOfferingService.CourseOffering.CourseOfferingCode CourseOfferingService.CourseOffering.SubjectArea CourseOfferingService.CourseOffering.CourseNumberSuffix CourseOfferingService.CourseOffering.CourseNumberInternalSuffix | osid.course.CourseOffering.Number | ||
cross listings | CourseOfferingService.CourseOffering.CrossListings | osid.course.CourseOffering.CrossListingCourseOfferingRecord | ||
evaluation | CourseOfferingService.CourseOffering.IsEvaluated | osid.course.CourseOffering.EvaluationCourseOfferingRecord | ||
final exams | CourseOfferingService.CourseOffering.FinalExamType | osic.course.CourseOffering.FinalExamCourseOfferingRecord | ||
finances | CourseOfferingService.CourseOffering.FundingSource CourseOfferingService.CourseOffering.FinancialAidEligible CourseOfferingService.CourseOffering.IsFeeAtActivityOffering | osid.course.CourseOffering.FinancialCourseOfferingRecord | ||
honors | CourseOfferingService.CourseOffering.IsHonorsOffering | osid.course.CourseOffering.HonorsCourseOfferingRecord | ||
instructors | CourseOfferingService.CourseOffering.Instructors | osid.course.CourseOffering.Instructors | ||
instructors allocation | CourseOfferingService.OfferingInstructor | osid.resourcing.Commission | KS shouldn't be managing resources from inside courses. | |
orgs | CourseOfferingService.CourseOffering.UnitsContentOwners CourseOfferingService.CourseOffering.UnitsDeploymentOwners | osid.course.CourseOffering.Sponsors | ||
registration limits | CourseOfferingService.CourseOffering.MaxEnrollment CourseOfferingService.CourseOffering.MinEnrollment | osid.course.CourseOffering.MaximumSeats osid.course.CourseOffering.MinimumSeats | KS naming inconsistent with ActivityOffering. | |
registration options | CourseOfferingService.CourseOffering.GradingOption CourseOfferingService.CourseOffering.StudentRegistrationGradingOption CourseOfferingService.CourseOffering.CreditOption | osid.course.CourseOffering.GradingOptions osid.course.CourseOffering.CreditAmounts | ||
schedule | osid.course.CourseOffering.ScheduleInfo osid.course.CourseOffering.Event | |||
url | CourseOfferingService.CourseOffering.CourseOfferingURL | osid.course.CourseOffering.URL | ||
Format Offering | CourseOfferingService.FormatOffering | |||
Activity Offering | CourseOfferingService.ActivityOffering | osid.course.Activity | ||
code | CourseOfferingService.ActivityOffering.Code | osid.course.Activity.CodeActivityRecord | ||
evaluation | CourseOfferingService.ActivityOffering.IsEvaluated | osid.course.Activity.EvaluationActivityRecord | ||
honors | CourseOfferingService.ActivityOffering.IsHonors | osid.course.Activity.HonorsActivityRecord | ||
instructors | CourseOfferingService.ActivityOffering.Instructors | osid.course.Activity.Instructors | ||
instructors allocation | CourseOfferingService.OfferingInstructor | osid.resourcing.Commission | KS shouldn't be managing resources from inside courses. | |
registration limits | CourseOfferingService.ActivityOffering.MaximumEnrollment CourseOfferingService.ActivityOffering.MinimumEnrollment | osid.course.Activity.MinimumSeats osid.course.Activity.MaximumSeats | ||
registration options | CourseOfferingService.ActivityOffering.GradingOptions | osid.course.Activity.GradingActivityRecord | This doesn't make much sense at the AO level. | |
schedule | CourseOfferingService.ActivityOffering.Schedule | osid.course.Activity.Schedules osid.course.Activity.SpecificMeetingTimes osid.course.Activity.Blackouts | Specific meeting times and blackouts incorporated into KS Schedule. | |
scheduling | CourseOfferingService.ActivityOffering.IsApprovedForNonStandardTimeSlots | osid.course.Activity.SchedulingActivityRecord | ||
time | CourseOfferingService.ActivityOffering.WeeklyInClassContactHours CourseOfferingService.ActivityOffering.WeeklyOutOfClassContactHours CourseOfferingService.ActivityOffering.WeeklyTotalContactHours CourseOfferingService.ActivityOffering.DynamicAttributes | osid.course.Activity.TotalTargetEffort osid.course.Activity.TotalTargetContactTime osid.course.Activity.TotalTargetIndividualEffort osid.course.Activity.WeeklyEffort osid.course.Activity.WeeklyContactTime osid.course.Activity.WeeklyIndividualEffort | ||
titles | CourseOfferingService.ActivityOffering.Name | osid.course.Activity.DisplayName | ||
url | CourseOfferingService.ActivityOffering.URL | osid.course.Activity.URLActivityRecord | ||
Activity Offering Clusters | CourseOfferingService.ActivityOfferingCluster | Format Offering and ActivityOffering Cluster a bit muddled in KS. | ||
Registration Group Generation | CourseOfferingService.AOClusterVerifyResults | |||
Registration Groups | CourseOfferingService.RegistrationGroup | osid.course.registration.RegistrationTarget | ||
activity offerings | CourseOfferingService.RegistrationGroup.ActivityOfferings | osid.course.registration.RegistrationTarget.Activites | ||
code | CourseOfferingService.RegistrationGroup.Code | osid.course.RegistrationGroup.CodeRegistrationGroupRecord | ||
generation | CourseOfferingService.RegistrationGroup.IsGenerated | osid.course.RegistrationGroup.GenerationRegistrationGroupRecord | ||
registration restrictions | CourseOfferingService.RegistrationGroup.DynamicAttributes | osid.course.registration.RegistrationTarget.Credits osid.course.registration.RegistrationTarget.GradingOptions |
Model | Feature | KS | OSID | Comments |
---|---|---|---|---|
Registration | CourseRegistrationService.CourseRegistration | osid.course.registration.Registration | ||
credits | CourseRegistrationService.CourseRegistration.Credits | osid.course.registration.Registration.Credits | OSIDs allow for multiple credit options to be determined upon completion. | |
cross listed identifier | CourseRegistrationService.CourseRegistration.CrossListedCode | osid.course.registration.Registration.CrossListedRegistrationRecord | ||
grading option | CourseRegistrationService.CourseRegistration.GradingOption | osid.course.registration.Registration.GradingOption | ||
last attendance | CourseRegistrationService.CourseRegistration.LastAttendanceDate | osid.course.registration.CourseRegistration.EndDate | The last attendance date supplied to a withdraw should surface as an end date to the CourseRegistration, not a separate field. | |
Course Registration | osid.course.registration.CourseRegistration | OSIDs separate a course-level registration from a registration into a specific target (rg). | ||
Activity Registration | CourseRegistrationService.ActivityRegistration | osid.course.registration.ActivityRegistration | ||
Registration Request | CourseRegistrationService.RegistrationRequest | osid.course.registration.request.RegistrationRequest | ||
add | CourseRegistrationService.RegistrationRequestItem.Type | osid.course.registration.request.RegistrationRequestItem.RegistrationOperation | ||
cross listed code | CourseRegistrationService.RegistrationRequestItem.CrossListedCode | osid.course.registration.request.RegistrationRequestItem.CrossListedRegistrationRequestItemRecord | ||
drop | CourseRegistrationService.RegistrationRequestItem.Type | osid.course.registration.request.RegistrationRequestItem.RegistrationOperation | ||
effective posting date | CourseRegistrationService.RegistrationRequestItem.RequestedEffectiveDate | osid.course.registration.request.RegistrationRequest.PostingDate | OSIDs on entire request. | |
last attendance date | CourseRegistrationService.RegistrationRequestItem.LastAttendanceDate | osid.course.registration.request.RegistrationRequestItem.AttendanceRequestItemRecord | ||
on behalf of | CourseRegistrationService.RegistrationRequest.Requester CourseRegistrationService.RegistrationRequestItem.Person | osid.course.registration.request.RegistrationRequest.Requester osid.course.registration.request.RegistrationRequestItem.Student | ||
options | CourseRegistrationService.RegistrationRequestItem.Credits CourseRegistrationService.RegistrationRequestItem.GradingOption | osid.course.registration.request.RegistrationRequestItem.CreditOptions osid.course.registration.request.RegistrationRequestItem.GradingOption | ||
swap | CourseRegistrationService.RegistrationRequestItem.Type | osid.course.registration.request.RegistrationRequestItem.RegistrationOperation | ||
update | CourseRegistrationService.RegistrationRequestItem.Type | osid.course.registration.request.RegistrationRequestItem.RegistrationOperation | ||
waitlist options | CourseRegistrationService.RegistrationRequestItem.OkToWaitlist CourseRegistrationService.RegistrationRequestItem.OkToHoldUntilList | osid.course.registration.request.RegistrationRequestItem.WaitlistOptionsRequestItemRecord | ||
waitlisted entry | CourseRegistrationService.RegistrationRequestItem.WaitlistEntry | osid.course.registration.request.RegistrationRequestItem.WaitlistRequestItemRecord |
Modeling Support | Feature | KS | OSID | Comments |
---|---|---|---|---|
Student Award Record | osid.course.chronicle.AwardEntry | |||
Student Course Record | AcademicRecordService.StudentCourseRecord | osid.course.chronicle.CourseEntry | ||
Student Credential Record | AcademicRecordService.StudentCredentialRecord | osid.course.chronicle.CredentialEntry | ||
Student Program Record | AcademicRecordService.StudentProgramRecord | osid.course.chronicle.ProgramEntry | ||
Student Term Record | AcademicRecordService.StudentTermRecord | |||
Student Test Record | AcademicRecordService.StudentTestRecord | osid.course.chronicle.AssessmentEntry |
Service Support | Feature | KS | OSID | Comments |
---|---|---|---|---|
acknowledgement | an auxiliary service for acknowledging a credit or role for something | osid.acknowledgement | ||
authentication | a service to manage principals and keys | rice | osid.authentication | |
authorization | a service to check and manage authorizations | rice | osid.authorization | |
cataloging | an auxiliary service for organizing things | osid.cataloging | in-band orchestration throughout OSIDs | |
commenting | an auxiliary service for annotating things | CommentService | osid.commenting | |
communication | a service to pass messages to service consumers | osid.communication | KS defines in-band messages where needed | |
configuration | configuration evaluation and management | GESService | osid.configuration | |
contact | an auxiliary service to manage contacts for things | ContactService | osid.contact | |
hold | HoldService | osid.hold | ||
logging | reading and writing logs | LoggingService | osid.logging | |
messaging | sending and receiving user messages | UserMessagingService | osid.messaging | |
message channels and connection to contacts | UserMessagingService.MessageCategory | osid.messaging.Mailbox | ||
message templates | UserMessagingService.Template | |||
receipt tracking | osid.messaging.Receipt | |||
ontology | an auxiliary service to tag things with managed topics | used to have Tagging | osid.ontology | |
person | referencing and managing people | PersonService | osid.resource.Resource osid.personnel.Person | OSIDs reference people via Resource |
populations | a service to reference and manage rule-based sets of people | PopulationService | osid.resource.demographic | |
process | a rule-based service to organize checks | ProcessService | osid.rules.check | |
relationship | an auxiliary service to relate things | osid.relationship | KS defines abstract relationships for CLUs and LUIs. | |
room | RoomService | osid.room | ||
building | RoomService.Building | osid.room.Building | ||
building address | RoomService.Building.DynamicAttributes | osid.room.Building.Address | ||
building area | RoomService.Building.DynamicAttributes | osid.room.Building.Area | ||
building construction | osid.room.construction.Project | |||
building responsibility | osid.room.squatting.Deed | |||
building spatial unit | osid.mapping.Location.SpatialUnit | |||
building subdivisions | osid.room.Building.Subdivisions | |||
floor | osid.room.Floor | |||
partitions | RoomService.Partition | osid.room.Campus | ||
room | RoomService.Room | osid.room.Room | ||
room area | RoomService.Room.DynamicAttributes | osid.room.Room.Area | ||
room capacity | RoomService.Room.RoomUsage | osid.room.Room.OccupancyLimit | ||
room construction | osid.room.construction.Renovation | |||
room features | RoomService.Room.RoomFixedResources | osid.room.Room.Resources | ||
room inventory | osid.inventory.Item | |||
room responsibility | RoomService.RoomResponsibleOrg | osid.room.squatting.Lease | ||
spatial units | osid.mapping.Location.SpatialUnit | |||
room subdivisions | osid.room.Room.Subdivisions | |||
scheduling | SchedulingService | |||
search | an abstract service to search arbitrary stuff and get arbitrary results | SearchService | osid.search | |
sequencing | an auxiliary service for ordering things | osid.sequencing | ||
state | an auxiliary service for managing states for things | StateService | osid.process | KS has one state per entity. |
repository | DocumentService | osid.repository | KS simply attaches files to objects. | |
type | manages Type definitions | TypeService | osid.type | |
versioning | an auxiliary service to manage versions of things | VersionManagementService | osid.journaling | |