Tech bug webinar Blackboard Learn OpenDB

Post on 23-Jan-2015

2,292 views 1 download

description

This is George Kroner's powerpoint from March 15th's inaugural TechBUG webinar on OpenDB.

transcript

TechBUG Inaugural webinar: Blackboard’s Open Database March 15, 2011

Intro to TechBUG

History of TechBUG• SysBUG or “System Administrator” BUG started in

2009• Driven by the need that System Administrator need to

rely upon each other to get insights and helpful tips• Feb. 2011 – Teamed up with the Developer Community

leaders to deliver a broader scope of content to both groups: developers as well as system administrators

• Who is this group for?• Blackboard Administrator• Building Block Developers• Database Administrators• Directors of Information Technology• eLearning Coordinators/Technologists

Who are we?Tim Boshart (pronounced Bose-sart)Blackboard Administrator at Univ. of Oregon w/ 21,000 studentsOriginally a Blackboard “Classic” institution, now running on 9.1Over 10 years running Blackboard since CourseInfo 1.5Running on Linux systemWhen not working with computers I can often be found at aBaseball game or working on an 18” gauge railroad

Bryan FendleyDirector of Academic Computing at Univ. of Arkansas, Monticello w/ 3,485 studentsOriginally a CE institution, now running on 9.110 years running WebCT/BlackboardRunning a Solaris systemPast Texas State Champion Cross Country Motocross Racer

Open DatabaseThe Open Database is all about enabling

client access to and understanding of the data and structures necessary to more effectively and efficiently:

• Develop System Tools and Modules• Build reports for Determining Usage and Adoption• Perform Diagnostics• Activity Forensics/Reconstruction• Assess Performance

Accessing the Open Database Documentation requires acceptance of a license addendum which states the allowed activities pertaining to the client’s Blackboard Learn™ database. In short altering of the database beyond using Blackboard Building Block™ APIs is not allowed; Read access using external tools is now allowed.

http://bit.ly/cFXPcb

The Blackboard® Database

BBLEARN_admin Configuration values and legacy configuratios

BBLEARN The “guts” of the application – all tables related to end user functionality are in this schema

BBLEARN_stats A secondary schema to store data for reporting – most of the data is copied from BBLEARN

BBLEARN_cms An administrative database for Xythos – storing “document store” definitions, “principal” definitions, etc.

BBLEARN_cms_doc The Xythos “document store” – storing actual file metadata

1 - Documentation

http://bit.ly/ak6hKR

Embedded Comments

select t.name, c.name, p.value from sys.extended_properties p left outer join sys.tables t on p.major_id = t.object_id left outer join sys.columns c on p.major_id = c.object_id and p.minor_id = c.column_id where t.name like 'activity%' and p.name = 'MS_Description'

select * from user_tab_comments where table_name = 'MY_TABLE'

Oracle

SQL Server

Embedded Comments…

2 - Extensible Schema

• Blackboard Building Blocks™ may install schema elements

• Schema installation uses the same definitions as core code – schema.xml, etc.

http://bit.ly/hYpSvf

3 - Reporting

Built In ReportsCourse and Tool Level

Track views and activities at the course and tool levelView usage at a course by course basis

Content LevelGrade bookSystem ReportsTextbook Reports

Business Intelligence and Reporting Tools (BIRT)

http://bit.ly/ce8EmM

Common Use Cases and NeedsExplore Usage and Adoption

Tool UsagePerformance Management and PlanningInstructor and Student AdoptionAssess Programs and PerformanceBlackboard Outcomes AssessmentData Diagnostics – e.g. what is going on with my dataForensics / Reconstruction –e.g. what did this user do

Models, methods, and measurement metrics

Who logs in the mostWho access the most pagesWho teaches the most coursesWho adds or accesses the most contentWho uses the most available tools

o Basic numberso Thresholds o Trendso Patternso Activity streams

Easier

More difficult, but more interesting

Examples:

LoginsContentDiscussion forumsEnrollmentsToolsPage hitsQuestions:

bb_bb60 vs BBLEARN?_stats (eg: bb_bb60_stats) is populated when you run PurgeAccumulator.sh/.batActivity_accumulator_queue (flushed every 10 mins)

Logins & Page Hits

activity_accumulatorevent_type (LOGIN_ATTEMPT, PAGE_ACCESS)user_pk1timestamp

userspk1user_idinstitution_roles_pk1institution_rolespk1role_namedescriptionrole_id

Logins & Page Hits (examples)Obtain total logins for a given time period

SELECT count(*) FROM activity_accumulator WHERE event_type = 'LOGIN_ATTEMPT' ANDtimestamp BETWEEN

convert(datetime, '2011-01-01', 120) AND convert(datetime, '2011-02-28', 120)

SELECT count(*) FROM activity_accumulator WHERE event_type = 'LOGIN_ATTEMPT' AND timestamp BETWEEN to_date('2011-01-01','YYYY-MM-DD HH24:MI:SS') AND

to_date(‘2011-02-28','YYYY-MM-DD HH24:MI:SS')

MS SQL

Oracle

• Obtain total # users who logged in on a given daySELECT count(*) FROM users WHERE last_login_date BETWEEN convert(datetime, '2011-02-27', 120) ANDconvert(datetime, '2011-02-28', 120)

• Obtain total # page hits on a given daySELECT count(*) FROM activity_accumulator WHERE event_type = 'PAGE_ACCESS' AND timestamp BETWEEN convert(datetime, '2011-02-27', 120) ANDconvert(datetime, '2011-02-28', 120)

Logins & Page Hits...

Contentcontent_handlers

pk1handleName

course_content_handlerscrsmain_pk1content_handlers_pk1available_ind

course_contentspk1cnthndlr_handledtcreateddtmodifiedcrsmain_pk1available_indtitleparent_pk1

course_contents_fileslinks course_contents to files

filesstorage_type (CS or LOCAL)file_namelink_namefile_sizecourse_mainpk1...

Content

Obtain total content count by typeSELECT count (*)

FROM course_contents WHERE cnthndlr_handle = 'resource/x-bb-document'Obtain content added in the past day

SELECT count(*) FROM course_contents WHERE dtcreated BETWEEN convert(datetime, '2011-02-27',

120) ANDconvert(datetime, '2011-02-28', 120)

Discussion forums

Conference_mainForum_main (course-level, group-level)

Msg_main (parent-child relationship for replies)

Example:Obtain total messages

SELECT count(*) FROM msg_main

Enrollmentsuserscourse_maincourse_users

Links pk1 of users and courses tables

course_rolesExample (enabled instructor enrollments)

SELECT COUNT(DISTINCT users.pk1) FROM course_users, users WHERE course_users.row_status = 0 AND course_users.available_ind = 'Y' AND course_users.role IN ('B', 'G', 'P',

'T') AND users.pk1 = course_users.users_pk1 AND users.row_status = 0 AND users.available_ind = 'Y'

Tools

navigation_itemapplication (indicator of product subsystem)internal_handle

course_navigation_iteminternal_handleenabled_ind

applicationpresence of plugins_pk1 indicates a Building Block

Blogs, journals, groups Others have relevant data beyond on/off – but in their own tables

Activity Streams (example)User streams

SELECT pk1, event_type, user_pk1, course_pk1, timestamp, data FROM activity_accumulator

WHERE user_pk1 IS NOT NULLORDER BY user_pk1, timestamp

Course streamsSELECT pk1, event_type, user_pk1, course_pk1,

timestamp, data FROM activity_accumulator WHERE course_pk1 IS NOT NULL ORDER BY course_pk1, timestamp

STOP DO NOT run in production without limiting query

Tools to help (pick the right one)

SQL Server Management StudioOracle SQL Developer Aqua Data StudioBlackboard-specific development

SQL Server Management Studio

Oracle SQL Developer

Aqua Data Studio

Blackboard-specific: ASTRO http://bit.ly/9gim3j

Blackboard-specific: UMBC Reports

http://bit.ly/gP2f6E

Suggested Topics for Future Meetings

• Open Database (today)• Navigating Behind the Blackboard• Leveraging Reports • Troubleshooting Logs• ??? Tim? Bryan?

• Next topic: May 17th 11am EDT, Save the Date – Upgrading your Building Blocks

Participate in our site on Connections• Log in with your Behind

the Blackboard account at:

http://connections.blackboard.com

• Got a webinar topic

suggestion? Visit: http://tinyurl.com/techbugsuggest

Suggested Topics for Future Meetings

• Open Database (today)• Navigating Behind the Blackboard• Leveraging Reports • Troubleshooting Logs• How Secure Is Your E-learning Environment?

• Next topic: May 17th 11am EDT, Save the Date – Upgrading your Building Blocks

Participate in our site on Connections• Log in with your Behind

the Blackboard account at:

http://connections.blackboard.com

• Got a webinar topic

suggestion? Visit: http://tinyurl.com/techbugsuggest