+ All Categories
Home > Documents > Snapshot Integration Basics Kevin Corcoran Connecticut Distance Learning Consortium .

Snapshot Integration Basics Kevin Corcoran Connecticut Distance Learning Consortium .

Date post: 30-Mar-2015
Category:
Upload: elliot-purdom
View: 216 times
Download: 2 times
Share this document with a friend
Popular Tags:
29
Snapshot Integration Basics Kevin Corcoran Connecticut Distance Learning Consortium http://www.ctdlc.org
Transcript
Page 1: Snapshot Integration Basics Kevin Corcoran Connecticut Distance Learning Consortium .

Snapshot Integration Basics

Kevin CorcoranConnecticut Distance Learning Consortium

http://www.ctdlc.org

Page 2: Snapshot Integration Basics Kevin Corcoran Connecticut Distance Learning Consortium .

Obligatory Slide: Who Am I & Why Should You Listen To Me

CTDLC: Connecticut Distance Learning Consortium

• CT State Agency providing eLearning Services to K-20

for past 12 years

• Hosting, Remote Management, Consulting, Integration,

Block Development, Instructional Design, Help Desk

• Experience supporting Angel, Blackboard, D2L,

Moodle, and Sakai as well as integrating Banner,

Datatel, and Jenzabar to Bb

• Developed the collaborative online tutoring program

called eTutoring.org that serves over 100 institutions

nationally

Page 3: Snapshot Integration Basics Kevin Corcoran Connecticut Distance Learning Consortium .

Administrative Challenges

• Managing Course Creation

• Managing User Creation

• Managing Enrollment/Add/Drop

• Managing Cross-listed Courses

• Managing Branding/Content Copying

• Managing Archive/Removal

Page 4: Snapshot Integration Basics Kevin Corcoran Connecticut Distance Learning Consortium .

The Value of Snapshot

• Automated Processes

– Users– Courses– Enrollments / Assignements

• Deliver Customized Content Based On Bb Role

• Brand Bb To Match Your Campus Identity

Page 5: Snapshot Integration Basics Kevin Corcoran Connecticut Distance Learning Consortium .

Snapshot Concept

Data Extracts

•Users•Courses•Enrollments

SIS

Data Transfer

•Timing•Frequency

S/FTP

Data Processing

•Controller•Properties•Frequency

Blackboard

Page 6: Snapshot Integration Basics Kevin Corcoran Connecticut Distance Learning Consortium .

Integration Methods

• Flat File

– Multiple file method– Each file serves a function– Greater flexibility

• IMS Enterprise XML

– Single XML file– Combined user, course, enrollment management– Based on IMS standards

• Real Time Data Exchange

– Event based data exchange

Page 7: Snapshot Integration Basics Kevin Corcoran Connecticut Distance Learning Consortium .

Sample SIS Query

select REPLACE(course.coursecode, ' ', '') + courseoffering.session + CAST(courseoffering.sessionno AS nvarchar) +

CAST(courseoffering.termid AS nvarchar) AS EXTERNAL_COURSE_KEY, REPLACE(course.coursecode, ' ', '')

+ courseoffering.session + CAST(courseoffering.sessionno AS nvarchar) + CAST(courseoffering.termid AS

nvarchar) AS COURSE_ID, course.coursedescription AS COURSE_NAME, 'N' AS AVAILABLE_IND

from course, courseoffering, term

where courseoffering.session = 'O‘

AND courseoffering.statusid = 1

AND term.termid = courseoffering.termid

AND course.courseno = courseoffering.courseno

/*Pull courses 60 days prior to term begin date and stop 30 days after term start date*/

AND getDate() BETWEEN DATEADD(month, -2, term.termbegindate) AND DATEADD(month, 1,

term.termbegindate)

order by course.coursecode, courseoffering.sessionno

Page 8: Snapshot Integration Basics Kevin Corcoran Connecticut Distance Learning Consortium .

Sample Flat File Feeds

User Feed

EXTERNAL_PERSON_KEY|USER_ID|FIRSTNAME|LASTNAME|EMAIL|INSTITUTION_ROLE|PASSWD

kcorcoran|kcorcoran|Kevin|Corcoran|[email protected]|student|password

wburnes|wburnes|Bill|Burnes|[email protected]|student|password

Course Feed

COURSE_ID|EXTERNAL_COURSE_KEY|COURSE_NAME

AE000102|AE000102|Algebra I Fall 2006 Term 1 - Session 1

AE000103|AE000103|Algebra I Fall 2006 Term 2 - Session 2

Enrollment Feed

EXTERNAL_COURSE_KEY|EXTERNAL_PERSON_KEY|ROLE

AE000102|kcorcoran|student

AE000102|wburnes|student

Page 9: Snapshot Integration Basics Kevin Corcoran Connecticut Distance Learning Consortium .

Sample IMS Enterprise XML File

File Header

<?xml version="1.0" encoding="UTF-8"?>

<enterprise>

<properties>

<datasource>Institution SIS</datasource>

<datetime>2010-6-15T11:55:0</datetime></properties>

Page 10: Snapshot Integration Basics Kevin Corcoran Connecticut Distance Learning Consortium .

XML Person Record<person>

<sourcedid><source>Institution SIS</source><id>AStudent</id>

</sourcedid>

<userid>AStudent</userid>

<name><fn>Adam Student</fn><n>

<family>Student</family><given>Adam</given><suffix></suffix>

</n></name>

<email>[email protected]</email>

<extension> <X_BB_INSTITUTIONROLE>Student</X_BB_INSTITUTIONROLE></extension>

</person>

Page 11: Snapshot Integration Basics Kevin Corcoran Connecticut Distance Learning Consortium .

XML Group Record

<group>

<sourcedid><source>Institution SIS</source><id>1003118300230412</id>

</sourcedid>

<description><short>1003118300230412</short> <long>Introduction to Underwater Basket Weaving</long>

</description>

<timeframe><begin restrict = "0">2010-05-10</begin><end restrict = "0">2010-07-09</end>

</timeframe>

<extension><X_BB_GROUP_TYPE>0</X_BB_GROUP_TYPE><X_BB_DURATION>1</X_BB_DURATION>

</extension>

</group>

Page 12: Snapshot Integration Basics Kevin Corcoran Connecticut Distance Learning Consortium .

XML Membership Record

<membership>

<sourcedid><source>Institution SIS</source><id>1003118836909230</id>

</sourcedid>

<member>

<sourcedid><source>Institution SIS</source><id>AStudent</id></sourcedid>

<idtype>1</idtype>

<role roletype="01"><status>1</status>

</role>

</member>

</membership>

Page 13: Snapshot Integration Basics Kevin Corcoran Connecticut Distance Learning Consortium .

Data Source Management

• Data Source Keys

– Allows for multiple data collections

– Associates Snapshot processes to a data collection

– Differentiates automated processes from GUI/System

• DSM Tool

– Command line tool for creating keys

– Provides some global data collection functions

– Uses machine name and domain name

DSM –f CREATE –b Continuing_Education –V server.institution.edu

*Building Block available for fee from Bb

Page 14: Snapshot Integration Basics Kevin Corcoran Connecticut Distance Learning Consortium .

Snapshot Properties File

Properties File

# delimteter used for parsing snapshot filesdata.delimeter=|

# Used to denote datasource to use for operation.data.source.key=institution

# Determines character used to escape delimeterescape.character=^

# Snapshot controlled field settings for Blackboard override of data

# fields for course entitiesgroup.bb.controlled.fields=TEMPLATE_COURSE_KEY,TEMPLATE_ORGANIZATION_KEY,X_BB_TEMPLATEKEY,AVAILABLE_IND

# fields for student entitiesperson.bb.controlled.fields=PASSWD,EMAIL

# Designates flag to enable membership data without "private" data copying for configuration property filemembership.copy=N

# Designates flag to enable "private" membership data copying for configuration property file.membership.exact.copy=N

# Designates whether to delete existing gradebook data or keep it in the targetgradebook.clear=N

Page 15: Snapshot Integration Basics Kevin Corcoran Connecticut Distance Learning Consortium .

Sample Controller Code

'SET YOUR LOCAL SNAPSHOT FOLDER LOCATION - THIS IS WHERE YOUR SHAPSHOT FEED FILES RESIDE

sourceDir = "D:\bbsnapshot\“

'SET YOUR ARCHIVE FOLDER LOCATION - FOLDERS WILL BE CREATED WITH DATE/TIME STAMP

archiveDir = "D:\bbsnapshot\" & DatePart("m",currDate) & "_" & DatePart("d",currDate) & "_" & DatePart("yyyy",currDate) & "_" & DatePart("h",currDate) & "_" & DatePart("n",currDate)

For Each item in FileArray

If item = “students.txt" Then

If objFSO.FileExists(sourceDir&item) Then

'file exists

'Message = "found " & item & archiveDir

'MsgBox Message, vbInformation + vbOKOnly

set Wsshell = createobject("WScript.Shell")

Wsshell.run "D:\blackboard\apps\snapshot\bin\snapshot -f USR_MANUAL -C "&propDir&"snapshot.properties -t " &sourceDir&item&" -V bb.my.edu",1,TRUE

objFSO.MoveFile sourceDir&item,archiveDir&"\"&item

End If

End If

Page 16: Snapshot Integration Basics Kevin Corcoran Connecticut Distance Learning Consortium .

Execution Modes• Snapshot Mode (CRS_SNPSHT or XML_SNPSHT)

– The feed file is the master record

– Any records not contained within the file will be disabled within Blackboard

• Manual Mode (CRS_MANUAL or XML_MANUAL)

– Add/Update functionality

– Accounts will be disabled only if the record indicates it

• Remove Mode (CRS_REMOVE or XML_REMOVE)

– Data purge mode

– Only records contained in the file are processed

• Course Copy (CRS_ COPYINTO or XML_ COPYINTO)

– Specifies a source and destination course for content, enrollment, and/or settings to be migrated

Ex: Snapshot –f CRS_MANUAL –t c:\bbsnapshot\fallCourses.txt –C c:\bbsnapshot\

snapshot.properties –V servername.institution.edu

Page 17: Snapshot Integration Basics Kevin Corcoran Connecticut Distance Learning Consortium .

Error Logs

Invalid Text Files (Snapshot root)

Cannot insert duplicate key row in object 'dbo.course_users' with unique index 'course_users_ak1'.

Bb Logs (\\blackboard\logs\snapshot)

2010-07-09 12:10:19 - VL000184|ffd_tasker|student|disabled - blackboard.persist.PersistenceException: com.inet.tds.be: Msg 50000, Level 18, State 1, Procedure delete_cu_snap_proc, Line 18, Sqlstate 01000

[SQLBB5]Record does not exist.

at blackboard.admin.snapshot.persist.impl.SnapshotRemoveProcedureQuery.executeBatchQuery(SnapshotRemoveProcedureQuery.java:350)

at blackboard.admin.snapshot.persist.impl.SnapshotDbPersister.remove(SnapshotDbPersister.java:217)

at blackboard.admin.persist.course.impl.EnrollmentDbPersister.remove(EnrollmentDbPersister.java:152)

at blackboard.admin.snapshot.authority.Authority.delegatePersistence(Authority.java:678)

Page 18: Snapshot Integration Basics Kevin Corcoran Connecticut Distance Learning Consortium .

Suggested Integration Committee

• Registrar’s Office

• Student Information System Representative

• Academic Dean or decision maker

• Blackboard System Administrator

Page 19: Snapshot Integration Basics Kevin Corcoran Connecticut Distance Learning Consortium .

Business Rules To Consider

• Account Creation – Non-SIS accounts

• Manage Add/Drop - DISABLE vs. DELETE

• Respond to Financial or Administrative Holds

• Manage Incompletes

• Automation of Course Availability & Creation (blank or template generated shells)

• Cross-listed Courses

• Manage User Departure (transfer, resignation, etc)

• Deletes vs. Disables

• Workflow and Lifespan Policies around Users, Courses, & Enrollments

• Frequency of Data Flow

Page 20: Snapshot Integration Basics Kevin Corcoran Connecticut Distance Learning Consortium .

Sample Planning Guide - Courses

Availability:

• When will courses be made available to faculty?When will courses be made available to students?Do you wish to make the courses not available to students after the semester ends?If so, how many days after the end date?

Content:

• Will courses be generated from a template?If so, one template for all courses or a predictable algorithm for subjects?

Cancellation:

• How will you handle courses cancelled before the start date? (Unavailable vs. Delete)How will you handle courses cancelled after the start date? (Unavailable vs. Delete)

Archiving/Exporting:

• Do you want to archive or export your course content? (Archive vs. Export)If so, when do you want to process this?

Retention/Deletion:

• How long do you want to keep your courses on the Bb server?

Page 21: Snapshot Integration Basics Kevin Corcoran Connecticut Distance Learning Consortium .

Sample Planning Guide - Users

Creation:

• Will you be creating all your user accounts (faculty & students) or just actively enrolled users?

• When will users be created?

• How will you handle Non-SIS/Guest accounts?

Updating:

• What information do you want to update for users? (Email address? Password? Last name? User ID?)

Retention/Deletion:

• How long will you keep inactive user accounts?

How will you determine which accounts to remove? (Deletion vs. Disabling) 

Page 22: Snapshot Integration Basics Kevin Corcoran Connecticut Distance Learning Consortium .

Sample Planning Guide - Faculty

Assignments:

• When do you want faculty to have access to their course shells?

Drops:

• How do you want to handle a faculty assignment being changed? (Old

assigned faculty being dropped)

Page 23: Snapshot Integration Basics Kevin Corcoran Connecticut Distance Learning Consortium .

Sample Planning Guide - Students

Enrollments:

• When do you want students to have access to their courses?

When do you want to start processing enrollments?

Drops:

• How do you want to handle student drops? (Deletion vs. Disabling)

Page 24: Snapshot Integration Basics Kevin Corcoran Connecticut Distance Learning Consortium .

Sample Planning Guide – Secondary Roles

Secondary Institution Roles:

• Do you have a need to delivery role-based information within Blackboard?

(Student vs. Faculty)

Page 25: Snapshot Integration Basics Kevin Corcoran Connecticut Distance Learning Consortium .

Sample Process Outline

• Create courses -60 days from start date

• Copy content – 60 days from start date

• Faculty User Creation & Assignments – 30 days from start date

• Student User Creation & Enrollments – 10 days from start date

• Course made available to students – 4 days from start date

• Course made unavailable to students +10 days after end date

• Courses archived/exported + 12 days after end date

• Courses deleted from server + 365 days after start date

Page 26: Snapshot Integration Basics Kevin Corcoran Connecticut Distance Learning Consortium .

Future of Integration – XEI?

Page 27: Snapshot Integration Basics Kevin Corcoran Connecticut Distance Learning Consortium .

References

• Behind the Blackboard

– Advanced Integration and Data Management Guide

• IMS Enterprise XML Binding Specification

– http://www.imsglobal.org/enterprise/enbind03.html

Page 28: Snapshot Integration Basics Kevin Corcoran Connecticut Distance Learning Consortium .

Questions & Contact Information

Any Questions?

Any Brain Lock-up?

Contact Me:

Kevin [email protected]

Page 29: Snapshot Integration Basics Kevin Corcoran Connecticut Distance Learning Consortium .

Please provide feedback for this session by emailing [email protected]

The title of this session is:

Snapshot Integration Basics


Recommended