SlideShare une entreprise Scribd logo
1  sur  70
Télécharger pour lire hors ligne
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

Contenu connexe

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

Ch. 15 FIT5, CIS 110 13F
Ch. 15 FIT5, CIS 110 13FCh. 15 FIT5, CIS 110 13F
Ch. 15 FIT5, CIS 110 13F
mh-108
 
Symfony - Introduction
Symfony - IntroductionSymfony - Introduction
Symfony - Introduction
Piers Warmers
 
Calabash - Karl and Jonas
Calabash - Karl and JonasCalabash - Karl and Jonas
Calabash - Karl and Jonas
Xamarin
 

Similaire à 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
 

Plus de hannonhill

Optimizing MySQL for Cascade Server
Optimizing MySQL for Cascade ServerOptimizing MySQL for Cascade Server
Optimizing MySQL for Cascade Server
hannonhill
 
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
hannonhill
 
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 Server
hannonhill
 
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
hannonhill
 
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
 
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
hannonhill
 
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
hannonhill
 
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 Template
hannonhill
 
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
hannonhill
 
Web Services: Encapsulation, Reusability, and Simplicity
Web Services: Encapsulation, Reusability, and SimplicityWeb Services: Encapsulation, Reusability, and Simplicity
Web Services: Encapsulation, Reusability, and Simplicity
hannonhill
 
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 Services
hannonhill
 
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
 

Plus 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
 

Dernier

TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
mohitmore19
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 

Dernier (20)

Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 

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