120 likes | 230 Vues
Discover how Ball State University's libraries transformed their data warehousing environment into a user-friendly dashboard. With over 800,000 physical assets across multiple branches, our innovative system integrates various departments and dedicated technology for custom reporting and data visualization. Learn how we harness statistics, democratize information, and support decision-making. This approach not only saves time and resources but also empowers users to ask detailed questions and gain insights into library services and funding opportunities.
E N D
Data Warehousing our Library dataOur Dashboard One interface to rule them all... 2013 Ball State University Ball State University Libraries
Our environment • University Library • 800,000+ physical assets • 5 levels + 2 branch libraries • Multiple departments fulfilling dozens of services • Dedicated technology department
Where are we now? • “Factories” with informative “widgets” • Custom Reporting to answer detailed questions
Why we built...and why you should, too! • Our Dean • We are collecting some amazing statistics • What we don’t know, can hurt us • Anecdotes and estimating can mislead • Save time (i.e., $$$!) • Share & democratize information • Get money / funding
How is this possible? Techniques / tools brought together • PHP • CSS / CSS3 • Databases / Publically available APIs • MySQL • MSSQL • Facebook • Google Analytics • JavaScript • jQuery& jQueryUI
DB Structure (in progress)(beyond factory-specific tables) • factories (name, anyone_access, has_reporting, has_data_entry, default_color) • widgets (factory, description, anyone_access) • user_factory_permissions (factory, user, can_view_all_widgets, view_reports, data_entry) • user_factory_preferences (factory, user, order, show_or_not, show_on_load, color) • user_widget_permissions (widget, user) • user_widget_preferences (widget, user, order, show) • user_widget_favorites (user, widget, timestamp) WARNING Overkill Proceed only if you like LEFT OUTER JOINs!
First Attempt • PHP Code: • echo “<div class=‘factory’>”;echo "<h3>DMR Factory</h3>"; include(“dmrPieces.php”); echo "</div>"; wash...rinse...repeat...or write a function • Drawback • Output (most likely) will wait until final factory completes (in sequence)
Picking up the pieces (files) • Each factory has its own • Query to find significant figure(s) • Output the content in HTML chunks • Metric • Description • Long description, tables, and/or graphs • Help • Timestamp for how current the metric / widget is • Basic layout:<div class=‘widget’> <h1>[Metric]</h1> <div class=‘brief’>Description</div> <div class=‘extra_info’>Long description</div></div> • The rest is ‘formatting’ handled by CSS
Take two – AJAX via jQuery • The simplest form • jQuery code:$.get(“someFactoryPieces.php“, function(widgets) { $(".someFactory").html(widgets);}); • Advantages: • Factories are displayed ASAP • Graceful failure
Challenges • Knowing what to feature • Adoption – YMMV • Training / education • A widget for everything is overwhelming • Explaining caveats; what exactly is being counted? • Managing user permissions with fine granularity • Speed / System Performance • Initial investment (time/resources) • Data migration
Insights / Tips for success • Ensure top-down managerial interest, need, and involvement (across-the-board if possible) • Seek out what is important to your organization • “Good help” is hard to [write]...but important • Invite others “in charge” of factories to create the metrics • Patience • Timestamp your data
Questions And/or further show and tell!