Intro

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 frameworks. 

Legend
straight forward bi-driectional feature mapping
feature mapping through OBA such as Type agreement or service orchestration
questionable feature or mapping design
missing feature

The red-yellow-green legend provides a quick look at what is in common, where features are missing, and an opinion as to the quality of the design (yellow). Blues simply indicate that the same effect can be achieved in a less direct manner. Some blues are an artifact of the framework, others indicate that the feature wasn't addressed directly, and yet others may indicate a design deficiency.

Both KS and OSIDs leave flexibility to include features out-of-band through typing of abstract entities, dynamic attributes, or OsidRecords. At some level, most every feature can be covered by the other through some contortions. If it was a matter of adding a few out-of-band data fields or using a different service, it got marked blue. If a feature was not included in any model, it got marked red.

This isn't a grading scale. The colors provide a gestalt of the work required to map between them.

KS→←OSID
feature maps directlyfeature maps directly
feature maps using an OBA such as Type agreement or service orchestrationfeature maps directly
feature maps directlyfeature maps using an OBA such as Type agreement or service orchestration
feature maps using an OBA such as Type agreement or service orchestrationfeature maps using an OBA such as Type agreement or service orchestration
awkward alignment due to questionable feature or design better addressed hereawkward alignment due to design deficiency better addressed by the other guy
awkward alignment due to design deficiency better addressed by the other guyawkward alignment due to questionable feature or design better addressed here
awkward alignment due to design deficiency not directly addressed herequestionable feature or design can be mimicked using an OBA
questionable feature or design can be mimicked using an OBAawkward alignment due to design deficiency not directly addressed here
poor alignment due to design deficiencypoor alignment due to design deficiency
mapping not possible or requires significant contortionsn/a
n/amapping not possible or requires significant contortions
mapping not possible or requires significant contortionsn/a
n/amapping not possible or requires significant contortions
mapping not possible or requires significant contortionsn/a
n/amapping not possible or requires significant contortions

There was little sense in comparing KS to the complete suite of OSIDs because OSIDs include much more than what is relevant to a conventional student system. However, within those services applicable to KS, the complete OSID feature set was included although it may not be seen as a priority for KS.

Versions

Kuali Student: anything defined in a KS service contract (not just model) as of 11/1/2014 whether or not it has been implemented

OSIDs: definitions based in OSID 3.0.0rc6

About OBAs

Out-of-band mechanisms include anything requiring knowledge of an identifier (key) that assumes the existence of information not specified by core contract. Typically, it's anywhere where a Type is used. OBAs also include the knowledge that additional services need to be utilized in order to accomplish the feature (services also have identifiers so the knowledge of their existence is an agreement). 

Extra data may accompany the Type. (Although KS is very loose about this) the KS entity Type is a specification of the set of extra attributes that accompany the entity. In OSIDs, a similar thing is accomplished using OsidRecord Types. While each mechanism has its pros and cons, this analysis is just concerned about the ability to map features across the two frameworks.

Requiring an OBA is not necessarily a deficiency, though it can be a candidate for future work. KS has been focused on the business of student systems and is more likely to include more specific administrative detail within that domain. OSIDs are primarily concerned with interoperability across domains and is more likely to brush off behind-the-scenes detail, require more service orchestration, and include some things not of interest to student systems.

Curriculum

ModelFeatureKSOSIDComments
canonical courses CourseService.Courseosid.course.Course 
 campusCourseService.Course.CampusLocationsosid.course.Course.CourseCampusRecord 
 codeCourseService.Course.Codeosid.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 coursesCourseService.Course.CrossListingsosid.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.CourseFeeRecordKS 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 coursesCourseService.Course.Jointsosid.relationship.Relationship 
 learning objectivesCourseService.Course.CourseSpecificLososid.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 coursesCourseService.Course.isPilotCourseosid.course.Course.PilotCourseRecord 
 prerequisitesrulesosid.course.Course.PrerequisitesOSIDs should rename these rules to requisites.
 special topicsCourseService.Course.IsSpecialTopicsCourseosid.course.Course.SpecialTopicsCourseRecord 
 subject areasCourseService.Course.SubjectAreaosid.ontology.SubjectOSID subject tagging not used as an identifier.
 terms offeredCourseService.Course.TermsOfferedosid.course.Course.TermsOfferedCourseRecordMuddled feature.
 time

CourseService.Course.Duration

CourseService.Course.OutOfClassHours

 OSIDs manage at the activity level but doesn't roll up to the course level.
 versioningCourseService.Course.Versionosid.journaling.JournalEntry 
canonical formats CourseService.Format KS uses Formats to vary the Activities. OSIDs can surface these as different Courses.
canonical activities CourseService.Activityosid.course.ActivityUnit 
 content ownerCourseService.Activity.UnitsContentOwnerosid.course.Activity.ContentActivityRecord 
 estimated enrollmentCourseService.Activity.DefaultEnrollmentEstimateosid.course.Activity.EnrollmentActivityRecord 
 learning objectivesCourseService.Activity.Attributesosid.course.ActivityUnit.LearningObjectives 
 time estimates

CourseService.Activity.ContactHours

CourseService.Activity.Attributes

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.XYZProgramosid.course.program.Program 
 accrediting agenciesProgramService.MajorDiscipline.AccreditingAgenciesosid.course.program.Program.AccreditationProgramRecord(question) Accreditation should be modeled.
 classificationProgramService.XProgram.UniversityClassificationosid.ontology.Subject 
 codeProgramService.XProgram.Codeosid.course.program.Program.Number 
 codes (other)

ProgramService.XProgram.Cip2000Code

ProgramService.XProgram.Cip2010Code

ProgramService.XProgram.HegisCode

osid.ontology.Subject 
 core programProgramService.CoreProgramosid.course.program.Programprogram hierarchy
 credentialsProgramService.CredentialProgram.ResultOptionsosid.course.program.Program.Credentials 
 effective dating

ProgramService.XProgram.EffectiveDate

ProgramService.XProgram.StartTerm

ProgramService.XProgram.EndTerm

ProgramService.XProgram.EndProgramEntryTerm

osid.course.program.rules.ProgramEnabler 
 honorsProgramService.HonorsProgramosid.course.program.Programprogram hierarchy
 intensityProgramService.XProgram.Intensityosid.ontology.Subject 
 instructors

ProgramService.MajorDiscipline.PublishedInstructors

osid.acknowledgement.Credit(question)
 learning objectivesProgramService.XProgram.LearningObjectivesosid.course.program.Program.LearningObjectives 
 levelProgramService.CredentialProgram.Levelosid.course.Program.LevelProgramRecord 
 locationProgramService.XProgram.CampusLocationsosid.course.program.Program.CampusProgramRecord 
 majorsProgramService.MajorDisciplineosid.course.program.Programprogram hierarchy
 minorsProgramService.MinorDisciplineosid.course.program.Programprogram 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 targetsProgramService.CProgram.CatalogPublicationTargetsosid.course.program.Program.PublicationProgramRecord 
 requirementsProgramService.XProgram.ProgramRequirementsosid.course.program.Program.CompletionRequirements 
 review periodProgramService.MinorDiscipline.NextReviewPeriodosid.course.program.Program.ReviewProgramRecordReviews 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.
 urlProgramService.CProgram.Urlosid.course.program.Program.URLProgramRecord 
 variationsProgramService.ProgramVariationosid.relationship.Relationshipprogram hierarchy
 versioningProgramService.XProgram.Versionosid.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 

 

Offering

ModelFeatureKSOSIDComments
course offerings CourseOfferingService.CourseOfferingosid.course.CourseOffering 
 code

CourseOfferingService.CourseOffering.CourseOfferingCode

CourseOfferingService.CourseOffering.SubjectArea

CourseOfferingService.CourseOffering.CourseNumberSuffix

CourseOfferingService.CourseOffering.CourseNumberInternalSuffix

osid.course.CourseOffering.Number 
 cross listingsCourseOfferingService.CourseOffering.CrossListingsosid.course.CourseOffering.CrossListingCourseOfferingRecord 
 evaluationCourseOfferingService.CourseOffering.IsEvaluatedosid.course.CourseOffering.EvaluationCourseOfferingRecord 
 final examsCourseOfferingService.CourseOffering.FinalExamTypeosic.course.CourseOffering.FinalExamCourseOfferingRecord 
 finances

CourseOfferingService.CourseOffering.FundingSource

CourseOfferingService.CourseOffering.FinancialAidEligible

CourseOfferingService.CourseOffering.IsFeeAtActivityOffering

osid.course.CourseOffering.FinancialCourseOfferingRecord 
 honorsCourseOfferingService.CourseOffering.IsHonorsOfferingosid.course.CourseOffering.HonorsCourseOfferingRecord 
 instructorsCourseOfferingService.CourseOffering.Instructorsosid.course.CourseOffering.Instructors 
 instructors allocationCourseOfferingService.OfferingInstructorosid.resourcing.CommissionKS 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

 
 urlCourseOfferingService.CourseOffering.CourseOfferingURLosid.course.CourseOffering.URL 
Format Offering CourseOfferingService.FormatOffering  
Activity Offering CourseOfferingService.ActivityOfferingosid.course.Activity 
 codeCourseOfferingService.ActivityOffering.Codeosid.course.Activity.CodeActivityRecord 
 evaluationCourseOfferingService.ActivityOffering.IsEvaluatedosid.course.Activity.EvaluationActivityRecord 
 honorsCourseOfferingService.ActivityOffering.IsHonorsosid.course.Activity.HonorsActivityRecord 
 instructorsCourseOfferingService.ActivityOffering.Instructorsosid.course.Activity.Instructors 
 instructors allocationCourseOfferingService.OfferingInstructorosid.resourcing.CommissionKS 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.GradingActivityRecordThis doesn't make much sense at the AO level.
 scheduleCourseOfferingService.ActivityOffering.Schedule

osid.course.Activity.Schedules

osid.course.Activity.SpecificMeetingTimes

osid.course.Activity.Blackouts

Specific meeting times and blackouts incorporated into KS Schedule.
 schedulingCourseOfferingService.ActivityOffering.IsApprovedForNonStandardTimeSlotsosid.course.Activity.SchedulingActivityRecord 
 time

CourseOfferingService.ActivityOffering.WeeklyInClassContactHours

CourseOfferingService.ActivityOffering.WeeklyOutOfClassContactHours

CourseOfferingService.ActivityOffering.WeeklyTotalContactHours

CourseOfferingService.ActivityOffering.Attributes

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 
 urlCourseOfferingService.ActivityOffering.URLosid.course.Activity.URLActivityRecord 
Activity Offering Clusters CourseOfferingService.ActivityOfferingCluster Format Offering and ActivityOffering Cluster a bit muddled in KS.
 Registration Group GenerationCourseOfferingService.AOClusterVerifyResults  
Registration Groups CourseOfferingService.RegistrationGrouposid.course.registration.RegistrationTarget 
 activity offeringsCourseOfferingService.RegistrationGroup.ActivityOfferingsosid.course.registration.RegistrationTarget.Activites 
 codeCourseOfferingService.RegistrationGroup.Codeosid.course.RegistrationGroup.CodeRegistrationGroupRecord 
 generationCourseOfferingService.RegistrationGroup.IsGeneratedosid.course.RegistrationGroup.GenerationRegistrationGroupRecord 
 registration restrictionsCourseOfferingService.RegistrationGroup.Attributes

osid.course.registration.RegistrationTarget.Credits

osid.course.registration.RegistrationTarget.GradingOptions

 
Program Offering ProgramOfferingServiceosid.course.programKS will likely go deeper in this and deal with all the program types.
 code osid.course.program.ProgramOffering.Number 
 completion requirements osid.course.program.ProgramOffering.Number.CompletionRequirements 
 credentials osid.course.program.ProgramOffering.Credentials 
 enrollment limits 

osid.course.program.ProgramOffering.MinimumSeats

osid.course.program.ProgramOffering.MaximumSeats

 
 orgs osid.course.program.ProgramOffering.Sponsors 
 url osid.course.program.ProgramOffering.URL 

Registration

ModelFeatureKSOSIDComments
Registration CourseRegistrationService.CourseRegistrationosid.course.registration.Registration 
 creditsCourseRegistrationService.CourseRegistration.Creditsosid.course.registration.Registration.CreditsOSIDs allow for multiple credit options to be determined upon completion.
 cross listed identifierCourseRegistrationService.CourseRegistration.CrossListedCodeosid.course.registration.Registration.CrossListedRegistrationRecord 
 grading optionCourseRegistrationService.CourseRegistration.GradingOptionosid.course.registration.Registration.GradingOption 
 last attendanceCourseRegistrationService.CourseRegistration.LastAttendanceDateosid.course.registration.CourseRegistration.EndDateThe 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.CourseRegistrationOSIDs separate a course-level registration from a registration into a specific target (rg).
Activity Registration CourseRegistrationService.ActivityRegistrationosid.course.registration.ActivityRegistration 
Registration Request CourseRegistrationService.RegistrationRequestosid.course.registration.request.RegistrationRequest 
 addCourseRegistrationService.RegistrationRequestItem.Typeosid.course.registration.request.RegistrationRequestItem.RegistrationOperation 
 cross listed codeCourseRegistrationService.RegistrationRequestItem.CrossListedCodeosid.course.registration.request.RegistrationRequestItem.CrossListedRegistrationRequestItemRecord 
 dropCourseRegistrationService.RegistrationRequestItem.Typeosid.course.registration.request.RegistrationRequestItem.RegistrationOperation 
 effective posting dateCourseRegistrationService.RegistrationRequestItem.RequestedEffectiveDateosid.course.registration.request.RegistrationRequest.PostingDateOSIDs on entire request.
 last attendance dateCourseRegistrationService.RegistrationRequestItem.LastAttendanceDateosid.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

 
 swapCourseRegistrationService.RegistrationRequestItem.Typeosid.course.registration.request.RegistrationRequestItem.RegistrationOperation 
 updateCourseRegistrationService.RegistrationRequestItem.Typeosid.course.registration.request.RegistrationRequestItem.RegistrationOperation 
 waitlist options

CourseRegistrationService.RegistrationRequestItem.OkToWaitlist

CourseRegistrationService.RegistrationRequestItem.OkToHoldUntilList

osid.course.registration.request.RegistrationRequestItem.WaitlistOptionsRequestItemRecord 
 waitlisted entryCourseRegistrationService.RegistrationRequestItem.WaitlistEntryosid.course.registration.request.RegistrationRequestItem.WaitlistRequestItemRecord 
Program Enrollment ProgramEnrollmentServiceosid.course.program.Enrollment 

Academic Calendar

Modeling SupportFeatureKSOSIDComments
Academic Calendar AcademicCalendarService.AcademicCalendarosid.calendaring.CalendarKS hardens calendars and links to orgs. In OSIDs, this would be an arrangement of Calendars.
Academic Event AcademicCalendarService.AcalEventosid.calendaring.Event 
Holiday Calendar AcademicCalendarService.HolidayCalendarosid.calendaring.Calendar 
Holiday AcademicCalendarService.Holidayosid.calendaring.Event 
Term AcademicCalendarService.Termosid.course.Term 
 codeAcademicCalendarService.Term.Codeosid.course.Term.DisplayLabel 
 open dateAcademicCalendarService.Term.StartDateosid.course.Term.OpenDate 
 registration periodAcademicCalendarService.KeyDate

osid.course.Term.RegistrationStart

osid.course.Term.RegistrationEnd

 
 class periodAcademicCalendarService.KeyDate

osid.course.Term.ClassesStart

osid.course.Term.ClassesEnd

 
 add dateAcademicCalendarService.KeyDateosid.course.Term.AddDate 
 drop dateAcademicCalendarService.KeyDateosid.course.Term.DropDate 
 final exam periodAcademicCalendarService.ExamPeriodosid.course.Term.FinalExamPeriod 
 close dateAcademicCalendarService.Term.EndDateosid.course.Term.CloseDate 
 hierarchical termsAcademicCalendarService.termhierarchystuffosid.course.TermHierarchySession 

Academic Plan

Academic Record

Modeling SupportFeatureKSOSIDComments
Student Award Record  osid.course.chronicle.AwardEntry 
Student Course Record AcademicRecordService.StudentCourseRecordosid.course.chronicle.CourseEntry 
Student Credential Record AcademicRecordService.StudentCredentialRecordosid.course.chronicle.CredentialEntry 
Student Program Record AcademicRecordService.StudentProgramRecordosid.course.chronicle.ProgramEntry 
Student Term Record AcademicRecordService.StudentTermRecord  
Student Test Record AcademicRecordService.StudentTestRecordosid.course.chronicle.AssessmentEntry 

 

General Services

Service SupportFeatureKSOSIDComments
acknowledgementacknowledging a credit or role for something osid.acknowledgement 
appointment AppointmentServiceosid.calendaringnot really an OBA, but the mapping between the appointment-centric and calendar-centric views require some creativity
 appointment rule setupAppointmentService.AppointmentWindowosid.calendaring.RecurringEvent 
 appointment slotsAppointmentService.AppointmentSlotosid.calendaring.Event 
 individual appointmentsAppointmentService.Appointmentosid.calendaring.Commitment 

authentication

 riceosid.authentication 
 agents/principalsIdentityService.Principalosid.authentication.Agent 
 key managementIdentityService.Principal.Passwordosid.authentication.keys.Key 
 authentication process osid.authenication.process 
authorizationchecking and managing authorizationsriceosid.authorization 
catalogingorganizing things osid.catalogingin-band orchestration throughout OSIDs
commentingannotating thingsCommentServiceosid.commenting 
communicationmessaging to service consumers (concierge) osid.communicationKS defines in-band messages where needed
configurationrule-based config serviceGESServiceosid.configuration 
contactmanaging contacts for thingsContactServiceosid.contact 
enumeration EnumerationManagementServiceosid.ontologyThis is a hard one to map. KS Enumerations used to tag codes and the like are done with osid.ontology. Other applications of KS Enumerations may require different treatment. OSIDs don't like keyable data inside strings.
exemptionexemptions to process checksExemptionService

osid.communication

osid.tracking

osid.logging

 
hold HoldServiceosid.hold 
 canonical issueHoldService.HoldIssueosid.hold.Issue 
 issue organizationHoldService.HoldIssue.Organizationosid.hold.Issue.Provider 
 

hold effective dates

HoldService.AppliedHold.StartDate

HoldService.AppliedHold.EndDate

osid.hold.Issue.StartDate

osid.hold.Issue.EndDate

 
 hold term based effectiveness

HoldService.AppliedHold.ApplicationEffectiveTerm

HoldService.AppliedHold.ApplicationExpirationTerm

osid.hold.Hold.TermHoldRecordterm-based stuff is a little wonky... perhaps a Process Service issue.
 constrained hold creation by dates

HoldService.HoldIssue.FirstAppliedDate

HoldService.HoldIssue.LastAppliedDate

osid.hold.Issue.IssueEnabler.StartDate

osid.hold.Issue.IssueEnabler.EndDate

 
 constrained hold creation by terms

HoldService.HoldIssue.FirstApplicationTerm

HoldService.HoldIssue.LastApplicationTerm

osid.hold.Issue.TermIssueRecord 
 evaluating holdsProcessServiceosid.hold.Block 
logging LoggingServiceosid.logging 
 reading log entriesLoggingService.LogEntryosid.logging.LogEntry 
 writing log entriesLoggingService.LogEntryosid.logging.LogEntry 
 log entry principalLoggingService.LogEntry.Principalosid.logging.LogEntry.Agent 
 log entry timestampLoggingService.LogEntry.Timestamposid.logging.LogEntry.Timestamp 
 log entry levelLoggingService.LogEntry.LogLevelosid.logging.LogEntry.Priority 
 log minimum levelLoggingService.Log.LevelTypeosid.logging.Log*osid.logging.LogEntry.Priority 
messagingsending and receiving user messagesUserMessagingServiceosid.messaging 
 message channels and connection to contactsUserMessagingService.MessageCategoryosid.messaging.Mailbox 
 message templatesUserMessagingService.Templateosid.repository.Asset 
 receipt tracking osid.messaging.Receipt 
organization OrganizationServiceosid.personnel 
 appointmentOrganizationService.OrgPersonRelationosid.personnel.AppointmentKS doesn't link to org position.
 appointment commitmentOrganizationService.OrgPersonRelation.Attributesosid.personnel.Appointment.Commitment 
 appointment salaryOrganizationService.OrgPersonRelation.Salary

osid.personnel.Appointment.Salary

osid.personnel.Appointment.SalaryBasis

 
 appointment titleOrganizationService.OrgPersonRelation.Titleosid.personnel.Appointment.Title 
 org codesOrganizationService.Org.OrgCodes

osid.personnel.Organization.CodeOrganizationRecord

osid.ontology.Subject

 
 org hierarchyOrganizationService.OrgHierarchyosid.personnel.OrganizationHierarchySession 
 org positions

OrganizationService.OrgPositionRestriction

osid.personnel.Position

 
 org position benefitsOrganizationService.OrgPositionRestriction.Attributesosid.personnel.Position.BenefitsType 
 org position capacity

OrganizationService.OrgPositionRestriction.MinNumRelations

OrganizationService.OrgPositionRestriction.MaxNumRelations

osid.personnel.Position.TargetCommitments 
 org position commitment requiredOrganizationService.OrgPositionRestriction.Attributesosid.personnel.Position.RequiredCommitment 
 org position compensationOrganizationService.OrgPositionRestriction.Attributes

osid.personnel.Position.LowSalaryRange

osid.personnel.Position.MidpointSalaryRange

osid.personnel.Position.HighSalaryRange

 
 org position compensation frequencyOrganizationService.OrgPositionRestriction.Attributesosid.personnel.Position.CompensationFrequency 
 org position exempt statusOrganizationService.OrgPositionRestriction.Attributesosid.personnel.Position.IsExempt 
 org position levelOrganizationService.OrgPositionRestriction.Attributesosid.personnel.Position.Level 
 org position qualificationsOrganizationService.OrgPositionRestriction.Attributesosid.personnel.Position.QualificationsLOs
 org position titleOrganizationService.OrgPositionRestriction.Titleosid.personnel.Position.Title 
 org relationshipsOrganizationService.OrgOrgRelationosid.relationship (non hierarchical) 
 org short nameOrganizationService.Org.ShortNameosid.personnel.Organization.DisplayLabel 
 org short descriptionOrganizationService.Org.ShortDescrosid.personnel.Organization.DescriptionOrganizationRecord 
person PersonService

osid.personnel

 
 managing peoplePersonService.Personosid.personnel.PersonOSIDs reference people via Resource
 date birthPersonService.PersionBioDemographics.BirthDateosid.personnel.Person.BirthDate 
 date deceasedPersonService.PersionBioDemographics.DeceasedDateosid.personnel.Person.DeathDate 
 genderPersonService.PersionBioDemographics.GenderCodeosid.personnel.Person.GenderPersonRecord 
 institutional identifier primaryPersonService.PersonIdentifierosid.personnel.Person.InstitutionalIdentifier 
 institutional identifier othersPersonService.PersonIdentifierosid.id.Id 
 name changed datePersonService.Person.NameChangedDateosid.journaling.JournalEntry 
 name compositePersonService.Person.CompositeNameosid.personnel.Person.DisplayNameOSIDs may map display name to preferred name depending on context.
 name generation qualifierPersonService.Person.NameSuffixosid.personnel.Person.GenerationQualifier 
 name forename aliasesPersonService.Person.Attributessid.personnel.Person.ForenameAliases 
 name givenPersonService.Person.FirstNameosid.personnel.Person.GivenName 
 name middlePersonService.Person.MiddleNameosid.personnel.Person.MiddleNames 
 name preferredPersonService.Person.Attributesosid.personnel.Person.PreferredName 
 name prefixPersonService.Person.NamePrefixosid.personnel.Person.Salutation 
 name suffixPersonService.Person.NameTitleosid.personnel.Person.QualificationSuffix 
 name surnamePersonService.Person.LastNameosid.personnel.Person.Surname 
 name surname aliasesPersonService.Person.Attributesosid.personnel.Person.SurnameAliases 
 support for multiple agentsPersonService.PersonIdentifierosid.resource.ResourceAgentSession 
populations PopulationServiceosid.resource.demographic 
 combining

PopulationService.PopulationRule.Type

PopulationService.PopulationRule.ChildPopulations

osid.resource.demographic.Demographic.IncludedDemographics 
 exclusions

PopulationService.PopulationRule.Type

PopulationService.PopulationRule.ChildPopulations

PopulationService.PopulationRule.ReferencePopulation

osid.resource.demographic.Demographic.ExcludedDemographics 
 exclusive adds

PopulationService.PopulationRule.Type

PopulationService.PopulationRule.ChildPopulations

PopulationService.PopulationRule.ReferencePopulation

osid.resource.demographic.Demographic.IncludedExclusiveDemographics 
 groups

PopulationService.PopulationRule.Type

PopulationService.PopulationRule.Groups

osid.resource.demographic.Demographic.IncludedResources 
 intersecting

PopulationService.PopulationRule.Type

PopulationService.PopulationRule.ChildPopulations

osid.resource.demographic.Demographic.IncludedIntersectingDemographics 
 individual people

PopulationService.PopulationRule.Type

PopulationService.PopulationRule.Persons

osid.resource.demographic.Demographic.IncludedResources 
 group exclusions

PopulationService.PopulationRule.Type

PopulationService.PopulationRule.Groups

osid.resource.demographic.Demographic.ExcludedResources 
 individual exclusions

PopulationService.PopulationRule.Type

PopulationService.PopulationRule.Persons

osid.resource.demographic.Demographic.ExcludedResources 
 rule-basedPopulationService.PopulationRule.Ruleosid.resource.demographic.Demographic.Rule 
 search criteria rulePopulationService.PopulationRule.SearchCriteriaosid.resource.Demographic.CriteriaDemographicRecord 
 sorting optionsPopulationService.Population.SortOrderTypesosid.resource.Demographic.SortingDemographicRecord 
process ProcessServiceosid.rules.Check 
 checks applied to populationProcessService.Instruction.AppliedPopulationosid.rules.Instruction.Demographic 
 checks applied to recurring time periodProcessService.Instruction.AppliedAtpTypes

osid.rules.Instruction.Event

osid.rules.Instruction.CyclicEvent

osid.rules.Instruction.Schedule

osid.rules.Instruction.StartingTimePeriod

osid.rules.Instruction.EndingTimePeriod

 
 check type acknowledgement

ProcessService.Check.Type

ProcessService.Check.Attributes

osid.rules.Check.IsInquiryCheck

osid.rules.Check.InquiryCheckAudit

 
 check type child process

ProcessService.Check.Type

ProcessService.Check.ChildProcess

osid.rules.Check.IsProcessCheck

osid.rules.Check.ProcessCheckAgenda

 
 check type comparison

ProcessService.Check.Type

ProcessService.Check.RightComparisonValue

ProcessService.Check.RightComparisonRule

ProcessService.Check.LeftComparisonRule

 osid.rules.Check.ComparisonCheckRecord 
 check type deadline

ProcessService.Check.Type

ProcessService.Check.Milestone

osid.rules.Check.IsCheckByDate

osid.rules.Check.TimeCheckStartDate

osid.rules.Check.TimeCheckEndDate

This can be a date range.
 check.type.failProcessService.Check.Typeosid.rules.Check.IsFailCheck 
 check type hold

ProcessService.Check.Type

ProcessService.Check.HoldIssue

osid.rules.Check.IsHoldCheck

osid.rules.Check.HoldCheckBlock

 
 check type in date range

ProcessService.Check.Type

ProcessService.Check.Milestone

osid.rules.Check.IsCheckByDate

osid.rules.Check.TimeCheckStartDate

osid.rules.Check.TimeCheckEndDate

 
 check type in date range rule based

ProcessService.Check.Type

ProcessService.Check.Rule

osid.rules.Check.Event 
 check type in date range recurring

ProcessService.Check.Type

ProcessService.Check.Rule

osid.rules.Check.CyclicEvent 
 check type not before date

ProcessService.Check.Type

ProcessService.Check.Milestone

osid.rules.Check.IsCheckByDate

osid.rules.Check.TimeCheckStartDate

osid.rules.Check.TimeCheckEndDate

This is a date range with an infinite end date.
 check type outside date range

ProcessService.Check.Type

ProcessService.Check.Milestone

osid.rules.Check.OutsideDateRangeCheckRecordThis is a negative check.
 check type rule

ProcessService.Check.Type

ProcessService.Check.Rule

osid.rules.Check.Rule 
 continue on failProcess.Instruction.ContinueOnFailosid.rules.Instruction.ContinueOnFail 
 warningsProcess.Instruction.IsWarningosid.rules.Instruction.IsWarning 
proposal ProposalServiceosid.trackingosid.tracking is geared toward a CRM and is loosely coupled with osid.workflow and osid.process
 expirationProposalService.Proposal.ExpirationDateosid.tracking.Issue.EndDate 
 rationaleProposalService.Proposal.Rationaleosid.tracking.Description 
 workflowProposalService.Proposal.Workflowosid.workflow 
relationshiprelate things osid.relationshipKS defines abstract relationships for CLUs and LUIs.
repository DocumentServiceosid.repositoryKS simply attaches files to objects.
 attributionsDocumentService.Document.Attributes

osid.repository.Asset.PrincipalCredits

osid.acknowledgement.Credit

 
 compositions 

osid.repository.Asset.IsComposition

osid.repository.Composition

 
 content/format variance osid.repository.AssetContent 
 creationDocumentService.Document.Attributes

osid.repository.Asset.Source

osid.repository.Asset.CreatedDate

 
 data accessDocumentService.Document.DocumentBinaryosid.repository.AssetContent.Data 
 effective dating

DocumentService.Document.EffectiveDate

DocumentService.Document.ExpirationDate

osid.journaling.JournalEntry 
 file accessDocumentService.Document.FileNameosid.repository.AssetContent.URL 
 IPDocumentService.Document.Attributes

osid.repository.Asset.IsPublicDomain

osid.repository.Asset.Copyright

osid.repository.Asset.CopyrightRegistration

osid.repository.Asset.CanDistributeVerbatim

osid.repository.Asset.CanDistributeAlterations

osid.repository.Asset.CanDistributeCompositions

osid.repository.Asset.License

 

 

 
 nameDocumentService.Document.Name

osid.repository.Asset.DisplayName

osid.repository.Asset.Title

 
 object attachmentDocumentService.RefDocRelation OSIDs: reference to Assets from other end
 provider chainDocumentService.Document.Attributesosid.repository.Asset.ProviderLinks 
 published statusDocumentService.Document.Attributesosid.repository.Asset.PublishedDate 
 spatial coverageDocumentService.Document.Attributesosid.repository.AssetSpatialSession 
 temporal coverageDocumentService.Document.Attributesosid.repository.AssetTemporalSession 
room RoomServiceosid.room 
 buildingRoomService.Buildingosid.room.Building 
 building address location

RoomService.Building.Attributes

osid.room.Building.Address 
 building areaRoomService.Building.Attributesosid.room.Building.GrossArea 
 building construction osid.room.construction.Project 
 building name/code

RoomService.Building.Name

RoomService.Building.BuildingCode

osid.room.Building.DisplayName

osid.room.Building.OfficialName

osid.room.Building.Number

 
 building responsibility osid.room.squatting.Deed 
 building spatial unit osid.mapping.Location.SpatialUnit 
 building subdivisions osid.room.Building.Subdivisions 
 floor osid.room.Floor 
 floor area osid.room.Floor.GrossArea 
 partitionsRoomService.Partitionosid.room.Campus 
 roomRoomService.Roomosid.room.Room 
 room areaRoomService.Room.Attributesosid.room.Room.Area 
 room capacityRoomService.Room.RoomUsageosid.room.Room.OccupancyLimit 
 room construction 

osid.room.construction.Renovation

 
 room featuresRoomService.Room.RoomFixedResourcesosid.room.Room.Resources 
 room inventory osid.inventory.Item 
 room name/code

RoomService.Room.Name

RoomService.Room.RoomCode

osid.room.Room.DisplayName

osid.room.Room.DesignatedName

osid.room.Room.Code

 
 room responsibilityRoomService.RoomResponsibleOrgosid.room.squatting.Lease 
 spatial units osid.mapping.Location.SpatialUnit 
 room subdivisions osid.room.Room.Subdivisions 
scheduling SchedulingServiceosid.calendaring 
 time slotsSchedulingService.TimeSlotosid.calendaring.ScheduleSlot 
 time slot recurring weekdaysSchedulingService.TimeSlot.Weekdaysosid.calendaring.ScheduleSlot.Weekdays 
 time slot recurring weekday timeSchedulingService.TimeSlot.StartTimeosid.calendaring.ScheduleSlot.WeekdayTime 
 time slot recurring weekday time durationSchedulingService.TimeSlot.EndTimeosid.calendaring.ScheduleSlot.Duration 
 time slot recurring week of monthSchedulingService.TimeSlot.Attributesosid.calendaring.ScheduleSlot.WeekOfMonth 
 time slot fixed intervalSchedulingService.TimeSlot.Attributesosid.calendaring.ScheduleSlot.FixedInterval 
 composite time slots osid.calendaring.ScheduleSlot.ScheduleSlots 
 schedulesSchedulingService.Scheduleosid.calendaring.ScheduleKS combines concepts from OSID Schedule and OSID RecurringEvent.
 schedule ad hoc date rangesSchedulingService.Schedule.Attributes

osid.calendaring.Schedule.ScheduleStart

osid.calendaring.Schedule.ScheduleEnd

 
 schedule additional meeting timesSchedulingService.Schedule.AdditionalMeetingTimesosid.calendaring.RecurringEvent.SpecificMeetingTimes 
 schedule additional events osid.calendaring.RecurringEvent.Events 
 schedule blackout datesSchedulingService.Schedule.BlackoutDates

osid.calendaring.Schedule.TimePeriod.Exceptions

osid.calendaring.RecurringEvent.Blackouts

 
 schedule bounded by time periodSchedulingService.Schedule.Atposid.calendaring.Schedule.TimePeriod 
 schedule combiningSchedulingService.Schedule.ScheduleComponentosid.calendaring.RecurringEvent.Schedules 
 schedule limit occurrencesSchedulingService.Schedule.Attributesosid.calendaring.Schedule.Limit 
 schedule roomSchedulingService.Schedule.ScheduleComponent.Roomosid.calendaring.Schedule.Location  
 schedule location arbitrarySchedulingService.Schedule.ScheduleComponent.Attributeosid.calendaring.Schedule.Location  
 schedule superseding events osid.calendaring.RecurringEvent.SupersedingEvents 
 schedule TBASchedulingService.Schedule.ScheduleComponent.IsTBA

osid.calendaring.Schedule.ScheduleSlot (unknown)

osid.calendaring.Schedule.Location (unknown)

 
schedule requestpreferencesSchedulingService.ScheduleRequest  
 request submissionSchedulingService.ScheduleTransaction  
 request constraintsSchedulingService.ScheduleTransactionGroup  
searchan abstract service to search arbitrary stuff and get arbitrary resultsSearchServiceosid.search 
sequencingan auxiliary service for ordering things osid.sequencing 
state StateServiceosid.processKS has one state per entity.
 lifecycle managementStateService.Lifecycleosid.process.Process 
 state constraint managementStateService.StateConstraint  
 state propagation managementStateService.StatePropagation  
statementauthoring rules for evaluationStatementService KS ditched this.
tagging TagServiceosid.ontology 
 hierarchical tags osid.ontology.Subject 
time AtpServiceosid.calendaring 
 timeTimeOfDayosid.calendaring.TimeOSIDs have arbitrary granularity.
 date/timejava.util.Dateosid.calendaring.DateTimeOSIDs have arbitrary granularity. KS has an all day flag in Milestone.
 durationDateRangeosid.calendaring.DurationOSIDs have arbitrary granularity.
 eventsAtpService.Milestoneosid.calendaring.Event 
 event commitments osid.calendaring.Commitment 
 event locationsAtpService.Milestone.Attributesosid.calendaring.Event.Location 
 event sponsorsAtpService.Milestone.Attributesosid.calendaring.Event.Sponsors 
 cyclic events osid.calendaring.cycle.CyclicEvent 
 rule-based offset eventsAtpService.Milestone.RelativeAnchorMilestoneosid.calendaring.OffsetEvent 
 recurring events osid.calendaring.RecurringEvent 
 superseding events osid.calendaring.SupersedingEvent 
 time periodsAtpService.Atposid.calendaring.TimePeriod 
 time period codeAtpService.Atp.Codeosid.calendaring.TimePeriod.CodeTimePeriodRecord 
 time period blackout datesAtpService.Milestoneosid.calendaring.TimePeriod.Exceptions 
 cyclic time periodsAtpService.Atp.Typeosid.calendaring.cycle.CyclicTimePeriod 
 time period orgsAtpService.Atp.AdminOrgosid.calendaring.Calendar 
 calendars

AtpService.Atp

AtpService.AtpAtpRelation

osid.calendaring.Calendar 
type TypeServiceosid.type 
 description

TypeService.Type.Name

TypeService.Type.Description

osid.type.Type.DisplayName

osid.type.Type.DisplayLabel

osid.type.Type.Description

 
 effective dating

TypeService.Type.EffectiveDate

TypeService.Type.ExpirationDate

 OSIDs do not model identifiers as being transient.
 equivalent typesTypeService.TypeTypeRelation.Typeosid.type.Type 
 hierarchical typesTypeService.TypeTypeRelation.Typeosid.type.Type 
 relationshipsTypeService.TypeTypeRelation

osid.type.Type

 

 
versioning VersionManagementServiceosid.journaling 
 branching osid.journaling.Branch 
 loggingVersionManagementService.Versionosid.journaling.JournalEntry 
workflow rice

osid.workflow

osid.process

osid.rules.check

osid.resourcing

osid.tracking

 
  • No labels