Ron Santos Simon Fraser University Ron Santos Simon Fraser University Stats all folks! Extracting usable statistics from Blackboard Vista using the Powersight.

Slides:



Advertisements
Similar presentations
Scott Kodai Distributed Learning California State University, Chico Scott Kodai Distributed Learning California State University, Chico Extracting Useful.
Advertisements

Core Data Trial in North West Institute of Further & Higher Education 27 May 2003 Greg McClure Maureen McKee Davey OHare.
Connecting to Databases. connecting to DB DB server typically a standalone application Server runs on localhost for smaller sites –i.e. Same machine as.
Connecting to Databases. relational databases tables and relations accessed using SQL database -specific functionality –transaction processing commit.
PHP SQL. Connection code:- mysql_connect("server", "username", "password"); Connect to the Database Server with the authorised user and password. Eg $connect.
OCEAN DATA SYSTEMS Presents Wonderware HMI Reports
NEVUG - August 2004 To Boldly Go: Using Perl and the Perl DBI as an Adjunct to MS Access for Custom Reports Maggie Rioux MBLWHOI Library Woods Hole, Mass.
ESafe Reporter V3.0 eSafe Learning and Certification Program February 2007.
A Blackboard Building Block™ Crash Course for Web Developers
ManageEngine TM Applications Manager 8 Monitoring Custom Applications.
B.Sc. Multimedia ComputingMedia Technologies Database Technologies.
© Anselm SpoerriInfo + Web Tech Course Information Technologies Info + Web Tech Course Anselm Spoerri PhD (MIT) Rutgers University
Multiple Tiers in Action
Performed by:Gidi Getter Svetlana Klinovsky Supervised by:Viktor Kulikov 08/03/2009.
Lecture 4: Introduction to PHP 3 PHP & MySQL
Fall 2011 Nassau Community College ITE153 – Operating Systems Session 24 NTFS Permissions and Sharing Printers 1.
NWIUG / Google Analytics Sara Amato / Bowdoin College Bill Kelm / Willamette University (...and thanks to Rebekah Kilzer The Ohio State University Libraries.
M.P. Johnson, DBMS, Stern/NYU, Spring C : Database Management Systems Lecture #21 M.P. Johnson Stern School of Business, NYU Spring, 2005.
APACHE SERVER By Innovationframes.com »
Today’s Agenda Chapter 12 Admin Tasks Chapter 13 Automating Admin Tasks.
“This presentation is for informational purposes only and may not be incorporated into a contract or agreement.”
JAVASCRIPT HOW TO PROGRAM -2 DR. JOHN P. ABRAHAM UTPA.
6/1/2001 Supplementing Aleph Reports Using The Crystal Reports Web Component Server Presented by Bob Gerrity Head.
WebCT Vista PowerLinks Reporting Interfaces John Hallett Senior Product Manager WebCT, Inc.
1 CSC 440 Database Management Systems JDBC This presentation uses slides and lecture notes available from
Session 5: Working with MySQL iNET Academy Open Source Web Development.
INE1020 Introduction to Internet Engineering Tutorial 8 All about Lab 6.
Student Learning Environment on the World Wide Web l CGI-programming in Perl for the connection of databases over the Internet. l Web authoring using Frontpage.
Bboogle: Updates and Experience Patricia Goldweic, Sr. Software Engineer, Northwestern University Brian Nielsen, Project Manager, Faculty Initiatives,
Uniting Cultures, Technology & Applications A Case Study University of New Hampshire.
DBI tutorial February 5 th, What is DBI DBI is short for Database Interface, which is a Perl module DBI is short for Database Interface, which is.
1 Presentation to “Web Search and Mining” by Jennifer Prasol Resources: Web Analytics.
M1G Introduction to Database Development 6. Building Applications.
PHP and MySQL CS How Web Site Architectures Work  User’s browser sends HTTP request.  The request may be a form where the action is to call PHP.
BINF 634 Fall Lec 11 Visualization1 Plan for Tonight A synopsis of our progress through the course Lecture 11 Visualization in PERL Lab 2 Based.
(Chapter 10 continued) Our examples feature MySQL as the database engine. It's open source and free. It's fully featured. And it's platform independent.
Putting it all together Dynamic Data Base Access Norman White Stern School of Business.
Chapter 2: SQL – The Basics Objectives: 1.The SQL execution environment 2.SELECT statement 3.SQL Developer & SQL*Plus.
By Matt Baker Eric Sprauve Stephen Cauterucio. The Problem Advisors create a sign-up sheet to be posted on the door of their office. These sign-up sheets.
Mainframe (Host) - Communications - User Interface - Business Logic - DBMS - Operating System - Storage (DB Files) Terminal (Display/Keyboard) Terminal.
Analysis of SQL injection prevention using a filtering proxy server By: David Rowe Supervisor: Barry Irwin.
Prof Frankl, Spring 2008CS Polytechnic University 1 Overview of Web database applications with PHP.
Databases On The Web with perl Archie Warnock
Java Portals and Portlets Submitted By: Rashi Chopra CIS 764 Fall 2007 Rashi Chopra.
Oracle Data Integrator Agents. 8-2 Understanding Agents.
The Problems HTTP is disconnected So many database vendors Create a simple consistent versatile interface on the data Look at ADO.NET classes OleDb SQL.
Copyright 2007 Byrne Reese. Distributed under Creative Commons, share and share alike with attribution. Intermediate Perl Programming Class Four Instructor:
Copyright 2007 Byrne Reese. Distributed under Creative Commons, share and share alike with attribution. Intermediate Perl Programming Class Three Instructor:
Fall 2000C.Watters1 World Wide Web and E-Commerce Servers & Server Side Processing.
Remote Access Usages. Remote Desktop Remote desktop technology makes it possible to view another computer's desktop on your computer. This means you can.
IS2803 Developing Multimedia Applications for Business (Part 2) Lecture 1: Introduction to IS2803 Rob Gleasure
CP476 Internet Computing Perl CGI and MySql 1 Relational Databases –A database is a collection of data organized to allow relatively easy access for retrievals,
ECHO A System Monitoring and Management Tool Yitao Duan and Dawey Huang.
DBI: The Neophyte's Guide1 What is DBI? DBI = DataBase Interface DBI is database-independent DBI allows you to write code that interacts with databases.
An Architecture for Adaptive Content Extraction in Wireless Networks Phil West Greg Foster Peter Clayton Submitted to the South African Telecommunications.
WebScan: Implementing QueryServer 2.0 Karl Geiger, Amgen Inc. BRS NA UG August 1999.
Google Analytics Graham Triggs Head of Repository Systems, Symplectic.
START Application Spencer Johnson Jonathan Barella Cohner Marker.
SQLcl: A Modern Command Line Interface to the Oracle Database
Introduction to Dynamic Web Programming
Web Portal Project.
Power Hour June 2012 Usage Metrics Learning about your audience
PHP / MySQL Introduction
Perl Database – Just Enough
Chapter 12: Automated data collection methods
ISC440: Web Programming 2 Server-side Scripting PHP 3
Access eJournals Form Your Home
Comparison Engines and Data Feeds
Presentation transcript:

Ron Santos Simon Fraser University Ron Santos Simon Fraser University Stats all folks! Extracting usable statistics from Blackboard Vista using the Powersight Module and a little elbow grease

Sample Graphs using the Powersight tables (e.g. course growth, student distribution, tool distribution) Sample SQL used to generate the reports Other uses (beyond graphs and stats) Perl modules Google Analytics Presentation available at What will you learn in this session?

Named after famous explorer Opened on September 9, 1965 Located on British Columbia, Canada One University - Three campuses –Burnaby –Vancouver –Surrey 900 faculty 1600 staff 100,000 alumni Simon Fraser Simon Fraser University

Student Enrollments (Fall2008) Products used: Peoplesoft, LDAP/CAS3, Blackboard Vista Blackboard/WebCT history CE3CE4CE6Vista4Vista Blackboard Vista setup –6 Managed nodes (1 protected JMS server) –Oracle 10g (~500GB) –Sun Sparc Solaris 10 Simon Fraser University Unique students in at least 1 class Total student enrollments in courses Undergraduates22,82273,535 Graduates4,2587,726

Course Growth Graph SELECT source_name, source_id FROM rpt_learning_context WHERE ims_value = 'SECTION' AND source_id LIKE ' -%' sourced.id = (e.g math-100-d100)

Number of Unique Students SELECT COUNT (DISTINCT p.person_id) FROM rpt_learning_context lc, rpt_member m, rpt_person p WHERE lc.learning_context_id = m.learning_context_id AND p.person_id = m.person_id AND m.active = 1 AND m.role = 'SSTU' AND p.demo_user = 0 AND lc.source_id LIKE '$semCode-%' sourced.id = (e.g math-100-d100)

Course Levels Graph SELECT COUNT(*) FROM rpt_learning_context WHERE ims_value = 'SECTION' AND source_id LIKE '$semCode-%-d1%' sourced.id = (e.g math-100-d100)

Student Levels Graph SELECT COUNT(DISTINCT p.person_id) FROM rpt_learning_context lc, rpt_member m, rpt_person p WHERE lc.learning_context_id = m.learning_context_id AND p.person_id = m.person_id AND m.active = 1 AND p.demo_user = 0 AND m.role = 'SSTU' AND lc.source_id LIKE '$semCode-%-d1%' sourced.id = (e.g math-100-d100)

Tool Distribution (RPT_TRACKING)

SELECT (SELECT lc2.name FROM rpt_learning_context lc2 WHERE b.learning_context_id = lc.parent_learning_context_id) as Parent, lc.name, lc.source_name, lc.source_id FROM rpt_learning_context lc, rpt_member m, rpt_person p WHERE lc.learning_context_id = m.learning_context_id AND p.person_id = m.person_id AND m.role = 'SDES' AND lc.ims_value = 'SECTION' AND m.active = 1 AND p.source_name = ' ' AND p.source_id = ’ ' Other uses

Application level –DBI - DBI stands for database interface Allows Perl of running SQL queries –Text::CSV::Simple - Simple-1.00/lib/Text/CSV/Simple.pmhttp://search.cpan.org/~tmtm/Text-CSV- Simple-1.00/lib/Text/CSV/Simple.pm Parser for CSV files –GD::Graph /Graph.pmhttp://search.cpan.org/~bwarfield/GDGraph- 1.44/Graph.pm Graphing module for Perl5 Perl modules

Database level –DBD::Proxy driver /lib/DBI/ProxyServer.pm /lib/DBI/ProxyServer.pm Module for implementing a proxy for the DBI proxy driver Allows PERL access to a database over the network DBI proxy architecture allows for on-the-fly compression of query and result data, and also encryption of that data. These two facilities make DBI a powerful tool for pulling large results sets of data over the network –dbiproxy A proxy server for the DBD::Proxy driver This tool is just a front end for the DBI::ProxyServer package /usr/local/bin/dbiproxy --configfile /etc/dbiproxy.cfg –Perl DBD::Oracle /Oracle.pmhttp://search.cpan.org/~pythian/DBD-Oracle- 1.23/Oracle.pm Oracle database driver for the DBI module Perl modules

{ facility => 'daemon', pidfile => '/var/dbiproxy/dbiproxy.pid', user => 'nobody', group => 'nobody', localport => '3333', mode => 'fork', user => 'nobody', group => 'nobody', # Access control clients => [ # Accept the local LAN ( * ) { mask => '^192\.168\.1\.\d+$', accept => 1, users => [ 'wctsupport' ], }, Perl modules # Accept our off-site machines ( * ) but with a cipher { mask => '^192\.168\.2\.\d+$', accept => 1, users => [ 'wctsupport' ],, cipher => Crypt::IDEA->new( 'be39893df23f98a2' ) }, # Deny everything else { # any IP-address is meant here mask => '^(\d+)\.(\d+)\.(\d+)\.(\d+)$', accept => 0, } ] } Sample access configuration for the DBI proxy server (/etc/dbiproxy.cfg)

Basic Perl script 1.Connect to DB (via DBI Proxy) $dsn = "DBI:Proxy:hostname=$hostname;port=$port;dsn=DBI:Oracle:$sid"; $dbh = DBI -> connect($dsn, $user, $passwd) || die ("Database connection failed."); 2.Run SQL my $sth = $dbh -> prepare( $sql); $sth -> execute(); while = $sth -> fetchrow_array ) { } 3.Store SQL results into a CSV file 4.Parse CSV file using Text::CSV::Simple my $parser = Text::CSV::Simple->new(); = $parser->read_file($file); Perl modules

5. Graph CSV using GD::Graph my $graph = GD::Graph::linespoints->new(600, 500); $graph->set( x_label => 'Year', x_label_position => 0.5, y_label => 'Course Per Semester', title => 'WebCT Course Growth', y_max_value => 700, y_tick_number => 7, zero_axis_only => 0, zero_axis => 0, show_values => 1, markers => [1, 5, 8], marker_size => 3, skip_undef => 1, transparent => 0, ) or die $graph->error; my $format = $graph->export_format; open (IMG, ">$image") or die ("Error creating $image\n");; binmode IMG; print IMG close IMG; Perl modules

Require Google account Need custom entry page for Blackboard Simply put the tracking code (JavaScript) immediately before the tag of each page you want to track (entry page, login, logout) –Example tracking code var gaJsHost = ((" == document.location.protocol) ? " : " document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E")); try{ var pageTracker = _gat._getTracker("UA-xxxxxx-x"); pageTracker._trackPageview(); } catch(err) {} Does not track SSO logins (e.g. logins from portals) Personally identifiable info are not tracked (username and IP address) Provides nice graphs and reports that can be exported & ed Google Analytics

Browser information & usage (monthly view)

Google Analytics OS information & usage (monthly view)

Google Analytics Many other “useful” information

Who wants to print out a handout? Instead, check out my presentation on Questions?