Upload
barry-richardson
View
221
Download
0
Tags:
Embed Size (px)
Citation preview
Bridging SakaiBridging Sakaiand the SISand the SIS
Sakai’s Integration Strategy
• The Group Provider– Benefits
• Simple› In which groups is user X a member?› Who are the members of group Y?
• Flexible› Can add custom business rules› Can federate among a variety of external sources
Sakai’s Integration Strategy
• The Group Provider (continued)– Limitations
• Simple› No relationship between or among external “groups”› Provides only member roles, nothing else
• Flexible› Any additional capabilities must be coded rather than
configured
Overcoming the Limitations
• Course Management Service– Provides data needed by the GroupProvider
• In which groups is user X a member?• Who are the members of group Y?
– Provides data missing in the GroupProvider• Models relationships between external “groups”• Provides enrollment status, credits, grading
options, etc. in addition to roles
Course Management• Models course structures & memberships
– CourseSet• a college, school, dept, etc
– Academic Session• a semester, quarter, term, etc
– Canonical Course• a course definition
– Course Offering• a course offered in an academic session
– Course Section• a group of teachers and students that meets someplace
– Enrollment Set• a group of enrollments and instructors that shows up on transcripts
CM impl. of the Group Provider
• Provides hierarchical memberships– Resolves roles in higher level structures– Resolves roles based on enrollment status– Resolves roles based on instructor status
CM impl. of the Group Provider (continued)
CM impl. of the Group Provider (continued)
<bean class=“...SectionRoleResolver"><property name="roleMap">
<map><entry key="I" value="Instructor" /><entry key="S" value="Student" /><entry key="GSI" value="Teaching Assistant"/>
</map></property><property name="officialInstructorRole" value="Instructor" /><property name="enrollmentStatusRoleMap">
<map><entry key="enrolled" value="Student" /><entry key="waitlisted" value="Student" />
</map></property>
</bean>
CM impl. of the Group Provider (continued)
CM impl. of the Group Provider (continued)
<bean class=“...CourseOfferingRoleResolver">
<property name="roleMap">
<map>
<entry key="CourseAdmin“ value="Instructor" />
<entry key="I" value="Instructor" />
</map>
</property>
</bean>
CM impl. of the Group Provider (continued)
CM impl. of the Group Provider (continued)
<bean class=“...CourseSetRoleResolver">
<property name="roleMap">
<map>
<entry key="DeptAdmin" value="Instructor" />
</map>
</property>
</bean>
Next Steps• Hidden Roles• Integrating CM into tools (gradebook, section info, roster)• Improving CM documentation and support
Getting Involved
• Integrate your SIS with Sakai via CM– XML feed + Quartz Job– Batch sync with CM Admin API– JDBC Impl
• Participate in the CM Working Group
• Contact me w/ questions later– [email protected]
• Ask questions now