1 / 29

Snapshot Integration Basics

Snapshot Integration Basics. Kevin Corcoran Connecticut Distance Learning Consortium http://www.ctdlc.org. 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

lefty
Download Presentation

Snapshot Integration Basics

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Snapshot Integration Basics Kevin CorcoranConnecticut Distance Learning Consortium http://www.ctdlc.org

  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 eTutoring.org 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 SIS • Data Extracts • Users • Courses • Enrollments S/FTP • Data Transfer • Timing • Frequency Blackboard • Data Processing • Controller • Properties • Frequency

  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 = 1AND term.termid = courseoffering.termidAND 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|kcorcoran@ctdlc.org|student|password wburnes|wburnes|Bill|Burnes|wburnes@ctdlc.org|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 <?xml version="1.0" encoding="UTF-8"?> <enterprise> <properties> <datasource>Institution SIS</datasource> <datetime>2010-6-15T11:55:0</datetime> </properties>

  10. 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>astudent@institution.edu</email> <extension> <X_BB_INSTITUTIONROLE>Student</X_BB_INSTITUTIONROLE></extension> </person>

  11. 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>

  12. 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>

  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 server.institution.edu *Building Block available for fee from Bb

  14. 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

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

  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\snapshot.properties –V servername.institution.edu

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

  18. Suggested Integration Committee • Registrar’s 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 • http://www.imsglobal.org/enterprise/enbind03.html

  28. Questions & Contact Information Any Questions? Any Brain Lock-up? Contact Me: Kevin Corcorankcorcoran@ctdlc.org860-832-3889

  29. Please provide feedback for this session by emailing DevConFeedback@blackboard.com.  The title of this session is: Snapshot Integration Basics

More Related