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 directly | feature maps directly |
feature maps using an OBA such as Type agreement or service orchestration | feature maps directly |
feature maps directly | feature maps using an OBA such as Type agreement or service orchestration |
feature maps using an OBA such as Type agreement or service orchestration | feature maps using an OBA such as Type agreement or service orchestration |
awkward alignment due to questionable feature or design better addressed here | awkward alignment due to design deficiency better addressed by the other guy |
awkward alignment due to design deficiency better addressed by the other guy | awkward alignment due to questionable feature or design better addressed here |
awkward alignment due to design deficiency not directly addressed here | questionable feature or design can be mimicked using an OBA |
questionable feature or design can be mimicked using an OBA | awkward alignment due to design deficiency not directly addressed here |
poor alignment due to design deficiency | poor alignment due to design deficiency |
mapping not possible or requires significant contortions | n/a |
n/a | mapping not possible or requires significant contortions |
mapping not possible or requires significant contortions | n/a |
n/a | mapping not possible or requires significant contortions |
mapping not possible or requires significant contortions | n/a |
n/a | mapping 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.
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
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.
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.Attributes | osid.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.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.course.program.Program | 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.course.program.Program | 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.course.program.Program | program hierarchy | |
minors | ProgramService.MinorDiscipline | osid.course.program.Program | 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.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 | ||
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.Attributes | osid.course.registration.RegistrationTarget.Credits osid.course.registration.RegistrationTarget.GradingOptions | ||
Program Offering | ProgramOfferingService | osid.course.program | KS 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 |
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 | ||
Program Enrollment | ProgramEnrollmentService | osid.course.program.Enrollment |
Modeling Support | Feature | KS | OSID | Comments |
---|---|---|---|---|
Academic Calendar | AcademicCalendarService.AcademicCalendar | osid.calendaring.Calendar | KS hardens calendars and links to orgs. In OSIDs, this would be an arrangement of Calendars. | |
Academic Event | AcademicCalendarService.AcalEvent | osid.calendaring.Event | ||
Holiday Calendar | AcademicCalendarService.HolidayCalendar | osid.calendaring.Calendar | ||
Holiday | AcademicCalendarService.Holiday | osid.calendaring.Event | ||
Term | AcademicCalendarService.Term | osid.course.Term | ||
code | AcademicCalendarService.Term.Code | osid.course.Term.DisplayLabel | ||
open date | AcademicCalendarService.Term.StartDate | osid.course.Term.OpenDate | ||
registration period | AcademicCalendarService.KeyDate | osid.course.Term.RegistrationStart osid.course.Term.RegistrationEnd | ||
class period | AcademicCalendarService.KeyDate | osid.course.Term.ClassesStart osid.course.Term.ClassesEnd | ||
add date | AcademicCalendarService.KeyDate | osid.course.Term.AddDate | ||
drop date | AcademicCalendarService.KeyDate | osid.course.Term.DropDate | ||
final exam period | AcademicCalendarService.ExamPeriod | osid.course.Term.FinalExamPeriod | ||
close date | AcademicCalendarService.Term.EndDate | osid.course.Term.CloseDate | ||
hierarchical terms | AcademicCalendarService.termhierarchystuff | osid.course.TermHierarchySession |
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 | acknowledging a credit or role for something | osid.acknowledgement | ||
appointment | AppointmentService | osid.calendaring | not really an OBA, but the mapping between the appointment-centric and calendar-centric views require some creativity | |
appointment rule setup | AppointmentService.AppointmentWindow | osid.calendaring.RecurringEvent | ||
appointment slots | AppointmentService.AppointmentSlot | osid.calendaring.Event | ||
individual appointments | AppointmentService.Appointment | osid.calendaring.Commitment | ||
authentication | rice | osid.authentication | ||
agents/principals | IdentityService.Principal | osid.authentication.Agent | ||
key management | IdentityService.Principal.Password | osid.authentication.keys.Key | ||
authentication process | osid.authenication.process | |||
authorization | checking and managing authorizations | rice | osid.authorization | |
cataloging | organizing things | osid.cataloging | in-band orchestration throughout OSIDs | |
commenting | annotating things | CommentService | osid.commenting | |
communication | messaging to service consumers (concierge) | osid.communication | KS defines in-band messages where needed | |
configuration | rule-based config service | GESService | osid.configuration | |
contact | managing contacts for things | ContactService | osid.contact | |
enumeration | EnumerationManagementService | osid.ontology | This 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. | |
exemption | exemptions to process checks | ExemptionService | osid.communication osid.tracking osid.logging | |
hold | HoldService | osid.hold | ||
canonical issue | HoldService.HoldIssue | osid.hold.Issue | ||
issue organization | HoldService.HoldIssue.Organization | osid.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.TermHoldRecord | term-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 holds | ProcessService | osid.hold.Block | ||
logging | LoggingService | osid.logging | ||
reading log entries | LoggingService.LogEntry | osid.logging.LogEntry | ||
writing log entries | LoggingService.LogEntry | osid.logging.LogEntry | ||
log entry principal | LoggingService.LogEntry.Principal | osid.logging.LogEntry.Agent | ||
log entry timestamp | LoggingService.LogEntry.Timestamp | osid.logging.LogEntry.Timestamp | ||
log entry level | LoggingService.LogEntry.LogLevel | osid.logging.LogEntry.Priority | ||
log minimum level | LoggingService.Log.LevelType | osid.logging.Log*osid.logging.LogEntry.Priority | ||
messaging | sending and receiving user messages | UserMessagingService | osid.messaging | |
message channels and connection to contacts | UserMessagingService.MessageCategory | osid.messaging.Mailbox | ||
message templates | UserMessagingService.Template | osid.repository.Asset | ||
receipt tracking | osid.messaging.Receipt | |||
organization | OrganizationService | osid.personnel | ||
appointment | OrganizationService.OrgPersonRelation | osid.personnel.Appointment | KS doesn't link to org position. | |
appointment commitment | OrganizationService.OrgPersonRelation.Attributes | osid.personnel.Appointment.Commitment | ||
appointment salary | OrganizationService.OrgPersonRelation.Salary | osid.personnel.Appointment.Salary osid.personnel.Appointment.SalaryBasis | ||
appointment title | OrganizationService.OrgPersonRelation.Title | osid.personnel.Appointment.Title | ||
org codes | OrganizationService.Org.OrgCodes | osid.personnel.Organization.CodeOrganizationRecord osid.ontology.Subject | ||
org hierarchy | OrganizationService.OrgHierarchy | osid.personnel.OrganizationHierarchySession | ||
org positions | OrganizationService.OrgPositionRestriction | osid.personnel.Position | ||
org position benefits | OrganizationService.OrgPositionRestriction.Attributes | osid.personnel.Position.BenefitsType | ||
org position capacity | OrganizationService.OrgPositionRestriction.MinNumRelations OrganizationService.OrgPositionRestriction.MaxNumRelations | osid.personnel.Position.TargetCommitments | ||
org position commitment required | OrganizationService.OrgPositionRestriction.Attributes | osid.personnel.Position.RequiredCommitment | ||
org position compensation | OrganizationService.OrgPositionRestriction.Attributes | osid.personnel.Position.LowSalaryRange osid.personnel.Position.MidpointSalaryRange osid.personnel.Position.HighSalaryRange | ||
org position compensation frequency | OrganizationService.OrgPositionRestriction.Attributes | osid.personnel.Position.CompensationFrequency | ||
org position exempt status | OrganizationService.OrgPositionRestriction.Attributes | osid.personnel.Position.IsExempt | ||
org position level | OrganizationService.OrgPositionRestriction.Attributes | osid.personnel.Position.Level | ||
org position qualifications | OrganizationService.OrgPositionRestriction.Attributes | osid.personnel.Position.Qualifications | LOs | |
org position title | OrganizationService.OrgPositionRestriction.Title | osid.personnel.Position.Title | ||
org relationships | OrganizationService.OrgOrgRelation | osid.relationship (non hierarchical) | ||
org short name | OrganizationService.Org.ShortName | osid.personnel.Organization.DisplayLabel | ||
org short description | OrganizationService.Org.ShortDescr | osid.personnel.Organization.DescriptionOrganizationRecord | ||
person | PersonService | osid.personnel | ||
managing people | PersonService.Person | osid.personnel.Person | OSIDs reference people via Resource | |
date birth | PersonService.PersionBioDemographics.BirthDate | osid.personnel.Person.BirthDate | ||
date deceased | PersonService.PersionBioDemographics.DeceasedDate | osid.personnel.Person.DeathDate | ||
gender | PersonService.PersionBioDemographics.GenderCode | osid.personnel.Person.GenderPersonRecord | ||
institutional identifier primary | PersonService.PersonIdentifier | osid.personnel.Person.InstitutionalIdentifier | ||
institutional identifier others | PersonService.PersonIdentifier | osid.id.Id | ||
name changed date | PersonService.Person.NameChangedDate | osid.journaling.JournalEntry | ||
name composite | PersonService.Person.CompositeName | osid.personnel.Person.DisplayName | OSIDs may map display name to preferred name depending on context. | |
name generation qualifier | PersonService.Person.NameSuffix | osid.personnel.Person.GenerationQualifier | ||
name forename aliases | PersonService.Person.Attributes | sid.personnel.Person.ForenameAliases | ||
name given | PersonService.Person.FirstName | osid.personnel.Person.GivenName | ||
name middle | PersonService.Person.MiddleName | osid.personnel.Person.MiddleNames | ||
name preferred | PersonService.Person.Attributes | osid.personnel.Person.PreferredName | ||
name prefix | PersonService.Person.NamePrefix | osid.personnel.Person.Salutation | ||
name suffix | PersonService.Person.NameTitle | osid.personnel.Person.QualificationSuffix | ||
name surname | PersonService.Person.LastName | osid.personnel.Person.Surname | ||
name surname aliases | PersonService.Person.Attributes | osid.personnel.Person.SurnameAliases | ||
support for multiple agents | PersonService.PersonIdentifier | osid.resource.ResourceAgentSession | ||
populations | PopulationService | osid.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-based | PopulationService.PopulationRule.Rule | osid.resource.demographic.Demographic.Rule | ||
search criteria rule | PopulationService.PopulationRule.SearchCriteria | osid.resource.Demographic.CriteriaDemographicRecord | ||
sorting options | PopulationService.Population.SortOrderTypes | osid.resource.Demographic.SortingDemographicRecord | ||
process | ProcessService | osid.rules.Check | ||
checks applied to population | ProcessService.Instruction.AppliedPopulation | osid.rules.Instruction.Demographic | ||
checks applied to recurring time period | ProcessService.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.fail | ProcessService.Check.Type | osid.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.OutsideDateRangeCheckRecord | This is a negative check. | |
check type rule | ProcessService.Check.Type ProcessService.Check.Rule | osid.rules.Check.Rule | ||
continue on fail | Process.Instruction.ContinueOnFail | osid.rules.Instruction.ContinueOnFail | ||
warnings | Process.Instruction.IsWarning | osid.rules.Instruction.IsWarning | ||
proposal | ProposalService | osid.tracking | osid.tracking is geared toward a CRM and is loosely coupled with osid.workflow and osid.process | |
expiration | ProposalService.Proposal.ExpirationDate | osid.tracking.Issue.EndDate | ||
rationale | ProposalService.Proposal.Rationale | osid.tracking.Description | ||
workflow | ProposalService.Proposal.Workflow | osid.workflow | ||
relationship | relate things | osid.relationship | KS defines abstract relationships for CLUs and LUIs. | |
repository | DocumentService | osid.repository | KS simply attaches files to objects. | |
attributions | DocumentService.Document.Attributes | osid.repository.Asset.PrincipalCredits osid.acknowledgement.Credit | ||
compositions | osid.repository.Asset.IsComposition osid.repository.Composition | |||
content/format variance | osid.repository.AssetContent | |||
creation | DocumentService.Document.Attributes | osid.repository.Asset.Source osid.repository.Asset.CreatedDate | ||
data access | DocumentService.Document.DocumentBinary | osid.repository.AssetContent.Data | ||
effective dating | DocumentService.Document.EffectiveDate DocumentService.Document.ExpirationDate | osid.journaling.JournalEntry | ||
file access | DocumentService.Document.FileName | osid.repository.AssetContent.URL | ||
IP | DocumentService.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
| ||
name | DocumentService.Document.Name | osid.repository.Asset.DisplayName osid.repository.Asset.Title | ||
object attachment | DocumentService.RefDocRelation | OSIDs: reference to Assets from other end | ||
provider chain | DocumentService.Document.Attributes | osid.repository.Asset.ProviderLinks | ||
published status | DocumentService.Document.Attributes | osid.repository.Asset.PublishedDate | ||
spatial coverage | DocumentService.Document.Attributes | osid.repository.AssetSpatialSession | ||
temporal coverage | DocumentService.Document.Attributes | osid.repository.AssetTemporalSession | ||
room | RoomService | osid.room | ||
building | RoomService.Building | osid.room.Building | ||
building address location | RoomService.Building.Attributes | osid.room.Building.Address | ||
building area | RoomService.Building.Attributes | osid.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 | |||
partitions | RoomService.Partition | osid.room.Campus | ||
room | RoomService.Room | osid.room.Room | ||
room area | RoomService.Room.Attributes | 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 name/code | RoomService.Room.Name RoomService.Room.RoomCode | osid.room.Room.DisplayName osid.room.Room.DesignatedName osid.room.Room.Code | ||
room responsibility | RoomService.RoomResponsibleOrg | osid.room.squatting.Lease | ||
spatial units | osid.mapping.Location.SpatialUnit | |||
room subdivisions | osid.room.Room.Subdivisions | |||
scheduling | SchedulingService | osid.calendaring | ||
time slots | SchedulingService.TimeSlot | osid.calendaring.ScheduleSlot | ||
time slot recurring weekdays | SchedulingService.TimeSlot.Weekdays | osid.calendaring.ScheduleSlot.Weekdays | ||
time slot recurring weekday time | SchedulingService.TimeSlot.StartTime | osid.calendaring.ScheduleSlot.WeekdayTime | ||
time slot recurring weekday time duration | SchedulingService.TimeSlot.EndTime | osid.calendaring.ScheduleSlot.Duration | ||
time slot recurring week of month | SchedulingService.TimeSlot.Attributes | osid.calendaring.ScheduleSlot.WeekOfMonth | ||
time slot fixed interval | SchedulingService.TimeSlot.Attributes | osid.calendaring.ScheduleSlot.FixedInterval | ||
composite time slots | osid.calendaring.ScheduleSlot.ScheduleSlots | |||
schedules | SchedulingService.Schedule | osid.calendaring.Schedule | KS combines concepts from OSID Schedule and OSID RecurringEvent. | |
schedule ad hoc date ranges | SchedulingService.Schedule.Attributes | osid.calendaring.Schedule.ScheduleStart osid.calendaring.Schedule.ScheduleEnd | ||
schedule additional meeting times | SchedulingService.Schedule.AdditionalMeetingTimes | osid.calendaring.RecurringEvent.SpecificMeetingTimes | ||
schedule additional events | osid.calendaring.RecurringEvent.Events | |||
schedule blackout dates | SchedulingService.Schedule.BlackoutDates | osid.calendaring.Schedule.TimePeriod.Exceptions osid.calendaring.RecurringEvent.Blackouts | ||
schedule bounded by time period | SchedulingService.Schedule.Atp | osid.calendaring.Schedule.TimePeriod | ||
schedule combining | SchedulingService.Schedule.ScheduleComponent | osid.calendaring.RecurringEvent.Schedules | ||
schedule limit occurrences | SchedulingService.Schedule.Attributes | osid.calendaring.Schedule.Limit | ||
schedule room | SchedulingService.Schedule.ScheduleComponent.Room | osid.calendaring.Schedule.Location | ||
schedule location arbitrary | SchedulingService.Schedule.ScheduleComponent.Attribute | osid.calendaring.Schedule.Location | ||
schedule superseding events | osid.calendaring.RecurringEvent.SupersedingEvents | |||
schedule TBA | SchedulingService.Schedule.ScheduleComponent.IsTBA | osid.calendaring.Schedule.ScheduleSlot (unknown) osid.calendaring.Schedule.Location (unknown) | ||
schedule request | preferences | SchedulingService.ScheduleRequest | ||
request submission | SchedulingService.ScheduleTransaction | |||
request constraints | SchedulingService.ScheduleTransactionGroup | |||
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 | StateService | osid.process | KS has one state per entity. | |
lifecycle management | StateService.Lifecycle | osid.process.Process | ||
state constraint management | StateService.StateConstraint | |||
state propagation management | StateService.StatePropagation | |||
statement | authoring rules for evaluation | StatementService | KS ditched this. | |
tagging | TagService | osid.ontology | ||
hierarchical tags | osid.ontology.Subject | |||
time | AtpService | osid.calendaring | ||
time | TimeOfDay | osid.calendaring.Time | OSIDs have arbitrary granularity. | |
date/time | java.util.Date | osid.calendaring.DateTime | OSIDs have arbitrary granularity. KS has an all day flag in Milestone. | |
duration | DateRange | osid.calendaring.Duration | OSIDs have arbitrary granularity. | |
events | AtpService.Milestone | osid.calendaring.Event | ||
event commitments | osid.calendaring.Commitment | |||
event locations | AtpService.Milestone.Attributes | osid.calendaring.Event.Location | ||
event sponsors | AtpService.Milestone.Attributes | osid.calendaring.Event.Sponsors | ||
cyclic events | osid.calendaring.cycle.CyclicEvent | |||
rule-based offset events | AtpService.Milestone.RelativeAnchorMilestone | osid.calendaring.OffsetEvent | ||
recurring events | osid.calendaring.RecurringEvent | |||
superseding events | osid.calendaring.SupersedingEvent | |||
time periods | AtpService.Atp | osid.calendaring.TimePeriod | ||
time period code | AtpService.Atp.Code | osid.calendaring.TimePeriod.CodeTimePeriodRecord | ||
time period blackout dates | AtpService.Milestone | osid.calendaring.TimePeriod.Exceptions | ||
cyclic time periods | AtpService.Atp.Type | osid.calendaring.cycle.CyclicTimePeriod | ||
time period orgs | AtpService.Atp.AdminOrg | osid.calendaring.Calendar | ||
calendars | AtpService.Atp AtpService.AtpAtpRelation | osid.calendaring.Calendar | ||
type | TypeService | osid.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 types | TypeService.TypeTypeRelation.Type | osid.type.Type | ||
hierarchical types | TypeService.TypeTypeRelation.Type | osid.type.Type | ||
relationships | TypeService.TypeTypeRelation | osid.type.Type
| ||
versioning | VersionManagementService | osid.journaling | ||
branching | osid.journaling.Branch | |||
logging | VersionManagementService.Version | osid.journaling.JournalEntry | ||
workflow | rice | osid.workflow osid.process osid.rules.check osid.resourcing osid.tracking |