Download presentation
Presentation is loading. Please wait.
Published byMerry Hardy Modified over 9 years ago
1
A Systems Approach to Constructing a Fact Book Information System Nick Roberts Soham Bhatt Get Your Fact Book
2
Define the term “Fact Book” Old problems New goals & issues How it works Agenda
3
What is a Fact Book? A Fact Book is a compendium of statistical data, trend analyses, and interpretative highlights on a wide variety of topics pertaining to the operation of the institution. Its contents are designed to inform its readers, answer the most frequently asked questions about the institution, and support institutional planning and evaluation.
4
KSU 2002 Fact Book
6
Wide variety of data sources Data translations among systems Errors and inconsistency Proofing The Problems Data ownership
7
Data Integrity Design Flexibility Web & PDF Output One Year Deadline Fact Book Project Goals Repeatable Process
8
Fact Book Best Practices Searched for Fact Book best practices in IR shops. Found standard PDF and ugly HTML. Searched for Fact Book best practices in IR shops. Found standard PDF and ugly HTML.
9
Miracle Dynamic Data Dynamic Data Hard Copy Data Hard Copy Data Style Graphs Archiving Design Flexibility Standards Presentation Colors Dynamic Data Web & PDF Accessibility Navigation Ownership Sharing & Reuse Formats Fact Book – The Big Picture
10
Data Gathering The Fact Book is a historical snap shot, so numbers are not constantly updated. Solution to multiple data sources: gather data into a centralized location. Extract this data during the Fact Book creation process. We used Oracle, but any DBMS will work.
11
Aggregate Data Instead of… TERMCRNIDGRADE 20030813424431567485A 20030812154431567485B 20030813477431567485A 20030815261431567485B 20030813424252468417B 20030812558252468417C 20030814424252468417B 20030813424252468417B 20030813424251542286D Traditional transaction processing systems consist of hundreds of tables of data. Historically, it is quite difficult to maintain snapshot data in such systems. For example, a student with an ID of 431567485 earned a grade of A for the course registered as 13424 in the term coded 200308. Traditional transaction processing systems consist of hundreds of tables of data. Historically, it is quite difficult to maintain snapshot data in such systems. For example, a student with an ID of 431567485 earned a grade of A for the course registered as 13424 in the term coded 200308.
12
Aggregate Data We have… Our centralized “data mart” contains a year, data code, and data value. We can extract a snapshot number at any time from the date it is captured. YEARDATA_CODEDATA_VALUE TM_200308STU_HEADCOUNT13158 TM_200208STU_HEADCOUNT12544 TM_200108STU_HEADCOUNT12013 FY_2004BGT_TOTAL112324226 FY_2003BGT_TOTAL108554979 FY_2002BGT_TOTAL104315336 For example, in Fall Semester 2003, the total student headcount at KSU was 13,158.
13
Fact Book ERD
14
Extract Data ETL Process Banner FB Schema Extract SIRS
15
Data ETL Process Since we had Oracle as our DBMS, we used PL/SQL for the extract/transform/load process. There are alternatives, such as: Java C++ Visual Basic And many more…
16
Miracle Dynamic Data Dynamic Data Hard Copy Data Hard Copy Data Style Graphs Archiving Design Flexibility Standards Presentation Colors Dynamic Data Web & PDF Accessibility Navigation Ownership Sharing & Reuse Formats Fact Book – The Big Picture
17
External Data Gathering IR Team BudgetFinancial AidHistoricalFaculty Excel Incompetent Ann Crystal Report No Response Jake Hard Copy Slow Sophia Access Fiesty Frank
18
Data Entry Data Insertion Process FB Schema External Data
19
Data Entry Forms We built data entry forms for all external data. There were a few issues: Security Design Flexibility Error Checking Input Validation Abstract FB year from end user
20
Data Entry Forms Our web-based data entry forms were constructed using VB.NET in Visual Studio.Net, but there are numerous alternatives, such as: Java C++ Oracle Forms Oracle Portal Active Server Pages And many more…
21
Miracle Dynamic Data Dynamic Data Style Graphs Archiving Design Flexibility Standards Presentation Colors Dynamic Data Web & PDF Accessibility Navigation Ownership Sharing & Reuse Formats Hard Copy Data Hard Copy Data Fact Book – The Big Picture
22
Graphs Macromedia Fireworks Harvard Graphics Microsoft Excel Adobe Illustrator Dynamic High Quality Web and PDF Compatibility JPEG Format Scalable Vector Graphics
23
Adobe Illustrator Decided to create static graphs in Illustrator. Used a color palette of no more than six colors. Saved the output in JPEG format. Illustrator is qwirky, and it has limitations for our use.
24
Miracle Dynamic Data Dynamic Data Style Graphs Archiving Design Flexibility Standards Presentation Colors Dynamic Data Web & PDF Accessibility Navigation Ownership Sharing & Reuse Formats Hard Copy Data Hard Copy Data Fact Book – The Big Picture
25
Data Extract Data Extraction Process FB Schema HTML & PDF
26
Data Styling Active Server Pages (ASP) Java Server Pages (JSP) PHP: Hypertext Preprocessor (PHP) Goal: Separate content from presentation Navigation Accessibility Oracle PL/SQL Design Flexibility Cold Fusion Browser Independence
27
Data Styling Solution: XML + XSL = HTML FB Schema XML XSL Miracle HTML
28
What is XML? Extensible Markup Language, abbreviated XML, describes a class of data objects called XML documents and partially describes the behavior of computer programs which process them. XML documents are made up of storage units called entities, which contain either parsed or unparsed data. Parsed data is made up of characters, some of which form character data, and some of which form markup. Markup encodes a description of the document's storage layout and logical structure. XML provides a mechanism to impose constraints on the storage layout and logical structure. W3C: http://www.w3.org/TR/2004/REC-xml-20040204
29
An XML Example
30
XML Creation We used PL/SQL to generate the XML, but there are other alternatives, such as: Java Visual Basic C# And others…
31
What is XSL? Extensible Stylesheet Language, abbreviated XSL, is a family of recommendations for defining XML document transformation and presentation. An XSLT stylesheet specifies the presentation of a class of XML documents by describing how an instance of the class is transformed into an XML document that uses a formatting vocabulary, such as (X)HTML. W3C: http://www.w3.org/TR/xslt
32
An XSL Example
33
Miracle Dynamic Data Dynamic Data Hard Copy Data Hard Copy Data Style Graphs Archiving Design Flexibility Standards Presentation Colors Dynamic Data Web & PDF Accessibility Navigation Ownership Sharing & Reuse Formats Fact Book – The Big Picture
34
What is the Miracle? ASP.NET makes building real world Web applications dramatically easier. Microsoft: http://msdn.microsoft.com/asp.net The.NET framework has a built-in component for combining XML documents with XSL stylesheets to create HTML output. It is included with a Windows 2000 web server.
35
ASP.NET Dim secId As String Dim pageId As String Dim subId As String Sub Page_Load secId = Request.QueryString("secid") pageId = Request.QueryString("pageid") subId = Request.QueryString("subid") Dim xslArg as XsltArgumentList = new XsltArgumentList() xslArg.AddParam("secid", "", secId) xslArg.AddParam("pageid", "", pageId) xslArg.AddParam("subid", "", subId) fb_toc_xml.DocumentSource = "../fb_2004_toc.xml" fb_toc_xml.TransformSource = "../fb_2004_toc.xsl" fb_toc_xml.TransformArgumentList = xslArg fb_page_xml.DocumentSource = "../fb_2004_" & secid & ".xml" fb_page_xml.TransformSource = "../fb_2004.xsl" fb_page_xml.TransformArgumentList = xslArg End Sub Dim secId As String Dim pageId As String Dim subId As String Sub Page_Load secId = Request.QueryString("secid") pageId = Request.QueryString("pageid") subId = Request.QueryString("subid") Dim xslArg as XsltArgumentList = new XsltArgumentList() xslArg.AddParam("secid", "", secId) xslArg.AddParam("pageid", "", pageId) xslArg.AddParam("subid", "", subId) fb_toc_xml.DocumentSource = "../fb_2004_toc.xml" fb_toc_xml.TransformSource = "../fb_2004_toc.xsl" fb_toc_xml.TransformArgumentList = xslArg fb_page_xml.DocumentSource = "../fb_2004_" & secid & ".xml" fb_page_xml.TransformSource = "../fb_2004.xsl" fb_page_xml.TransformArgumentList = xslArg End Sub
36
ASP.NET
37
Not a Microsoft Fan? Microsoft’s.NET framework is not the only solution for combining XML and XSL into HTML. Apache: http://cocoon.apache.org The Apache organization offers Cocoon, a web development framework built around the concepts of separation of concerns and component-based web development. For more info, visit http://cocoon.apache.org.
38
ASP.NET Dynamic Data Dynamic Data Hard Copy Data Hard Copy Data Style Graphs Archiving Design Flexibility Standards Presentation Colors Dynamic Data Web & PDF Accessibility Navigation Ownership Sharing & Reuse Formats Fact Book – The Big Picture
39
Future Improvements Dynamic PDF Output Easier Graph Manipulation Proofing
40
The End Questions? Comments? Angry Outbursts? Thanks to Dr. Randy Hinds for the use of some of his PowerPoint graphics.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.