snapshot tool

advertisement
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
Blackboard® Snapshot Integration
An overview of the process, tools and operations
For Blackboard Learning System™ (Release 6.2)
• 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
People
Memberships
Groups
COLLEGE
ENR_FA02
CRS_FA02
LAW
ENR_SP03
CRS_SP02
USR
ENR*
STAFF
ORGMEM
CRS
ORG
Other Data Types
• Additional Enterprise Data
Content
System
Roles
PORTAL_ROLE_MEM
Users
Portal Roles
Course and Organization Catalog
Courses & Organizations
Institution Roles
courselink_
FA02
category
courselink_
SP03
ORG_CATEGORY_MEM
CRS_CATEGORY_MEM
ORG_CATEGORY
CRS_CATEGORY
File Formats
• XML
<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>
EXTERNAL_PERSON_KEY|USER_ID|SYSTEM_ROLE|INSTITUTION_ROLE|FIRSTNAME|LASTNAME|EMAIL
<LOCALITY>San Marcos</LOCALITY>
0142270|sait.tarhan|none|role_11|Sait|Tarhan|sait.tarhan@college.edu
<REGION>CA</REGION>
0001129|marcha.hunley|none|role_11|Marcha|Hunley|marcha.hunley@college.edu
<PCODE>92096-0001</PCODE>
0001613|steven.yelton|none|role_11|Steven|Yelton|steven.yelton@college.edu
<COUNTRY>US</COUNTRY>
0003970|dorothy.mann|none|role_11|Dorothy|Mann|dorothy.mann@college.edu
</ADR>
0099821|sherry.hutton|none|role_11|Sherry|Hutton|sherry.hutton@college.edu
<DATASOURCE>Blackboard University</DATASOURCE>
0000311|gary.webster|none|role_11|Gary|Webster|gary.webster@college.edu
<EXTENSION>
0173103|carla.gesell-streeter|none|role_11|Carla|Gesell|carla@college.edu
<X_BB_SYSTEMROLE>0</X_BB_SYSTEMROLE>
0000612|olivia.watts|none|role_11|Olivia|Watts|olivia.watts@college.edu
<X_BB_INSTITUTION_ROLE>0</X_BB_INSTITUTION_ROLE>
0000381|robert.eveslage|none|role_11|Robert|Eveslage|robert.eveslage@college.edu
<X_BB_STUDENTID>144532</X_BB_STUDENTID>
0000987|debra.lierl|none|role_11|Debra|Lierl|debra.lierl@college.edu
<X_BB_PASSWORD>rpeterson</X_BB_PASSWORD>
0225494|robert.nields|none|role_11|Robert|Nields|robert.nields@college.edu
</EXTENSION>
0000982|charalee.allen|none|role_11|Charalee|Allen|charalee.allen@college.edu
</PERSON>
0295293|david.hoctor|none|role_11|David|Hoctor|david.hoctor@college.edu
0001393|colleen.meyer|none|role_11|Colleen|Meyer|colleen.meyer@college.edu
00294456|clark.stull|none|role_11|Clark|Stull|clark.stull@college.edu
0000577|julie.webster|none|role_11|Julie|Webster|julie.webster@college.edu
0074937|george.armstrong|none|role_11|George|Armstrong|george.armstrong@college.edu
– All data in one file
– Reusable
– Standardized (IMS+)
• Delimited (preferred)
– Easy to Manipulate
– Multiple Files
– Smaller
Snapshot Integration Components
• 3 Primary Software Components
– Generator (client developed)
– Tool (Blackboard Learning System core)
– Controller (Blackboard Consulting deliverable)
Snapshot Controller
SIS
SIS
SIS
Snapshot
Generator
Snapshot
Files
Snapshot
Tool
Blackboard
Default Snapshot Configuration
Administrative Systems
Blackboard Academic Suite™
Snapshot Controller
SIS
SIS
SIS
Snapshot
Generator
FTP
Snapshot
Files
Snapshot
Tool
JDBC
Database
Remote Snapshot Operations
Campus System(s)
Blackboard Client
Blackboard Learning System
Snapshot Controller
SIS
SIS
SIS
Snapshot
Generator
FTP
Snapshot
Data
Files
Snapshot
Tool
Application
SOAP
Database
JDBC
On Campus
Remote (ASP)
Snapshot Security
Campus System(s)
Blackboard Client
Blackboard Learning System
Snapshot Controller
SIS
SIS
SIS
Snapshot
Generator
Snapshot
Data
Files
Snapshot
Tool
Application
HTTPS
SFTP, SCP
On Campus
Database
VPN
Remote (ASP)
Data States
• 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.
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.
Snapshot Tool - Modes
• 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
User_ID
Available_Ind
Row_Status
User1
Y
enabled
User1
User2
Y
enabled
User1
User3
Y
enabled
Snapshot File
Adding records is the same in
both Snapshot and Manual modes
User_ID
ADD
Available_Ind
Row_Status
Bb
Blackboard Database
Snapshot Tool – Modes
• Updating Records
User_ID
Available_Ind
Row_Status
User1
Y
enabled
User2
Y
User3
User4
Updating records is the same in
both Snapshot and Manual modes
User_ID
Available_Ind
Row_Status
No Change
User1
Y
enabled
disabled
update
User2
Y
N
enabled
update
User3
N
Y
Y
enabled
No Change
User4
Y
Snapshot File
Bb
disabled
enabled
enabled
enabled
Blackboard Database
Snapshot Tool – Modes
The difference between Manual and
Snapshot is seen when records are no
longer found in the file.
• Missing Records
User_ID
Available_Ind
Row_Status
User_ID
Available_Ind
Row_Status
User1
Y
enabled
User1
Y
enabled
User2
Y
enabled
User2
Y
User3
Y
disabled
enabled
Bb
User4
Y
enabled
disable
ignore
User4
Y
Snapshot File
enabled
enabled
Blackboard Database
Manual mode just adds and updates.
Snapshot mode disables missing records.
Snapshot Tools
• ..\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 – Command Lines
snapshot -V <server name> -f <operation> -t <data file> -C <properties file>
 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 Tools – Snapshot Override
– Snapshot override allows you to override settings
from the properties file.
 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 Properties
• Operations Properties
– delimiter, batch size, error
count
– data source key
• Ownership
– bb.controlled fields
• Course Copy Operations
– content areas, settings,
memberships
# 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 errors
max.error.count=-1
# Snapshot process settings
# delimteter used for parsing snapshot files
data.delimeter=|
# Used to denote datasource to use for operation.
data.source.key=SIS
# Determines if password field should be encrypted
encrypt.password=Y
# Denotes string used to mark the beginning of errors
error.delimeter=(!)
# Determines character used to escape delimeter
escape.character=/
# Designates flag to handle header validation for configuration property file
header.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 transaction
snapshot.batch.size=300
# Used to configure pause between persistence actions
wait.length=-1
# Snapshot controlled field settings for Blackboard override of data
# fields for category entities
category.bb.controlled.fields=
Snapshot Properties - Ownership
• 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
# Snapshot controlled field settings for Blackboard override of data
# fields for category entities
category.bb.controlled.fields=AVAILABLE_IND
– Fields owned by Blackboard
listed under “bb.controlled”
– Fields are Specific
for Each Entity
# fields for link entities
categorymembership.bb.controlled.fields=
# fields for group entities
group.bb.controlled.fields=AVAILABLE_IND,COURSE_NAME
# fields for user entities
person.bb.controlled.fields=INSTITUTION_ROLE
# fields for membership entities
membership.bb.controlled.fields=ROLE
Ownership - Example
– FirstName is owned by Blackboard
– LastName is owned by SIS
User_ID
FirstName
LastName
User1
Joseph
User2
FirstName
LastName
Smith
Joe
Smithe
Angela
Freedman
Freed
Angie
User3
Jennie
Brown
Jen
User4
Francis
Frank
Jones
Frank
Snapshot File
User_ID
Bb
Jones-Smith
Blackboard Database
1. Snapshot creates user records.
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.
Data Sources and Data Source Keys
• Data Source Keys can be used to separate
and identify data from different sources.
SIS
HR
Alumni
Blackboard
Data Sources and Data Source Keys
• Data Source Keys can also be used to
separate and identify data from different
logical groups.
Spring
SIS
Summer
Fall
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.
Using Data Source Keys
111-11-1111
222-22-2222
888-88-8888
666-66-6666
DSK = “Medical”
555-55-5555
444-44-4444
777-77-7777
333-33-3333
DSK = “Law”
external_person_key
111-11-1111
222-22-2222
333-33-3333
444-44-4444
555-55-5555
666-66-6666
777-77-7777
888-88-8888
DSK
Medical
Medical
Law
Law
Law
Medical
Law
Medical
Bb
The DSK ensures that only the “right”
records are updated.
Without DSK the “Law” records
would be disabled when the “Medical”
snapshot is processed.
Snapshot Tools – Data Source Manager
DSM -V <server name> -f <operation] -b <data source key>
 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
Only disabled records will be removed using the PURGE operation.
Closing Slide
• Innovating Together in ‘05:
– Recap top 2-3 points
• Resources Available:
– Any links, resources available for attendees to learn more
• Follow up Contact(s):
– Insert
• IF YOU ONLY REMEMBER 1 THING:
– Insert
Download