Tech bug webinar Blackboard Learn OpenDB

3,581 views

Published on

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

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
3,581
On SlideShare
0
From Embeds
0
Number of Embeds
25
Actions
Shares
0
Downloads
51
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Tech bug webinar Blackboard Learn OpenDB

  1. 1. TechBUG Inaugural webinar: <br />Blackboard’s Open Database<br />March 15, 2011<br />
  2. 2. Intro to TechBUG<br />
  3. 3. History of TechBUG<br /><ul><li>SysBUG or “System Administrator” BUG started in 2009
  4. 4. Driven by the need that System Administrator need to rely upon each other to get insights and helpful tips
  5. 5. 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
  6. 6. Who is this group for?
  7. 7. Blackboard Administrator
  8. 8. Building Block Developers
  9. 9. Database Administrators
  10. 10. Directors of Information Technology
  11. 11. eLearning Coordinators/Technologists</li></li></ul><li>Who are we?<br />Tim Boshart (pronounced Bose-sart)<br />Blackboard Administrator at Univ. of Oregon w/ 21,000 studentsOriginally a Blackboard “Classic” institution, now running on 9.1<br />Over 10 years running Blackboard since CourseInfo 1.5<br />Running on Linux systemWhen not working with computers I can often be found at a<br />Baseball game or working on an 18” gauge railroad<br />Bryan Fendley<br />Director of Academic Computing at Univ. of Arkansas, Monticello w/ 3,485 students<br />Originally a CE institution, now running on 9.1<br />10 years running WebCT/Blackboard<br />Running a Solaris system<br />Past Texas State Champion Cross Country Motocross Racer<br />
  12. 12.
  13. 13. Open Database <br />The Open Database is all about enabling client access to and understanding of the data and structures necessary to more effectively and efficiently:<br /><ul><li>Develop System Tools and Modules
  14. 14. Build reports for Determining Usage and Adoption
  15. 15. Perform Diagnostics
  16. 16. Activity Forensics/Reconstruction
  17. 17. Assess Performance</li></ul>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.<br />http://bit.ly/cFXPcb<br />
  18. 18. The Blackboard® Database<br />
  19. 19. 1 - Documentation<br />http://bit.ly/ak6hKR<br />
  20. 20.
  21. 21.
  22. 22. Embedded Comments<br />SQL Server<br />select t.name, c.name, p.value<br /> from sys.extended_properties p<br /> left outer join sys.tables t on p.major_id = t.object_id<br /> left outer join sys.columns c on p.major_id = c.object_id<br /> and p.minor_id = c.column_id<br /> where t.name like 'activity%'<br /> and p.name = 'MS_Description'<br />Oracle<br />select * <br /> from user_tab_comments<br /> where table_name = 'MY_TABLE'<br />
  23. 23. Embedded Comments…<br />
  24. 24. 2 - Extensible Schema<br /><ul><li>Blackboard Building Blocks™ may install schema elements
  25. 25. Schema installation uses the same definitions as core code – schema.xml, etc.</li></ul>http://bit.ly/hYpSvf<br />
  26. 26. 3 - Reporting<br />Built In Reports<br />Course and Tool Level<br />Track views and activities at the course and tool level<br />View usage at a course by course basis<br />Content Level<br />Grade book<br />System Reports<br />Textbook Reports<br />
  27. 27. Business Intelligence and Reporting Tools (BIRT)<br />http://bit.ly/ce8EmM<br />
  28. 28. Common Use Cases and Needs<br />Explore Usage and Adoption<br />Tool Usage<br />Performance Management and Planning<br />Instructor and Student Adoption<br />Assess Programs and Performance<br />Blackboard Outcomes Assessment<br />Data Diagnostics – e.g. what is going on with my data<br />Forensics / Reconstruction –e.g. what did this user do<br />
  29. 29. Models, methods, and measurement metrics<br />Easier<br /><ul><li>Basic numbers
  30. 30. Thresholds
  31. 31. Trends
  32. 32. Patterns
  33. 33. Activity streams </li></ul>More difficult, but more interesting<br />Who logs in the most<br />Who access the most pages<br />Who teaches the most courses<br />Who adds or accesses the most content<br />Who uses the most available tools<br />
  34. 34. Examples:<br />Logins<br />Content<br />Discussion forums<br />Enrollments<br />Tools<br />Page hits<br />Questions:<br />bb_bb60 vs BBLEARN?<br />_stats (eg: bb_bb60_stats) is populated when you run PurgeAccumulator.sh/.bat<br />Activity_accumulator_queue (flushed every 10 mins)<br />
  35. 35. Logins & Page Hits<br />activity_accumulator<br />event_type (LOGIN_ATTEMPT, PAGE_ACCESS)<br />user_pk1<br />timestamp<br />users<br />pk1<br />user_id<br />institution_roles_pk1<br />institution_roles<br />pk1<br />role_name<br />description<br />role_id<br />
  36. 36. Logins & Page Hits (examples)<br />Obtain total logins for a given time period<br /> SELECT count(*) FROM activity_accumulatorWHERE event_type = 'LOGIN_ATTEMPT' ANDtimestamp BETWEEN <br /> convert(datetime, '2011-01-01', 120) AND convert(datetime, '2011-02-28', 120)<br /> SELECT count(*) <br /> FROM activity_accumulator<br /> WHERE event_type = 'LOGIN_ATTEMPT' AND <br /> timestamp BETWEEN <br />to_date('2011-01-01','YYYY-MM-DD HH24:MI:SS') AND to_date(‘2011-02-28','YYYY-MM-DD HH24:MI:SS')<br />MS SQL<br />Oracle<br />
  37. 37. <ul><li>Obtain total # users who logged in on a given day</li></ul>SELECT count(*) FROM users WHERE last_login_date BETWEEN <br /> convert(datetime, '2011-02-27', 120) AND<br /> convert(datetime, '2011-02-28', 120)<br /><ul><li>Obtain total # page hits on a given day</li></ul>SELECT count(*) <br /> FROM activity_accumulator<br /> WHERE event_type = 'PAGE_ACCESS' AND <br /> timestamp BETWEEN <br /> convert(datetime, '2011-02-27', 120) AND<br /> convert(datetime, '2011-02-28', 120)<br />Logins & Page Hits...<br />
  38. 38. Content<br />content_handlers<br />pk1<br />handle<br />Name<br />course_content_handlers<br />crsmain_pk1<br />content_handlers_pk1<br />available_ind<br />course_contents<br />pk1<br />cnthndlr_handle<br />dtcreated<br />dtmodified<br />crsmain_pk1<br />available_ind<br />title<br />parent_pk1<br />course_contents_files<br />links course_contents to files<br />files<br />storage_type (CS or LOCAL)<br />file_name<br />link_name<br />file_size<br />course_main<br />pk1<br />...<br />
  39. 39. Content<br />Obtain total content count by type<br />SELECT count (*) FROM course_contentsWHERE cnthndlr_handle = 'resource/x-bb-document'<br />Obtain content added in the past day<br /> SELECT count(*) <br /> FROM course_contents<br /> WHERE dtcreated BETWEEN <br /> convert(datetime, '2011-02-27', 120) ANDconvert(datetime, '2011-02-28', 120)<br />
  40. 40. Discussion forums<br />Conference_main<br />Forum_main (course-level, group-level)<br />Msg_main (parent-child relationship for replies)<br />Example:<br />Obtain total messages<br />SELECT count(*) <br />FROM msg_main<br />
  41. 41. Enrollments<br />users<br />course_main<br />course_users<br />Links pk1 of users and courses tables<br />course_roles<br />Example (enabled instructor enrollments)<br /> SELECT COUNT(DISTINCT users.pk1) <br /> FROM course_users, users <br /> WHERE course_users.row_status = 0 AND <br />course_users.available_ind = 'Y' AND <br />course_users.role IN ('B', 'G', 'P', 'T') AND <br /> users.pk1 = course_users.users_pk1 AND <br />users.row_status = 0 AND <br />users.available_ind = 'Y'<br />
  42. 42. Tools<br />navigation_item<br />application (indicator of product subsystem)<br />internal_handle<br />course_navigation_item<br />internal_handle<br />enabled_ind<br />application<br />presence of plugins_pk1 indicates a Building Block<br />Blogs, journals, groups <br />Others have relevant data beyond on/off – but in their own tables<br />
  43. 43. Activity Streams (example)<br />User streams<br />SELECT pk1, event_type, user_pk1, course_pk1, timestamp, data FROM activity_accumulator<br /> WHERE user_pk1 IS NOT NULL<br /> ORDER BY user_pk1, timestamp<br />Course streams<br />SELECT pk1, event_type, user_pk1, course_pk1, timestamp, data <br /> FROM activity_accumulator<br /> WHERE course_pk1 IS NOT NULL <br /> ORDER BY course_pk1, timestamp<br />DO NOT run in production <br />without limiting query<br />STOP<br />
  44. 44. Tools to help (pick the right one)<br />SQL Server Management Studio<br />Oracle SQL Developer <br />Aqua Data Studio<br />Blackboard-specific development<br />
  45. 45. SQL Server Management Studio<br />
  46. 46. Oracle SQL Developer<br />
  47. 47. Aqua Data Studio<br />
  48. 48. Blackboard-specific: ASTRO<br />http://bit.ly/9gim3j<br />
  49. 49. Blackboard-specific: UMBC Reports<br />http://bit.ly/gP2f6E<br />
  50. 50. Suggested Topics for Future Meetings<br /><ul><li> Open Database (today)
  51. 51. Navigating Behind the Blackboard
  52. 52. Leveraging Reports
  53. 53. Troubleshooting Logs
  54. 54. ??? Tim? Bryan?
  55. 55. Next topic: May 17th 11am EDT, Save the Date – Upgrading your Building Blocks</li></li></ul><li>Participate in our site on Connections<br /><ul><li>Log in with your Behind the Blackboard account at:</li></ul>http://connections.blackboard.com<br /><ul><li>Got a webinar topic suggestion? Visit: http://tinyurl.com/techbugsuggest</li></li></ul><li>Suggested Topics for Future Meetings<br /><ul><li> Open Database (today)
  56. 56. Navigating Behind the Blackboard
  57. 57. Leveraging Reports
  58. 58. Troubleshooting Logs
  59. 59. How Secure Is Your E-learning Environment?
  60. 60. Next topic: May 17th 11am EDT, Save the Date – Upgrading your Building Blocks</li></li></ul><li>Participate in our site on Connections<br /><ul><li>Log in with your Behind the Blackboard account at:</li></ul>http://connections.blackboard.com<br /><ul><li>Got a webinar topic suggestion? Visit: http://tinyurl.com/techbugsuggest</li>

×