Upload
nickolas-berry
View
219
Download
3
Tags:
Embed Size (px)
Citation preview
Systems Integration and Data Management
Presented By Greg Devine
Director, Higher Education Blackboard Consulting April 14, 2005
Welcome
• Session Objectives:– Introduce 2-3 key points
• Innovation– Insert
• Results/Outcomes– Insert
An overview of the process, tools and operationsFor Blackboard Learning System™ (Release 6.2)
Blackboard® Snapshot Integration
• What Data = Which Files• Snapshot Components• Snapshot Tool
– Modes, Operators, Syntax
• Data Sources and Data Source Keys• Field Ownership• Remote Snapshots• Snapshot Controller
IMS Entities
• Integration Entities = Snapshot Files• Enterprise Data
COLLEGECOLLEGE ENR_FA02ENR_FA02 CRS_FA02CRS_FA02
ENR_SP03ENR_SP03 CRS_SP02CRS_SP02
Memberships GroupsPeople
LAWLAW
USR ENR*STAFFORGMEM
CRSORG
Other Data Types
• Additional Enterprise Data
Portal RolesPortal Roles courselink_FA02
courselink_FA02
ORG_CATEGORYCRS_CATEGORY
categorycategory
courselink_SP03
courselink_SP03
Cou
rses
& O
rgan
izat
ions
Institution Roles
Content SystemRoles
Content SystemRoles
ORG_CATEGORY_MEMCRS_CATEGORY_MEM
Course and Organization Catalog
Use
rs
PORTAL_ROLE_MEM
File Formats• XML
– All data in one file– Reusable– Standardized (IMS+)
• Delimited (preferred)
– Easy to Manipulate – Multiple Files– Smaller
<PERSON> <SOURCEDID> <SOURCE>Blackboard University</SOURCE> <ID>39450210223</ID> </SOURCEDID> <USERID>swang</USERID> <NAME> <FN>Mr. Stanley Wang Jr.</FN> <SORT>Wang,Stanley</SORT> <NICKNAME>Wang,Stanley</NICKNAME> <N> <FAMILY>Wang</FAMILY> <GIVEN>Stanley</GIVEN> <OTHER>Franklin</OTHER> <PREFIX>Mr. </PREFIX> <SUFFIX>Jr.</SUFFIX> </N> </NAME> <DEMOGRAPHICS> <GENDER>2</GENDER> <BDAY>1959-01-01</BDAY> </DEMOGRAPHICS> <EMAIL>Swang5@Blackboard_university.com</EMAIL> <TEL teltype="1">3104591276</TEL> <TEL teltype="2">3104591200</TEL> <ADR> <STREET>Twin Oaks Valley Rd</STREET> <STREET>attn: S. Wang</STREET> <LOCALITY>San Marcos</LOCALITY> <REGION>CA</REGION> <PCODE>92096-0001</PCODE> <COUNTRY>US</COUNTRY> </ADR> <DATASOURCE>Blackboard University</DATASOURCE> <EXTENSION> <X_BB_SYSTEMROLE>0</X_BB_SYSTEMROLE> <X_BB_INSTITUTION_ROLE>0</X_BB_INSTITUTION_ROLE> <X_BB_STUDENTID>144532</X_BB_STUDENTID> <X_BB_PASSWORD>rpeterson</X_BB_PASSWORD> </EXTENSION></PERSON>
<PERSON> <SOURCEDID> <SOURCE>Blackboard University</SOURCE> <ID>39450210223</ID> </SOURCEDID> <USERID>swang</USERID> <NAME> <FN>Mr. Stanley Wang Jr.</FN> <SORT>Wang,Stanley</SORT> <NICKNAME>Wang,Stanley</NICKNAME> <N> <FAMILY>Wang</FAMILY> <GIVEN>Stanley</GIVEN> <OTHER>Franklin</OTHER> <PREFIX>Mr. </PREFIX> <SUFFIX>Jr.</SUFFIX> </N> </NAME> <DEMOGRAPHICS> <GENDER>2</GENDER> <BDAY>1959-01-01</BDAY> </DEMOGRAPHICS> <EMAIL>Swang5@Blackboard_university.com</EMAIL> <TEL teltype="1">3104591276</TEL> <TEL teltype="2">3104591200</TEL> <ADR> <STREET>Twin Oaks Valley Rd</STREET> <STREET>attn: S. Wang</STREET> <LOCALITY>San Marcos</LOCALITY> <REGION>CA</REGION> <PCODE>92096-0001</PCODE> <COUNTRY>US</COUNTRY> </ADR> <DATASOURCE>Blackboard University</DATASOURCE> <EXTENSION> <X_BB_SYSTEMROLE>0</X_BB_SYSTEMROLE> <X_BB_INSTITUTION_ROLE>0</X_BB_INSTITUTION_ROLE> <X_BB_STUDENTID>144532</X_BB_STUDENTID> <X_BB_PASSWORD>rpeterson</X_BB_PASSWORD> </EXTENSION></PERSON>
EXTERNAL_PERSON_KEY|USER_ID|SYSTEM_ROLE|INSTITUTION_ROLE|FIRSTNAME|LASTNAME|EMAIL0142270|sait.tarhan|none|role_11|Sait|Tarhan|[email protected]|marcha.hunley|none|role_11|Marcha|Hunley|[email protected]|steven.yelton|none|role_11|Steven|Yelton|[email protected]|dorothy.mann|none|role_11|Dorothy|Mann|[email protected]|sherry.hutton|none|role_11|Sherry|Hutton|[email protected]|gary.webster|none|role_11|Gary|Webster|[email protected]|carla.gesell-streeter|none|role_11|Carla|Gesell|[email protected]|olivia.watts|none|role_11|Olivia|Watts|[email protected]|robert.eveslage|none|role_11|Robert|Eveslage|[email protected]|debra.lierl|none|role_11|Debra|Lierl|[email protected]|robert.nields|none|role_11|Robert|Nields|[email protected]|charalee.allen|none|role_11|Charalee|Allen|[email protected]|david.hoctor|none|role_11|David|Hoctor|[email protected]|colleen.meyer|none|role_11|Colleen|Meyer|[email protected]|clark.stull|none|role_11|Clark|Stull|[email protected]|julie.webster|none|role_11|Julie|Webster|[email protected]|george.armstrong|none|role_11|George|Armstrong|[email protected]
EXTERNAL_PERSON_KEY|USER_ID|SYSTEM_ROLE|INSTITUTION_ROLE|FIRSTNAME|LASTNAME|EMAIL0142270|sait.tarhan|none|role_11|Sait|Tarhan|[email protected]|marcha.hunley|none|role_11|Marcha|Hunley|[email protected]|steven.yelton|none|role_11|Steven|Yelton|[email protected]|dorothy.mann|none|role_11|Dorothy|Mann|[email protected]|sherry.hutton|none|role_11|Sherry|Hutton|[email protected]|gary.webster|none|role_11|Gary|Webster|[email protected]|carla.gesell-streeter|none|role_11|Carla|Gesell|[email protected]|olivia.watts|none|role_11|Olivia|Watts|[email protected]|robert.eveslage|none|role_11|Robert|Eveslage|[email protected]|debra.lierl|none|role_11|Debra|Lierl|[email protected]|robert.nields|none|role_11|Robert|Nields|[email protected]|charalee.allen|none|role_11|Charalee|Allen|[email protected]|david.hoctor|none|role_11|David|Hoctor|[email protected]|colleen.meyer|none|role_11|Colleen|Meyer|[email protected]|clark.stull|none|role_11|Clark|Stull|[email protected]|julie.webster|none|role_11|Julie|Webster|[email protected]|george.armstrong|none|role_11|George|Armstrong|[email protected]
Snapshot Integration Components
• 3 Primary Software Components– Generator (client developed) – Tool (Blackboard Learning System core)
– Controller (Blackboard Consulting deliverable)
Snapshot Controller
SISSISBlackboardBlackboard
SnapshotFiles
SnapshotGenerator
SnapshotToolSISSIS
SISSIS
Default Snapshot Configuration
Administrative Systems
SnapshotFiles
Blackboard Academic Suite™
Database
FTP
Snapshot Controller
SnapshotGenerator
SISSIS
SIS
SnapshotTool
JDBC
Remote Snapshot Operations
Campus System(s)
SnapshotData Files
Blackboard Client Blackboard Learning System
On Campus Remote (ASP)
FTP
Application
Snapshot Controller
SnapshotGenerator
SISSIS
SISSnapshot
Tool
SOAP Database
JDBC
Snapshot Security
Campus System(s)
SnapshotData Files
Blackboard Client Blackboard Learning System
On Campus Remote (ASP)
Database
Application
Snapshot Controller
SnapshotGenerator
SISSIS
SIS
SnapshotTool
VPN
HTTPS
SFTP, SCP
• Available/Unavailable vs. Enabled/Disabled– Availability (Y/N) is set via the GUI, Snapshot or
Event– Row Status (enabled/disabled) is set via
snapshot only.
Data States
Available_Ind Row_Status
User 1 Y Enabled
User 2 N Enabled
User 3 Y Disabled
User 4 N Disabled
See Integration Manual or Data Planning Workbook for detailed behavior of users, enrollments and courses.
• Manual (MANUAL)– Simplest mode, adds and updates records– Used to manage partial data sets.
• Snapshot (SNPSHT)– Adds, updates and disables records– Used to manage full data sets.
• Remove (REMOVE)– Removes records
• Copy Into* (COPYINTO)– Copies content between courses or organizations
Snapshot Tool - Modes
• Adding Records
Snapshot Tool – Modes
BbBbUser_ID Available_Ind Row_Status User_ID Available_Ind Row_Status
User1 Y enabled
User1 Y enabled
User1 Y enabled
ADDUser1 Y enabled
User2 Y enabled
User3 Y enabled
Adding records is the same in both Snapshot and Manual modes
Blackboard DatabaseSnapshot File
• Updating Records
Snapshot Tool – Modes
BbBb
Updating records is the same in both Snapshot and Manual modes
User_ID Available_Ind Row_Status User_ID Available_Ind Row_Status
User1 Y enabled
User2 Y disabled
User3 N enabled
User4 Y enabled
User1 Y enabled
User2 Y enabled
User3 Y enabledN
No Change
update
User4 Y enabled
disabledupdate
No Change
Blackboard DatabaseSnapshot File
BbBbBlackboard Database
Snapshot File
• Missing Records
Snapshot Tool – ModesThe difference between Manual and Snapshot is seen when records are no longer found in the file.
User_ID Available_Ind Row_Status User_ID Available_Ind Row_Status
User1 Y enabled
User2 Y enabled
User4 Y enabled
User1 Y enabled
User2 Y enabled
User3 Y enabledignore
User4 Y enabled
Manual mode just adds and updates.
disable
Snapshot mode disables missing records.
disabled
• ..\blackboard\apps\snapshot– \bin
• DSM – data source manager
• SNAPSHOT – snapshot tool
• SNAPSHOT_OVERRIDE – snapshot tool
– \config• ENV - connection info, class path and connection type
– \data• SNAPSHOT.PROPERTIES – primary snapshot configuration
• IMS-EP01.dtd – DTD for XML snapshots
Snapshot Tools
snapshot –V bbls.abc.edu –f CRS_SNAPSHOT –t ..\data\SIS_CRS_SP2003 –C ..\data\snapshot.properties
snapshot –V bbls.abc.com –f USR_MANUAL –t ..\data\SIS_USR
-C ..\data\snapshot.properties
snapshot –V bbls.abc.org –f STAFF_REMOVE –t ..\data\SIS_MEM_FA2003 -C..\data\snapshot.properties
snapshot –V bbls.abc.gov –f CRS_COPYINTO –t ..\data\SIS_CRS_SU2002 –C ..\data\snapshot.properties
snapshot -V <server name> -f <operation> -t <data file> -C <properties file>
Snapshot Tools – Command Lines
snapshot_override “-Ddata.source.key=DL_CRS” –V bbls.abc.edu –f CRS_SNAPSHOT –t ..\data\SIS_CRS_SP2003 –C ..\data\snapshot.properties
Snapshot_override “-Dmax.error.count=0” –V bbls.abc.com –f USR_MANUAL –t ..\data\SIS_USR
-C ..\data\snapshot.properties
Snapshot Tools – Snapshot Override
– Snapshot override allows you to override settings from the properties file.
# Maximum errors to process.# If you want all valid records to be processed, use -1 which indicates unlimited# If you want an all or none transaction, use 0# Otherwise, pick some reasonable number of errorsmax.error.count=-1
# Snapshot process settings
# delimteter used for parsing snapshot filesdata.delimeter=|
# Used to denote datasource to use for operation.data.source.key=SIS
# Determines if password field should be encryptedencrypt.password=Y
# Denotes string used to mark the beginning of errorserror.delimeter=(!)
# Determines character used to escape delimeterescape.character=/
# Designates flag to handle header validation for configuration property fileheader.validation=Y
# Determines if logged information should be sent to console.log.stdout=N
# Designates flag to establish handling of enumerated values.parse.allow.default=N
# Designates maximum size of database transactionsnapshot.batch.size=300
# Used to configure pause between persistence actionswait.length=-1
# Snapshot controlled field settings for Blackboard override of data
# fields for category entitiescategory.bb.controlled.fields=
# Maximum errors to process.# If you want all valid records to be processed, use -1 which indicates unlimited# If you want an all or none transaction, use 0# Otherwise, pick some reasonable number of errorsmax.error.count=-1
# Snapshot process settings
# delimteter used for parsing snapshot filesdata.delimeter=|
# Used to denote datasource to use for operation.data.source.key=SIS
# Determines if password field should be encryptedencrypt.password=Y
# Denotes string used to mark the beginning of errorserror.delimeter=(!)
# Determines character used to escape delimeterescape.character=/
# Designates flag to handle header validation for configuration property fileheader.validation=Y
# Determines if logged information should be sent to console.log.stdout=N
# Designates flag to establish handling of enumerated values.parse.allow.default=N
# Designates maximum size of database transactionsnapshot.batch.size=300
# Used to configure pause between persistence actionswait.length=-1
# Snapshot controlled field settings for Blackboard override of data
# fields for category entitiescategory.bb.controlled.fields=
• Operations Properties– delimiter, batch size, error
count– data source key
• Ownership– bb.controlled fields
• Course Copy Operations– content areas, settings,
memberships
Snapshot Properties
# Snapshot controlled field settings for Blackboard override of data
# fields for category entitiescategory.bb.controlled.fields=AVAILABLE_IND
# fields for link entitiescategorymembership.bb.controlled.fields=
# fields for group entitiesgroup.bb.controlled.fields=AVAILABLE_IND,COURSE_NAME
# fields for user entitiesperson.bb.controlled.fields=INSTITUTION_ROLE
# fields for membership entitiesmembership.bb.controlled.fields=ROLE
# Snapshot controlled field settings for Blackboard override of data
# fields for category entitiescategory.bb.controlled.fields=AVAILABLE_IND
# fields for link entitiescategorymembership.bb.controlled.fields=
# fields for group entitiesgroup.bb.controlled.fields=AVAILABLE_IND,COURSE_NAME
# fields for user entitiesperson.bb.controlled.fields=INSTITUTION_ROLE
# fields for membership entitiesmembership.bb.controlled.fields=ROLE
• Ownership = Control– Fields “owned” by Blackboard are not updated by
the snapshot process.– Fields not owned by Blackboard may be
overwritten by the snapshot.
• Ownership properties are set and stored in snapshot.properties– Fields owned by Blackboard
listed under “bb.controlled”– Fields are Specific
for Each Entity
Snapshot Properties - Ownership
Bb
User_ID FirstName LastName
User1 Joseph Smith
User2 Angela Freed
User3 Jennie Brown
User4 Frank Jones
User_ID FirstName LastName
User1 Joseph Smith
User2 Angela Freed
User3 Jennie Brown
User4 Frank Jones
1. Snapshot creates user records.
Smithe
Jones-Smith
2. Data is updated via the UI.
3. Data is updated in SIS.
4. Snapshot runs again and last names are updated, first names are left alone.
Freedman
Francis
User1 Joseph Smith
User2 Angela Freedman
User3 Jennie Brown
User4 Francis Jones
Joe
Angie
Jen
Frank
Ownership - Example
– FirstName is owned by Blackboard– LastName is owned by SIS
Blackboard DatabaseSnapshot File
• Data Source Keys can be used to separate and identify data from different sources.
SISSIS
AlumniAlumni
HRHR Blackboard
Data Sources and Data Source Keys
• Data Source Keys can also be used to separate and identify data from different logical groups.
FallFall
SummerSummer
SpringSpring
SISSIS
Data Sources and Data Source Keys
Data Sources and Data Source Keys
– Blackboard database records are mapped to a particular data source key.
– Anything entered via the GUI is mapped to the “SYSTEM” DSK.
course_ID courseName ext_crs_key dataSourceKey
Course1 Biology Bio01_02F2005 fa_crs_2005
Course2 History Hist03_06F2005 fa_crs_2005
Course3 French Fre01_05P2005 sp_crs_2005
Course4 French2 Fre02_01P2005 sp_crs_2005
Course5 Spanish Course5* SYSTEM
* Note: Course_ID & Ext_Crs_Key will be identical for GUI entered records.
Bb
DSK = “Law”
DSK = “Medical”
111-11-1111222-22-2222888-88-8888666-66-6666
555-55-5555444-44-4444777-77-7777333-33-3333
111-11-1111222-22-2222
888-88-8888
666-66-6666555-55-5555444-44-4444
777-77-7777
333-33-3333
MedicalMedicalLawLawLawMedicalLawMedical
external_person_key DSK
111-11-1111222-22-2222888-88-8888666-66-6666
The DSK ensures that only the “right”records are updated. Without DSK the “Law” records would be disabled when the “Medical”snapshot is processed.
555-55-5555444-44-4444
777-77-7777
333-33-3333 LawLawLaw
Law
Using Data Source Keys
dsm –V bbls.abc.edu –f CREATE –b BBCRS_FA2005 –d Fa05_Courses
dsm –V bbls.abc.com –f DISABLE_PERSON –b BBUSERS –t 20050305
dsm –V bbls.abc.org –f PURGE_MEMBERSHIP –b BBSTAFF_FA2005
dsm –V bbls.abc.gov –f MODIFY –b BBCAT –r BBCAT_FA05
DSM -V <server name> -f <operation] -b <data source key>
Only disabled records will be removed using the PURGE operation.
Snapshot Tools – Data Source Manager