Bridging Sakai and the SIS. Sakai’s Integration Strategy The Group Provider –Benefits Simple...

Preview:

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– jholtzman@berkeley.edu

• Ask questions now