SlideShare una empresa de Scribd logo
1 de 70
Descargar para leer sin conexión
HH Cascade User Conference * September 2014 * Atlanta, Georgia 
Ingesting external Data 
into Cascade 
(Schedule Classes) 
Alem Areki 
Sr. Web Programmer 
UNIVERSITY OF RICHMOND 
Wednesday, September 17, 14
Ingesting Banner output Schedule classes into Cascade - Workflow 
Wednesday, September 17, 14
Alem Areki 
Senior Web Programmer 
Wednesday, September 17, 14
Alem Areki 
Senior Web Programmer 
* Mathematics - Computer Science - UCSD* 
* University of Richmond * 
* Family * 
* Web * 
* PT Freelance Developer * 
Wednesday, September 17, 14
Who are we? 
Wednesday, September 17, 14
Who are we? 
• Private, highly selective, liberal arts 
university founded in 1830 
• Five Schools offering undergraduate, 
master’s, MBA, and law degrees 
Wednesday, September 17, 14
Who are we? 
Schools of Arts and Sciences 
Wednesday, September 17, 14
Who are we? 
Robins School of Business 
Wednesday, September 17, 14
Who are we? 
Jepson School of Leadership Studies 
Wednesday, September 17, 14
Who are we? 
University of Richmond School of Law 
Wednesday, September 17, 14
Who are we? 
School of Professional & Continuing Studies - SPCS 
(Complicated) 
Wednesday, September 17, 14
Who are we? 
School of Professional & Continuing 
Studies (SPCS) 
• Summer School 
• Evening School 
• Non-traditional students of all ages 
program 
• Think Again 
• Osher Program 
Wednesday, September 17, 14
Who are we? 
TEAM 
Web Services 
(Team of three - Back-end 
Developers, Server 
Infrastructure) 
University 
Communications 
(Front-end Developers, 
Designers, Web Editors) 
Wednesday, September 17, 14
What we do at UR 
Wednesday, September 17, 14
What we do at UR 
Wednesday, September 17, 14
What we do at UR 
We do the Public 
Web .... 
Wednesday, September 17, 14
What we do at UR 
Wednesday, September 17, 14
What we do at UR 
Web Redesign + Artemis 
Backend 
5 Guiding Principles 
Wednesday, September 17, 14
Artemis as a Project 
Self Identified Single Source Content Type → Integrate Related Content → Deliver 
COPE (Create Once Publish Everywhere) 
Wednesday, September 17, 14
Web Redesign + Artemis Backend 
5 Guiding Principles 
• Shared Single Sourced Content 
• Highly Flexible, Integrated (semantically linked) 
Content Types 
• Exceptional Clear and Simple Wayfinding (nav + 
related content) 
• Strong Storytelling (Experiences) over Marketing 
• Facilitate Business Process Improvements with 
Artemis/Web 
Wednesday, September 17, 14
An innovation-to-factory cycle 
Perceived 
Need 
Brainstorm 
Ideas 
Conceive 
Approach 
Solutions 
Research 
Proof of 
Concept 
Deliver Convert to 
Initial 
Factory Model 
Production Release Rinse & 
Repeat 
Wednesday, September 17, 14
What we do at UR 
• We do almost everything in Cascade 
Server 
• Cascade Server is a key part of our 
success 
Wednesday, September 17, 14
What we do at UR 
• In Cascade Server .... 
• We manage & maintain more that 
140 websites 
• More than 44 Integrated content 
Types are managed & maintained 
Wednesday, September 17, 14
More than 44 Integrated Content Types 
in our CMS 
Wednesday, September 17, 14
Integrated Single Source Content Types 
Major & Minor → Schedule Class → Faculty Bio → Courses 
Wednesday, September 17, 14
Integrated Single Source Content Types 
Wednesday, September 17, 14
Integrated Single Source Content Types 
Wednesday, September 17, 14
Integrated Single Source Content Types 
Wednesday, September 17, 14
Integrated Single Source Content Types 
Wednesday, September 17, 14
Integrated Single Source Content Types 
Wednesday, September 17, 14
Integrated Single Source Content Types 
Wednesday, September 17, 14
Artemis Achieves 
Wednesday, September 17, 14
Artemis Achieves 
Single source 
content Developments 
Wednesday, September 17, 14
Artemis Achieves 
Single source 
content Developments 
Delivery targeted 
content to the users! 
Wednesday, September 17, 14
Artemis Achieves 
Single source 
content Developments 
Delivery targeted 
content to the users! 
Supports our 
factory model! 
Wednesday, September 17, 14
Artemis Achieves 
Single source 
content Developments 
Delivery targeted 
content to the users! 
Supports our 
factory model! 
Makes content 
discovery easy! 
Wednesday, September 17, 14
Cascade Server enabled us 
to fully manage & maintain the 
University Catalog and most 
Schedules as a single source 
delivery system that channels 
into multiple outputs. 
Wednesday, September 17, 14
Stopped Printing 
Course Catalogs & Schedules 
No longer printing 
20,000+ books a year! 
Wednesday, September 17, 14
How to ingest SPCS 
Evening School Schedule 
Classes into Cascade 
Server 
Wednesday, September 17, 14
Overview prior to ingesting Schedule 
Data 
• SPCS Schedule Data comes from a number of 
sources (Banner and Other) 
• The Data has to be manually improved 
• The Data exists in excel spreadsheets and uploaded 
to mySQL after manual improvements (Time 
consuming procedures) 
• Other Catalog are being migrated to Cascade + 
eXist-db Artemis Infrastructure 
Wednesday, September 17, 14
Ingesting Banner output Schedule classes into Cascade - Workflow 
Wednesday, September 17, 14
Preparing Schedule data for 
XML ingestions 
(Phase one) 
CSV → XML → Data Definition 
Wednesday, September 17, 14
Preparing Schedule data for XML ingestions 
(Phase one) 
CSV → XML → Data Definition 
• Understand Data Flow 
• Understand schedule data structure (Banner output) 
• Mapping Schedule Data (CSV file) into Cascade XML - (Create DD based 
on CSV file Data Structure Normalize & Prioritize Schedule Data) 
Wednesday, September 17, 14
Evening Class Original Banner output 
Wednesday, September 17, 14
Evening Class Excel Doc 
Wednesday, September 17, 14
Preparing Schedule data for XML ingestions 
CSV → XML → Data Definition 
• General Rules 
• Registrar office will provide data pull (the data is a file 
delimited with ‘>’). And then save the data as CSV file 
• Identify Regular Schedules (repeat week to week) 
• Identify Irregular Schedules (classes are not held on a regular 
schedule) 
(Phase one) 
Wednesday, September 17, 14
Evening Class Cascade XML Output 
Wednesday, September 17, 14
Evening Class Cascade XML Output 
Wednesday, September 17, 14
Preparing Schedule data for XML ingestions 
CSV → XML → Data Definition 
• Column Rules 
• Date Fields Format: YYYY-MM-DD 
• Time Fields Format: HH-MM-SS 
• Adjust/Change session_bldg, session_room, session_date_start, 
session_date_end 
(Phase one) 
Wednesday, September 17, 14
Preparing Schedule data for XML ingestions 
(Phase one) 
CSV → XML → Data Definition 
• Row Rules 
• Each row must have only one CRN 
• If there are more than one row of the same CRN, combine 
them into one row (there are few classes with the same 
CRN offer on different days) 
• Delete if there is empty row 
Wednesday, September 17, 14
Evening Class Cascade Data Definitions 
Wednesday, September 17, 14
Course & Schedule Importer 
(Java Web Services) 
(Phase two) 
CSV → XML → Data Definition 
Wednesday, September 17, 14
Course & Schedule Importer (Java Web Services) 
(Phase two) 
CSV → XML → Data Definition 
• Testing & learning - https://github.com/hannonhill/Webservices-PHP-Sample-Project 
• WSDL (Web Services Description Language) 
• SOAP (Simple Object Access Protocol) request/response 
• Communicate Bradley Wagner on Web Services Java Sample Project - https://github.com/ 
hannonhill/Webservices-Java-Sample-Project (WSDL, IDE - Installation of Eclipse, Maven, 
Git) and configure our environment. 
• Java Implementation - Creating Java Classes 
Wednesday, September 17, 14
Course & Schedule Importer (Java Web Services) 
(Phase two) 
• Java Implementation (Creating Java Classes) 
• CourseAndScheduleImporter.java 
• ScheduleBean.java 
• ScheduleReadWorker.java 
• ScheduleWriter.java 
• ScheduleWriteWorker.java 
• CSIPanel.java 
Wednesday, September 17, 14
Managing Schedule Classes in Cascade 
(Phase Three) 
Wednesday, September 17, 14
Managing Schedule Classes in Cascade (Phase Three) 
• Merging Schedule class 
with other content 
type (example - 
course catalog) 
• Generate different 
output (Print xml for 
InDesign, html, xml, 
etc) 
• Versioning 
Wednesday, September 17, 14
Example: Versioning Course - ADED301U 
Wednesday, September 17, 14
Example: Versioning Course - ADED301U 
Wednesday, September 17, 14
Example: Versioning Course - ADED301U 
Wednesday, September 17, 14
Example: Versioning Course - ADED301U 
Wednesday, September 17, 14
Ingesting Banner output Schedule classes into Cascade - Workflow 
Wednesday, September 17, 14
Ingesting Banner Schedule into 
Cascade Server 
** Demo ** 
Wednesday, September 17, 14
Ingesting Banner Schedule into Cascade 
Success 
• Relevant, Timely Single-Source Content 
• Strong UI emphasis: multiplatform, accessible 
• Wayfinding and navigation improvements 
• Make content discovery easy! 
Wednesday, September 17, 14
Ingesting Banner Schedule into Cascade 
Success 
• Support our factory model! 
• Deliver targeted content to the users! 
• Cost Savings ($$$) 
Wednesday, September 17, 14
Ingesting Banner Schedule into Cascade 
Testimony .. 
Wednesday, September 17, 14
Ingesting Banner Schedule into Cascade 
Testimony .. 
“Shifting from MySQL data managed in PHP myAdmin to XML 
data managed in Cascade enabled us to build a robust, native 
search interface for schedule data. This, in turn, made schedules 
much easier for the end user to search, ultimately resulting in 
greater satisfaction with the online schedule. As a result of this 
increased satisfaction with our online schedules, we were able to 
eliminate our print schedule entirely.” 
Daniel Hocutt - SPCS Web Manager 
Wednesday, September 17, 14
Ingesting Banner Schedule into Cascade 
Testimony .. 
Wednesday, September 17, 14
Ingesting Banner Schedule into Cascade 
Testimony .. 
“The cost savings for eliminating three print schedules (Fall, Spring, 
and Summer) was significant; eliminating labor costs for preparing 
data for print and laying out the print publication increases the 
savings. And using SOAP ingesting procedure significantly reduces 
the labor required to prepare Excel data from Banner for ingestion 
into XML. Overall cost savings on an annual basis are calculated in 
the tens of thousands of dollars. ....” 
Daniel Hocutt - SPCS Web Manager 
Wednesday, September 17, 14
Resources 
• Web Services - http://www.hannonhill.com/kb/Web-Services/ 
• How to create a Data Definition asset from HH Web Services examples 
project in Java - https://github.com/hannonhill/Cascade-Web-Services- 
Examples/blob/master/java/hannonhill-test-cases/TestStructuredData.java#L34 
• Sample Project Cascade’s SOAP web services in PHP - https://github.com/ 
hannonhill/Webservices-PHP-Sample-Project 
• A sample Java Project to get started with the Cascade SOAP Web Services - 
https://github.com/hannonhill/Webservices-Java-Sample-Project 
Wednesday, September 17, 14
Contact Info 
Alem Areki 
aareki@richmond.edu 
info@areki.net 
804-289-8899 
@aareki 
I will be posting supporting material in the Hannon Hill site in the coming weeks. 
Wednesday, September 17, 14

Más contenido relacionado

Similar a Ingesting Banner output Schedule Classes into Cascade Server (In Java - Web Services)

Ruby meetup 7_years_in_testing
Ruby meetup 7_years_in_testingRuby meetup 7_years_in_testing
Ruby meetup 7_years_in_testingDigital Natives
 
Ch. 15 FIT5, CIS 110 13F
Ch. 15 FIT5, CIS 110 13FCh. 15 FIT5, CIS 110 13F
Ch. 15 FIT5, CIS 110 13Fmh-108
 
SF Hadoop Users Group August 2014 Meetup Slides
SF Hadoop Users Group August 2014 Meetup SlidesSF Hadoop Users Group August 2014 Meetup Slides
SF Hadoop Users Group August 2014 Meetup SlidesYash Ranadive
 
Cooking an Omelette with Chef
Cooking an Omelette with ChefCooking an Omelette with Chef
Cooking an Omelette with Chefctaintor
 
Some simple tips for front-end performance in WordPress
Some simple tips for front-end performance in WordPressSome simple tips for front-end performance in WordPress
Some simple tips for front-end performance in WordPressiparr
 
Genestack BioIT-World-2013
Genestack BioIT-World-2013Genestack BioIT-World-2013
Genestack BioIT-World-2013genestack
 
Hammering Responsive Web Design Into Shape
Hammering Responsive Web Design Into ShapeHammering Responsive Web Design Into Shape
Hammering Responsive Web Design Into ShapeKen Tabor
 
Cassandra Day 2014: Interactive Analytics with Cassandra and Spark
Cassandra Day 2014: Interactive Analytics with Cassandra and SparkCassandra Day 2014: Interactive Analytics with Cassandra and Spark
Cassandra Day 2014: Interactive Analytics with Cassandra and SparkEvan Chan
 
Symfony - Introduction
Symfony - IntroductionSymfony - Introduction
Symfony - IntroductionPiers Warmers
 
Puppet Keynote
Puppet KeynotePuppet Keynote
Puppet KeynotePuppet
 
Calabash - Karl and Jonas
Calabash - Karl and JonasCalabash - Karl and Jonas
Calabash - Karl and JonasXamarin
 
Microservices and functional programming
Microservices and functional programmingMicroservices and functional programming
Microservices and functional programmingMichael Neale
 
Puppet and AWS: Getting the best of both worlds
Puppet and AWS: Getting the best of both worldsPuppet and AWS: Getting the best of both worlds
Puppet and AWS: Getting the best of both worldsPuppet
 
Client-side storage
Client-side storageClient-side storage
Client-side storageRuben Tan
 
The Virtual Repository
The Virtual RepositoryThe Virtual Repository
The Virtual RepositoryFabio Simeoni
 
Mongo db php_shaken_not_stirred_joomlafrappe
Mongo db php_shaken_not_stirred_joomlafrappeMongo db php_shaken_not_stirred_joomlafrappe
Mongo db php_shaken_not_stirred_joomlafrappeSpyros Passas
 
Sparkler—Crawler on Apache Spark: Spark Summit East talk by Karanjeet Singh a...
Sparkler—Crawler on Apache Spark: Spark Summit East talk by Karanjeet Singh a...Sparkler—Crawler on Apache Spark: Spark Summit East talk by Karanjeet Singh a...
Sparkler—Crawler on Apache Spark: Spark Summit East talk by Karanjeet Singh a...Spark Summit
 
Sparkler at spark summit east 2017
Sparkler at spark summit east 2017Sparkler at spark summit east 2017
Sparkler at spark summit east 2017Thamme Gowda
 

Similar a Ingesting Banner output Schedule Classes into Cascade Server (In Java - Web Services) (20)

Ruby meetup 7_years_in_testing
Ruby meetup 7_years_in_testingRuby meetup 7_years_in_testing
Ruby meetup 7_years_in_testing
 
Ch. 15 FIT5, CIS 110 13F
Ch. 15 FIT5, CIS 110 13FCh. 15 FIT5, CIS 110 13F
Ch. 15 FIT5, CIS 110 13F
 
SF Hadoop Users Group August 2014 Meetup Slides
SF Hadoop Users Group August 2014 Meetup SlidesSF Hadoop Users Group August 2014 Meetup Slides
SF Hadoop Users Group August 2014 Meetup Slides
 
Cooking an Omelette with Chef
Cooking an Omelette with ChefCooking an Omelette with Chef
Cooking an Omelette with Chef
 
Some simple tips for front-end performance in WordPress
Some simple tips for front-end performance in WordPressSome simple tips for front-end performance in WordPress
Some simple tips for front-end performance in WordPress
 
Backbone
BackboneBackbone
Backbone
 
Genestack BioIT-World-2013
Genestack BioIT-World-2013Genestack BioIT-World-2013
Genestack BioIT-World-2013
 
Hammering Responsive Web Design Into Shape
Hammering Responsive Web Design Into ShapeHammering Responsive Web Design Into Shape
Hammering Responsive Web Design Into Shape
 
Cassandra Day 2014: Interactive Analytics with Cassandra and Spark
Cassandra Day 2014: Interactive Analytics with Cassandra and SparkCassandra Day 2014: Interactive Analytics with Cassandra and Spark
Cassandra Day 2014: Interactive Analytics with Cassandra and Spark
 
Symfony - Introduction
Symfony - IntroductionSymfony - Introduction
Symfony - Introduction
 
Puppet Keynote
Puppet KeynotePuppet Keynote
Puppet Keynote
 
Contributing to WordPress
Contributing to WordPressContributing to WordPress
Contributing to WordPress
 
Calabash - Karl and Jonas
Calabash - Karl and JonasCalabash - Karl and Jonas
Calabash - Karl and Jonas
 
Microservices and functional programming
Microservices and functional programmingMicroservices and functional programming
Microservices and functional programming
 
Puppet and AWS: Getting the best of both worlds
Puppet and AWS: Getting the best of both worldsPuppet and AWS: Getting the best of both worlds
Puppet and AWS: Getting the best of both worlds
 
Client-side storage
Client-side storageClient-side storage
Client-side storage
 
The Virtual Repository
The Virtual RepositoryThe Virtual Repository
The Virtual Repository
 
Mongo db php_shaken_not_stirred_joomlafrappe
Mongo db php_shaken_not_stirred_joomlafrappeMongo db php_shaken_not_stirred_joomlafrappe
Mongo db php_shaken_not_stirred_joomlafrappe
 
Sparkler—Crawler on Apache Spark: Spark Summit East talk by Karanjeet Singh a...
Sparkler—Crawler on Apache Spark: Spark Summit East talk by Karanjeet Singh a...Sparkler—Crawler on Apache Spark: Spark Summit East talk by Karanjeet Singh a...
Sparkler—Crawler on Apache Spark: Spark Summit East talk by Karanjeet Singh a...
 
Sparkler at spark summit east 2017
Sparkler at spark summit east 2017Sparkler at spark summit east 2017
Sparkler at spark summit east 2017
 

Más de hannonhill

Cascade + Bootstrap = Awesome
Cascade + Bootstrap = AwesomeCascade + Bootstrap = Awesome
Cascade + Bootstrap = Awesomehannonhill
 
Web Governance Crash Course: Creating a Sustainable Digital Transformation
Web Governance Crash Course: Creating a Sustainable Digital TransformationWeb Governance Crash Course: Creating a Sustainable Digital Transformation
Web Governance Crash Course: Creating a Sustainable Digital Transformationhannonhill
 
Optimizing MySQL for Cascade Server
Optimizing MySQL for Cascade ServerOptimizing MySQL for Cascade Server
Optimizing MySQL for Cascade Serverhannonhill
 
Using Cascade technology to increase SEO/Landing Page Optimization
Using Cascade technology to increase SEO/Landing Page OptimizationUsing Cascade technology to increase SEO/Landing Page Optimization
Using Cascade technology to increase SEO/Landing Page Optimizationhannonhill
 
Information Architecture and User Experience: The Journey, The Destination, T...
Information Architecture and User Experience: The Journey, The Destination, T...Information Architecture and User Experience: The Journey, The Destination, T...
Information Architecture and User Experience: The Journey, The Destination, T...hannonhill
 
Connecting Ecommerce & Centralized Analytics to Cascade Server
Connecting Ecommerce & Centralized Analytics to Cascade ServerConnecting Ecommerce & Centralized Analytics to Cascade Server
Connecting Ecommerce & Centralized Analytics to Cascade Serverhannonhill
 
Data Modeling with Cascade Server and HighCharts JS
Data Modeling with Cascade Server and HighCharts JSData Modeling with Cascade Server and HighCharts JS
Data Modeling with Cascade Server and HighCharts JShannonhill
 
Modernizing Internal Communications with Cascade Server, WordPress and MailCh...
Modernizing Internal Communications with Cascade Server, WordPress and MailCh...Modernizing Internal Communications with Cascade Server, WordPress and MailCh...
Modernizing Internal Communications with Cascade Server, WordPress and MailCh...hannonhill
 
Fun with Cascade Server!
Fun with Cascade Server!Fun with Cascade Server!
Fun with Cascade Server!hannonhill
 
Accessibility in Practice: Integrating Web Accessibility into Cascade Training
Accessibility in Practice:  Integrating Web Accessibility into Cascade TrainingAccessibility in Practice:  Integrating Web Accessibility into Cascade Training
Accessibility in Practice: Integrating Web Accessibility into Cascade Traininghannonhill
 
Crowdsourced Maps: From Google Forms to Fusion Tables to Cascade Server
Crowdsourced Maps: From Google Forms to Fusion Tables to Cascade ServerCrowdsourced Maps: From Google Forms to Fusion Tables to Cascade Server
Crowdsourced Maps: From Google Forms to Fusion Tables to Cascade Serverhannonhill
 
Superautomatic! Data Feeds, Bricks, and Blocks, with Server-side Transformat...
	Superautomatic! Data Feeds, Bricks, and Blocks, with Server-side Transformat...	Superautomatic! Data Feeds, Bricks, and Blocks, with Server-side Transformat...
Superautomatic! Data Feeds, Bricks, and Blocks, with Server-side Transformat...hannonhill
 
In Pursuit of the Grand Unified Template
In Pursuit of the Grand Unified TemplateIn Pursuit of the Grand Unified Template
In Pursuit of the Grand Unified Templatehannonhill
 
Cusestarter or How We Built Our Own Crowdfunding Platform
Cusestarter or How We Built Our Own Crowdfunding PlatformCusestarter or How We Built Our Own Crowdfunding Platform
Cusestarter or How We Built Our Own Crowdfunding Platformhannonhill
 
Web Services: Encapsulation, Reusability, and Simplicity
Web Services: Encapsulation, Reusability, and SimplicityWeb Services: Encapsulation, Reusability, and Simplicity
Web Services: Encapsulation, Reusability, and Simplicityhannonhill
 
Cascade Server: Past, Present, and Future!
Cascade Server: Past, Present, and Future!Cascade Server: Past, Present, and Future!
Cascade Server: Past, Present, and Future!hannonhill
 
Web Forms, or How I Learned to Stop Worrying and Love Web Services
Web Forms, or How I Learned to Stop Worrying and Love Web ServicesWeb Forms, or How I Learned to Stop Worrying and Love Web Services
Web Forms, or How I Learned to Stop Worrying and Love Web Serviceshannonhill
 
Outputting Their Full Potential: Using Outputs for Site Redesigns and Develo...
Outputting Their Full Potential: Using Outputs for Site Redesigns andDevelo...Outputting Their Full Potential: Using Outputs for Site Redesigns andDevelo...
Outputting Their Full Potential: Using Outputs for Site Redesigns and Develo...hannonhill
 
Redesign in Cascade Server
Redesign in Cascade ServerRedesign in Cascade Server
Redesign in Cascade Serverhannonhill
 

Más de hannonhill (20)

Cascade + Bootstrap = Awesome
Cascade + Bootstrap = AwesomeCascade + Bootstrap = Awesome
Cascade + Bootstrap = Awesome
 
Web Governance Crash Course: Creating a Sustainable Digital Transformation
Web Governance Crash Course: Creating a Sustainable Digital TransformationWeb Governance Crash Course: Creating a Sustainable Digital Transformation
Web Governance Crash Course: Creating a Sustainable Digital Transformation
 
Optimizing MySQL for Cascade Server
Optimizing MySQL for Cascade ServerOptimizing MySQL for Cascade Server
Optimizing MySQL for Cascade Server
 
Using Cascade technology to increase SEO/Landing Page Optimization
Using Cascade technology to increase SEO/Landing Page OptimizationUsing Cascade technology to increase SEO/Landing Page Optimization
Using Cascade technology to increase SEO/Landing Page Optimization
 
Information Architecture and User Experience: The Journey, The Destination, T...
Information Architecture and User Experience: The Journey, The Destination, T...Information Architecture and User Experience: The Journey, The Destination, T...
Information Architecture and User Experience: The Journey, The Destination, T...
 
2 Men 1 Site
2 Men 1 Site2 Men 1 Site
2 Men 1 Site
 
Connecting Ecommerce & Centralized Analytics to Cascade Server
Connecting Ecommerce & Centralized Analytics to Cascade ServerConnecting Ecommerce & Centralized Analytics to Cascade Server
Connecting Ecommerce & Centralized Analytics to Cascade Server
 
Data Modeling with Cascade Server and HighCharts JS
Data Modeling with Cascade Server and HighCharts JSData Modeling with Cascade Server and HighCharts JS
Data Modeling with Cascade Server and HighCharts JS
 
Modernizing Internal Communications with Cascade Server, WordPress and MailCh...
Modernizing Internal Communications with Cascade Server, WordPress and MailCh...Modernizing Internal Communications with Cascade Server, WordPress and MailCh...
Modernizing Internal Communications with Cascade Server, WordPress and MailCh...
 
Fun with Cascade Server!
Fun with Cascade Server!Fun with Cascade Server!
Fun with Cascade Server!
 
Accessibility in Practice: Integrating Web Accessibility into Cascade Training
Accessibility in Practice:  Integrating Web Accessibility into Cascade TrainingAccessibility in Practice:  Integrating Web Accessibility into Cascade Training
Accessibility in Practice: Integrating Web Accessibility into Cascade Training
 
Crowdsourced Maps: From Google Forms to Fusion Tables to Cascade Server
Crowdsourced Maps: From Google Forms to Fusion Tables to Cascade ServerCrowdsourced Maps: From Google Forms to Fusion Tables to Cascade Server
Crowdsourced Maps: From Google Forms to Fusion Tables to Cascade Server
 
Superautomatic! Data Feeds, Bricks, and Blocks, with Server-side Transformat...
	Superautomatic! Data Feeds, Bricks, and Blocks, with Server-side Transformat...	Superautomatic! Data Feeds, Bricks, and Blocks, with Server-side Transformat...
Superautomatic! Data Feeds, Bricks, and Blocks, with Server-side Transformat...
 
In Pursuit of the Grand Unified Template
In Pursuit of the Grand Unified TemplateIn Pursuit of the Grand Unified Template
In Pursuit of the Grand Unified Template
 
Cusestarter or How We Built Our Own Crowdfunding Platform
Cusestarter or How We Built Our Own Crowdfunding PlatformCusestarter or How We Built Our Own Crowdfunding Platform
Cusestarter or How We Built Our Own Crowdfunding Platform
 
Web Services: Encapsulation, Reusability, and Simplicity
Web Services: Encapsulation, Reusability, and SimplicityWeb Services: Encapsulation, Reusability, and Simplicity
Web Services: Encapsulation, Reusability, and Simplicity
 
Cascade Server: Past, Present, and Future!
Cascade Server: Past, Present, and Future!Cascade Server: Past, Present, and Future!
Cascade Server: Past, Present, and Future!
 
Web Forms, or How I Learned to Stop Worrying and Love Web Services
Web Forms, or How I Learned to Stop Worrying and Love Web ServicesWeb Forms, or How I Learned to Stop Worrying and Love Web Services
Web Forms, or How I Learned to Stop Worrying and Love Web Services
 
Outputting Their Full Potential: Using Outputs for Site Redesigns and Develo...
Outputting Their Full Potential: Using Outputs for Site Redesigns andDevelo...Outputting Their Full Potential: Using Outputs for Site Redesigns andDevelo...
Outputting Their Full Potential: Using Outputs for Site Redesigns and Develo...
 
Redesign in Cascade Server
Redesign in Cascade ServerRedesign in Cascade Server
Redesign in Cascade Server
 

Último

CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceBrainSell Technologies
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Angel Borroy López
 
Best Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdfBest Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdfIdiosysTechnologies1
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentationvaddepallysandeep122
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....kzayra69
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtimeandrehoraa
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprisepreethippts
 
How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfLivetecs LLC
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Natan Silnitsky
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationBradBedford3
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作qr0udbr0
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commercemanigoyal112
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...confluent
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Matt Ray
 

Último (20)

CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. Salesforce
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
 
Best Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdfBest Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdf
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentation
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprise
 
How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdf
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion Application
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commerce
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
 

Ingesting Banner output Schedule Classes into Cascade Server (In Java - Web Services)

  • 1. HH Cascade User Conference * September 2014 * Atlanta, Georgia Ingesting external Data into Cascade (Schedule Classes) Alem Areki Sr. Web Programmer UNIVERSITY OF RICHMOND Wednesday, September 17, 14
  • 2. Ingesting Banner output Schedule classes into Cascade - Workflow Wednesday, September 17, 14
  • 3. Alem Areki Senior Web Programmer Wednesday, September 17, 14
  • 4. Alem Areki Senior Web Programmer * Mathematics - Computer Science - UCSD* * University of Richmond * * Family * * Web * * PT Freelance Developer * Wednesday, September 17, 14
  • 5. Who are we? Wednesday, September 17, 14
  • 6. Who are we? • Private, highly selective, liberal arts university founded in 1830 • Five Schools offering undergraduate, master’s, MBA, and law degrees Wednesday, September 17, 14
  • 7. Who are we? Schools of Arts and Sciences Wednesday, September 17, 14
  • 8. Who are we? Robins School of Business Wednesday, September 17, 14
  • 9. Who are we? Jepson School of Leadership Studies Wednesday, September 17, 14
  • 10. Who are we? University of Richmond School of Law Wednesday, September 17, 14
  • 11. Who are we? School of Professional & Continuing Studies - SPCS (Complicated) Wednesday, September 17, 14
  • 12. Who are we? School of Professional & Continuing Studies (SPCS) • Summer School • Evening School • Non-traditional students of all ages program • Think Again • Osher Program Wednesday, September 17, 14
  • 13. Who are we? TEAM Web Services (Team of three - Back-end Developers, Server Infrastructure) University Communications (Front-end Developers, Designers, Web Editors) Wednesday, September 17, 14
  • 14. What we do at UR Wednesday, September 17, 14
  • 15. What we do at UR Wednesday, September 17, 14
  • 16. What we do at UR We do the Public Web .... Wednesday, September 17, 14
  • 17. What we do at UR Wednesday, September 17, 14
  • 18. What we do at UR Web Redesign + Artemis Backend 5 Guiding Principles Wednesday, September 17, 14
  • 19. Artemis as a Project Self Identified Single Source Content Type → Integrate Related Content → Deliver COPE (Create Once Publish Everywhere) Wednesday, September 17, 14
  • 20. Web Redesign + Artemis Backend 5 Guiding Principles • Shared Single Sourced Content • Highly Flexible, Integrated (semantically linked) Content Types • Exceptional Clear and Simple Wayfinding (nav + related content) • Strong Storytelling (Experiences) over Marketing • Facilitate Business Process Improvements with Artemis/Web Wednesday, September 17, 14
  • 21. An innovation-to-factory cycle Perceived Need Brainstorm Ideas Conceive Approach Solutions Research Proof of Concept Deliver Convert to Initial Factory Model Production Release Rinse & Repeat Wednesday, September 17, 14
  • 22. What we do at UR • We do almost everything in Cascade Server • Cascade Server is a key part of our success Wednesday, September 17, 14
  • 23. What we do at UR • In Cascade Server .... • We manage & maintain more that 140 websites • More than 44 Integrated content Types are managed & maintained Wednesday, September 17, 14
  • 24. More than 44 Integrated Content Types in our CMS Wednesday, September 17, 14
  • 25. Integrated Single Source Content Types Major & Minor → Schedule Class → Faculty Bio → Courses Wednesday, September 17, 14
  • 26. Integrated Single Source Content Types Wednesday, September 17, 14
  • 27. Integrated Single Source Content Types Wednesday, September 17, 14
  • 28. Integrated Single Source Content Types Wednesday, September 17, 14
  • 29. Integrated Single Source Content Types Wednesday, September 17, 14
  • 30. Integrated Single Source Content Types Wednesday, September 17, 14
  • 31. Integrated Single Source Content Types Wednesday, September 17, 14
  • 32. Artemis Achieves Wednesday, September 17, 14
  • 33. Artemis Achieves Single source content Developments Wednesday, September 17, 14
  • 34. Artemis Achieves Single source content Developments Delivery targeted content to the users! Wednesday, September 17, 14
  • 35. Artemis Achieves Single source content Developments Delivery targeted content to the users! Supports our factory model! Wednesday, September 17, 14
  • 36. Artemis Achieves Single source content Developments Delivery targeted content to the users! Supports our factory model! Makes content discovery easy! Wednesday, September 17, 14
  • 37. Cascade Server enabled us to fully manage & maintain the University Catalog and most Schedules as a single source delivery system that channels into multiple outputs. Wednesday, September 17, 14
  • 38. Stopped Printing Course Catalogs & Schedules No longer printing 20,000+ books a year! Wednesday, September 17, 14
  • 39. How to ingest SPCS Evening School Schedule Classes into Cascade Server Wednesday, September 17, 14
  • 40. Overview prior to ingesting Schedule Data • SPCS Schedule Data comes from a number of sources (Banner and Other) • The Data has to be manually improved • The Data exists in excel spreadsheets and uploaded to mySQL after manual improvements (Time consuming procedures) • Other Catalog are being migrated to Cascade + eXist-db Artemis Infrastructure Wednesday, September 17, 14
  • 41. Ingesting Banner output Schedule classes into Cascade - Workflow Wednesday, September 17, 14
  • 42. Preparing Schedule data for XML ingestions (Phase one) CSV → XML → Data Definition Wednesday, September 17, 14
  • 43. Preparing Schedule data for XML ingestions (Phase one) CSV → XML → Data Definition • Understand Data Flow • Understand schedule data structure (Banner output) • Mapping Schedule Data (CSV file) into Cascade XML - (Create DD based on CSV file Data Structure Normalize & Prioritize Schedule Data) Wednesday, September 17, 14
  • 44. Evening Class Original Banner output Wednesday, September 17, 14
  • 45. Evening Class Excel Doc Wednesday, September 17, 14
  • 46. Preparing Schedule data for XML ingestions CSV → XML → Data Definition • General Rules • Registrar office will provide data pull (the data is a file delimited with ‘>’). And then save the data as CSV file • Identify Regular Schedules (repeat week to week) • Identify Irregular Schedules (classes are not held on a regular schedule) (Phase one) Wednesday, September 17, 14
  • 47. Evening Class Cascade XML Output Wednesday, September 17, 14
  • 48. Evening Class Cascade XML Output Wednesday, September 17, 14
  • 49. Preparing Schedule data for XML ingestions CSV → XML → Data Definition • Column Rules • Date Fields Format: YYYY-MM-DD • Time Fields Format: HH-MM-SS • Adjust/Change session_bldg, session_room, session_date_start, session_date_end (Phase one) Wednesday, September 17, 14
  • 50. Preparing Schedule data for XML ingestions (Phase one) CSV → XML → Data Definition • Row Rules • Each row must have only one CRN • If there are more than one row of the same CRN, combine them into one row (there are few classes with the same CRN offer on different days) • Delete if there is empty row Wednesday, September 17, 14
  • 51. Evening Class Cascade Data Definitions Wednesday, September 17, 14
  • 52. Course & Schedule Importer (Java Web Services) (Phase two) CSV → XML → Data Definition Wednesday, September 17, 14
  • 53. Course & Schedule Importer (Java Web Services) (Phase two) CSV → XML → Data Definition • Testing & learning - https://github.com/hannonhill/Webservices-PHP-Sample-Project • WSDL (Web Services Description Language) • SOAP (Simple Object Access Protocol) request/response • Communicate Bradley Wagner on Web Services Java Sample Project - https://github.com/ hannonhill/Webservices-Java-Sample-Project (WSDL, IDE - Installation of Eclipse, Maven, Git) and configure our environment. • Java Implementation - Creating Java Classes Wednesday, September 17, 14
  • 54. Course & Schedule Importer (Java Web Services) (Phase two) • Java Implementation (Creating Java Classes) • CourseAndScheduleImporter.java • ScheduleBean.java • ScheduleReadWorker.java • ScheduleWriter.java • ScheduleWriteWorker.java • CSIPanel.java Wednesday, September 17, 14
  • 55. Managing Schedule Classes in Cascade (Phase Three) Wednesday, September 17, 14
  • 56. Managing Schedule Classes in Cascade (Phase Three) • Merging Schedule class with other content type (example - course catalog) • Generate different output (Print xml for InDesign, html, xml, etc) • Versioning Wednesday, September 17, 14
  • 57. Example: Versioning Course - ADED301U Wednesday, September 17, 14
  • 58. Example: Versioning Course - ADED301U Wednesday, September 17, 14
  • 59. Example: Versioning Course - ADED301U Wednesday, September 17, 14
  • 60. Example: Versioning Course - ADED301U Wednesday, September 17, 14
  • 61. Ingesting Banner output Schedule classes into Cascade - Workflow Wednesday, September 17, 14
  • 62. Ingesting Banner Schedule into Cascade Server ** Demo ** Wednesday, September 17, 14
  • 63. Ingesting Banner Schedule into Cascade Success • Relevant, Timely Single-Source Content • Strong UI emphasis: multiplatform, accessible • Wayfinding and navigation improvements • Make content discovery easy! Wednesday, September 17, 14
  • 64. Ingesting Banner Schedule into Cascade Success • Support our factory model! • Deliver targeted content to the users! • Cost Savings ($$$) Wednesday, September 17, 14
  • 65. Ingesting Banner Schedule into Cascade Testimony .. Wednesday, September 17, 14
  • 66. Ingesting Banner Schedule into Cascade Testimony .. “Shifting from MySQL data managed in PHP myAdmin to XML data managed in Cascade enabled us to build a robust, native search interface for schedule data. This, in turn, made schedules much easier for the end user to search, ultimately resulting in greater satisfaction with the online schedule. As a result of this increased satisfaction with our online schedules, we were able to eliminate our print schedule entirely.” Daniel Hocutt - SPCS Web Manager Wednesday, September 17, 14
  • 67. Ingesting Banner Schedule into Cascade Testimony .. Wednesday, September 17, 14
  • 68. Ingesting Banner Schedule into Cascade Testimony .. “The cost savings for eliminating three print schedules (Fall, Spring, and Summer) was significant; eliminating labor costs for preparing data for print and laying out the print publication increases the savings. And using SOAP ingesting procedure significantly reduces the labor required to prepare Excel data from Banner for ingestion into XML. Overall cost savings on an annual basis are calculated in the tens of thousands of dollars. ....” Daniel Hocutt - SPCS Web Manager Wednesday, September 17, 14
  • 69. Resources • Web Services - http://www.hannonhill.com/kb/Web-Services/ • How to create a Data Definition asset from HH Web Services examples project in Java - https://github.com/hannonhill/Cascade-Web-Services- Examples/blob/master/java/hannonhill-test-cases/TestStructuredData.java#L34 • Sample Project Cascade’s SOAP web services in PHP - https://github.com/ hannonhill/Webservices-PHP-Sample-Project • A sample Java Project to get started with the Cascade SOAP Web Services - https://github.com/hannonhill/Webservices-Java-Sample-Project Wednesday, September 17, 14
  • 70. Contact Info Alem Areki aareki@richmond.edu info@areki.net 804-289-8899 @aareki I will be posting supporting material in the Hannon Hill site in the coming weeks. Wednesday, September 17, 14