A Systems Approach to Constructing a Fact Book Information System Nick Roberts Soham Bhatt Get Your Fact Book
Define the term “Fact Book” Old problems New goals & issues How it works Agenda
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.
KSU 2002 Fact Book
Wide variety of data sources Data translations among systems Errors and inconsistency Proofing The Problems Data ownership
Data Integrity Design Flexibility Web & PDF Output One Year Deadline Fact Book Project Goals Repeatable Process
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.
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
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.
Aggregate Data Instead of… TERMCRNIDGRADE A B A B B C B B D 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 earned a grade of A for the course registered as in the term coded 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 earned a grade of A for the course registered as in the term coded
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_TOTAL FY_2003BGT_TOTAL FY_2002BGT_TOTAL For example, in Fall Semester 2003, the total student headcount at KSU was 13,158.
Fact Book ERD
Extract Data ETL Process Banner FB Schema Extract SIRS
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…
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
External Data Gathering IR Team BudgetFinancial AidHistoricalFaculty Excel Incompetent Ann Crystal Report No Response Jake Hard Copy Slow Sophia Access Fiesty Frank
Data Entry Data Insertion Process FB Schema External Data
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
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…
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
Graphs Macromedia Fireworks Harvard Graphics Microsoft Excel Adobe Illustrator Dynamic High Quality Web and PDF Compatibility JPEG Format Scalable Vector Graphics
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.
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
Data Extract Data Extraction Process FB Schema HTML & PDF
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
Data Styling Solution: XML + XSL = HTML FB Schema XML XSL Miracle HTML
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:
An XML Example
XML Creation We used PL/SQL to generate the XML, but there are other alternatives, such as: Java Visual Basic C# And others…
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:
An XSL Example
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
What is the Miracle? ASP.NET makes building real world Web applications dramatically easier. Microsoft: 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.
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
ASP.NET
Not a Microsoft Fan? Microsoft’s.NET framework is not the only solution for combining XML and XSL into HTML. Apache: 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
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
Future Improvements Dynamic PDF Output Easier Graph Manipulation Proofing
The End Questions? Comments? Angry Outbursts? Thanks to Dr. Randy Hinds for the use of some of his PowerPoint graphics.