Presentation is loading. Please wait.

Presentation is loading. Please wait.

Snapshot Integration Basics Kevin Corcoran Connecticut Distance Learning Consortium

Similar presentations

Presentation on theme: "Snapshot Integration Basics Kevin Corcoran Connecticut Distance Learning Consortium"— Presentation transcript:

1 Snapshot Integration Basics Kevin Corcoran Connecticut Distance Learning Consortium

2 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 that serves over 100 institutions nationally

3 Administrative Challenges Managing Course Creation Managing User Creation Managing Enrollment/Add/Drop Managing Cross-listed Courses Managing Branding/Content Copying Managing Archive/Removal

4 The Value of Snapshot Automated Processes –Users –Courses –Enrollments / Assignements Deliver Customized Content Based On Bb Role Brand Bb To Match Your Campus Identity

5 Snapshot Concept Data Extracts Users Courses Enrollments SIS Data Transfer Timing Frequency S/FTP Data Processing Controller Properties Frequency Blackboard

6 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

7 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

8 Sample Flat File Feeds User Feed EXTERNAL_PERSON_KEY|USER_ID|FIRSTNAME|LASTNAME|EMAIL|INSTITUTION_ROLE|PASSWD kcorcoran|kcorcoran|Kevin|Corcoran||student|password wburnes|wburnes|Bill|Burnes||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

9 Sample IMS Enterprise XML File File Header Institution SIS 2010-6-15T11:55:0

10 XML Person Record Institution SIS AStudent AStudent Adam Student Student Adam Student

11 XML Group Record Institution SIS 1003118300230412 1003118300230412 Introduction to Underwater Basket Weaving 2010-05-10 2010-07-09 0 1

12 XML Membership Record Institution SIS 1003118836909230 Institution SIS AStudent 1

13 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 *Building Block available for fee from Bb

14 Snapshot Properties File Properties File # delimteter used for parsing snapshot files data.delimeter=| # Used to denote datasource to use for operation. data.source.key=institution # Determines character used to escape delimeter escape.character=^ # Snapshot controlled field settings for Blackboard override of data # fields for course entities,TEMPLATE_ORGANIZATION_KEY,X_BB_TEMPLATEKEY, AVAILABLE_IND # fields for student entities,EMAIL # Designates flag to enable membership data without "private" data copying for configuration property file membership.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 target gradebook.clear=N

15 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") "D:\blackboard\apps\snapshot\bin\snapshot -f USR_MANUAL -C "&propDir&" -t " &sourceDir&item&" -V",1,TRUE objFSO.MoveFile sourceDir&item,archiveDir&"\"&item End If

16 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\ –V

17 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: 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(SnapshotRemo at blackboard.admin.snapshot.persist.impl.SnapshotDbPersister.remove( at blackboard.admin.persist.course.impl.EnrollmentDbPersister.remove( at blackboard.admin.snapshot.authority.Authority.delegatePersistence(

18 Suggested Integration Committee Registrars Office Student Information System Representative Academic Dean or decision maker Blackboard System Administrator

19 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

20 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?

21 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)

22 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)

23 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)

24 Sample Planning Guide – Secondary Roles Secondary Institution Roles: Do you have a need to delivery role-based information within Blackboard? (Student vs. Faculty)

25 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

26 Future of Integration – XEI?

27 References Behind the Blackboard –Advanced Integration and Data Management Guide IMS Enterprise XML Binding Specification –

28 Questions & Contact Information Any Questions? Any Brain Lock-up? Contact Me: Kevin Corcoran 860-832-3889

29 Please provide feedback for this session by emailing The title of this session is: Snapshot Integration Basics

Download ppt "Snapshot Integration Basics Kevin Corcoran Connecticut Distance Learning Consortium"

Similar presentations

Ads by Google