SlideShare uma empresa Scribd logo
1 de 20
5 Unbelievable Tricks
to Help You COPE
Eric L. Epps, Sauk Valley Community College
@ericepps #CUC15 #COPEtricks
Which Hannon Hill
1. “It’s not about the web page”
(Cascade as a data warehouse)
2. “Ultimate set of tools”
(Take advantage of Cascade tools)
• Data Definition Smart Fields
• Data Definition Smart Fields
• Content Types/Content Type Publishing
• Data Definition Smart Fields
• Content Types/Content Type Publishing
• XSL Page Transforms
• Data Definition Smart Fields
• Content Types/Content Type Publishing
• XSL Page Transforms
• Web Services
• Data Definition Smart Fields
• Content Types/Content Type Publishing
• XSL Page Transforms
• Web Services
• Velocity Script Tools
(Velocity Includes, Locator Tool, Query API)
3. “Give me all the XML”
(APIs to XML using Web Services)
• $restURL =
'https://api.somesite.com?apikey={{secret}}';
$returnJSON = file_get_contents($restURL);
createXMLBlock($cascade, $auth,'/parent/folder',
'theAssetName', $siteName, $returnJSON,'json');
• foreach($values as $value) {
$restURL =
‘https://api.somesite.com?apikey={{secret}}&value='
. $value;
$returnXML = file_get_contents($restURL);
createXMLBlock($cascade, $auth, '/parent/folder',
$value, $siteName, $returnXML,'xml');
}
• $restURL = 'https://api.data.gov/ed/collegescorecard/v1/schools.json?
id=148672,147703&_fields=school.name,school.city,school.state,id&api_key={{
secret}}';
$scJSON = file_get_contents($restURL);
createXMLBlock($cascade,$auth, '/-blocks/CareerOneStop', 'scorecard',
$siteName, $scJSON,'json');
• foreach($socCodes as $value) {
$socCode = str_replace(‘-‘,'',$value);
$restURL =
'http://www.careerinfonet.org/webservices/occwages_webservice/occwagesservi
ce.asmx/GetWagesByZip?userID='.$apiKey.'&soccode='.$socCode.'&zip='.$zipCod
e;
$wagesXML = file_get_contents($restURL);
createXMLBlock($cascade,$auth, '/-blocks/CareerOneStop/Wage', $value,
$siteName, $wagesXML,’xml');
}
• http://bit.ly/cuc15-restapi (GitHub)
4. “A Brick Within a Block Within a ShortCode”
(Bricks and ShortCodes)
#set ( $sib = $_XPathTool.selectSingleNode($contentRoot, "/system-index-block) )
#set ( $bricks = $_XPathTool.selectNodes($sib, "system-page/system-data-
structure/brick") )
#macro ( useBricks $contentString )
#set ( $string = $contentString )
#foreach ( $item in $bricks )
#set ( $var = "[" + $_EscapeTool.xml($item.getChild("name").value) +
"]" )
#set ( $val = $_EscapeTool.xml($item.getChild("value").value) )
#set ( $string = $string.replaceAll($var, $val) )
#end
${string}
#end
#set ( $page = $_XPathTool.selectSingleNode($sib, "calling-page/system-page") )
#set ( $content = $_SerializerTool.serialize($page.getChild("page-xhtml"), true)
)
#useBricks($content)
Bricks
• [getBlock type="xhtml"
path="/absolute/path/to/block" site=“siteName"]
• [getBlock type="xhtml"
path="/absolute/path/to/block" site="siteName"
replace="textreplacement1 textreplacement2"
textreplacement1="value to display #1"
textreplacement2="value to display #2”]
(will replace the string "[|[textreplacement1]|]" in the block with
"value to display #1" and "[|[textreplacement2]|]" with "value to
display #2”)
• http://bit.ly/cuc15-shortcode (GitHub)
5. “Better together”
(Content Layering)
Faculty/Staff Websites
Program Pages
Thank you!
eric.epps@svcc.edu
github.com/ericepps

Mais conteúdo relacionado

Destaque

VIDBOX_-Overview-june-15-2015
VIDBOX_-Overview-june-15-2015VIDBOX_-Overview-june-15-2015
VIDBOX_-Overview-june-15-2015Jorge Olson
 
Jane austen
Jane austenJane austen
Jane austensabrecht
 
La inteligencia
La inteligenciaLa inteligencia
La inteligenciaJuan1413
 
Crafting Reusable Resources
Crafting Reusable ResourcesCrafting Reusable Resources
Crafting Reusable ResourcesJennifer Davis
 
งานนำเสนอวิชาการ1
งานนำเสนอวิชาการ1งานนำเสนอวิชาการ1
งานนำเสนอวิชาการ1Narinpho
 
La inteligencia
La inteligenciaLa inteligencia
La inteligenciaJuan1413
 
Conte "Estimem i cuidem el planeta i la seua teuladeta"
Conte "Estimem i cuidem el planeta i la seua teuladeta"Conte "Estimem i cuidem el planeta i la seua teuladeta"
Conte "Estimem i cuidem el planeta i la seua teuladeta"CRISTINAMON
 
Solid state drive buyer's guide
Solid state drive buyer's guideSolid state drive buyer's guide
Solid state drive buyer's guideboatpad
 
I social-media-e-i-top-brands-nel-mercato-del-fashion
I social-media-e-i-top-brands-nel-mercato-del-fashionI social-media-e-i-top-brands-nel-mercato-del-fashion
I social-media-e-i-top-brands-nel-mercato-del-fashionDatafashion srl
 
Velocity 2014 - From Hero to Zero
Velocity 2014 - From Hero to ZeroVelocity 2014 - From Hero to Zero
Velocity 2014 - From Hero to ZeroJennifer Davis
 

Destaque (20)

MenntaMiðja
MenntaMiðjaMenntaMiðja
MenntaMiðja
 
Mi primer proyecto flipped
Mi primer proyecto flippedMi primer proyecto flipped
Mi primer proyecto flipped
 
Presentación de tools en Inverness
Presentación de tools en InvernessPresentación de tools en Inverness
Presentación de tools en Inverness
 
Eletrica
EletricaEletrica
Eletrica
 
Pres4 blogger
Pres4 bloggerPres4 blogger
Pres4 blogger
 
VIDBOX_-Overview-june-15-2015
VIDBOX_-Overview-june-15-2015VIDBOX_-Overview-june-15-2015
VIDBOX_-Overview-june-15-2015
 
Jane austen
Jane austenJane austen
Jane austen
 
La inteligencia
La inteligenciaLa inteligencia
La inteligencia
 
Crafting Reusable Resources
Crafting Reusable ResourcesCrafting Reusable Resources
Crafting Reusable Resources
 
ICT and etwinning ,Camilo
ICT and etwinning ,CamiloICT and etwinning ,Camilo
ICT and etwinning ,Camilo
 
งานนำเสนอวิชาการ1
งานนำเสนอวิชาการ1งานนำเสนอวิชาการ1
งานนำเสนอวิชาการ1
 
La inteligencia
La inteligenciaLa inteligencia
La inteligencia
 
Presentation1
Presentation1Presentation1
Presentation1
 
Conte "Estimem i cuidem el planeta i la seua teuladeta"
Conte "Estimem i cuidem el planeta i la seua teuladeta"Conte "Estimem i cuidem el planeta i la seua teuladeta"
Conte "Estimem i cuidem el planeta i la seua teuladeta"
 
Billi kaulitz
Billi kaulitzBilli kaulitz
Billi kaulitz
 
Tgr
TgrTgr
Tgr
 
Solid state drive buyer's guide
Solid state drive buyer's guideSolid state drive buyer's guide
Solid state drive buyer's guide
 
I social-media-e-i-top-brands-nel-mercato-del-fashion
I social-media-e-i-top-brands-nel-mercato-del-fashionI social-media-e-i-top-brands-nel-mercato-del-fashion
I social-media-e-i-top-brands-nel-mercato-del-fashion
 
Velocity 2014 - From Hero to Zero
Velocity 2014 - From Hero to ZeroVelocity 2014 - From Hero to Zero
Velocity 2014 - From Hero to Zero
 
South africa
South africaSouth africa
South africa
 

Semelhante a 5 Unbelievable Tricks to Help You COPE

APIs, Web Services, and Mashups: What they are and how they can be used
APIs, Web Services, and Mashups: What they are and how they can be usedAPIs, Web Services, and Mashups: What they are and how they can be used
APIs, Web Services, and Mashups: What they are and how they can be usedsnackeru
 
Harnessing Free Content with Web Service APIs
Harnessing Free Content with Web Service APIsHarnessing Free Content with Web Service APIs
Harnessing Free Content with Web Service APIsALATechSource
 
Library Mashups & APIs
Library Mashups & APIsLibrary Mashups & APIs
Library Mashups & APIslibrarywebchic
 
YQL: Select * from Internet
YQL: Select * from InternetYQL: Select * from Internet
YQL: Select * from Internetdrgath
 
(BDT209) Launch: Amazon Elasticsearch For Real-Time Data Analytics
(BDT209) Launch: Amazon Elasticsearch For Real-Time Data Analytics(BDT209) Launch: Amazon Elasticsearch For Real-Time Data Analytics
(BDT209) Launch: Amazon Elasticsearch For Real-Time Data AnalyticsAmazon Web Services
 
Big data workloads using Apache Sparkon HDInsight
Big data workloads using Apache Sparkon HDInsightBig data workloads using Apache Sparkon HDInsight
Big data workloads using Apache Sparkon HDInsightNilesh Gule
 
YQL:: Select * from Internet
YQL:: Select * from InternetYQL:: Select * from Internet
YQL:: Select * from Internetdrgath
 
WTF is Semantic Web?
WTF is Semantic Web?WTF is Semantic Web?
WTF is Semantic Web?milesw
 
SemWeb Fundamentals - Info Linking & Layering in Practice
SemWeb Fundamentals - Info Linking & Layering in PracticeSemWeb Fundamentals - Info Linking & Layering in Practice
SemWeb Fundamentals - Info Linking & Layering in PracticeDan Brickley
 
SADI: A design-pattern for “native” Linked-Data Semantic Web Services
SADI: A design-pattern for “native” Linked-Data Semantic Web ServicesSADI: A design-pattern for “native” Linked-Data Semantic Web Services
SADI: A design-pattern for “native” Linked-Data Semantic Web ServicesLDBC council
 
SADI: A design-pattern for “native” Linked-Data Semantic Web Services
SADI: A design-pattern for “native” Linked-Data Semantic Web ServicesSADI: A design-pattern for “native” Linked-Data Semantic Web Services
SADI: A design-pattern for “native” Linked-Data Semantic Web ServicesIoan Toma
 
SharePoint and jQuery Essentials
SharePoint and jQuery EssentialsSharePoint and jQuery Essentials
SharePoint and jQuery EssentialsMark Rackley
 
Linked Open Data and Digital Curation (Islandora)
Linked Open Data and Digital Curation (Islandora)Linked Open Data and Digital Curation (Islandora)
Linked Open Data and Digital Curation (Islandora)Hong (Jenny) Jing
 
December 2, 2015: NISO/NFAIS Virtual Conference: Semantic Web: What's New and...
December 2, 2015: NISO/NFAIS Virtual Conference: Semantic Web: What's New and...December 2, 2015: NISO/NFAIS Virtual Conference: Semantic Web: What's New and...
December 2, 2015: NISO/NFAIS Virtual Conference: Semantic Web: What's New and...DeVonne Parks, CEM
 
ElasticSearch - index server used as a document database
ElasticSearch - index server used as a document databaseElasticSearch - index server used as a document database
ElasticSearch - index server used as a document databaseRobert Lujo
 
Building APIs in an easy way using API Platform
Building APIs in an easy way using API PlatformBuilding APIs in an easy way using API Platform
Building APIs in an easy way using API PlatformAntonio Peric-Mazar
 
Case study of Rujhaan.com (A social news app )
Case study of Rujhaan.com (A social news app )Case study of Rujhaan.com (A social news app )
Case study of Rujhaan.com (A social news app )Rahul Jain
 

Semelhante a 5 Unbelievable Tricks to Help You COPE (20)

APIs, Web Services, and Mashups: What they are and how they can be used
APIs, Web Services, and Mashups: What they are and how they can be usedAPIs, Web Services, and Mashups: What they are and how they can be used
APIs, Web Services, and Mashups: What they are and how they can be used
 
Metadata is back!
Metadata is back!Metadata is back!
Metadata is back!
 
Harnessing Free Content with Web Service APIs
Harnessing Free Content with Web Service APIsHarnessing Free Content with Web Service APIs
Harnessing Free Content with Web Service APIs
 
Library Mashups & APIs
Library Mashups & APIsLibrary Mashups & APIs
Library Mashups & APIs
 
YQL: Select * from Internet
YQL: Select * from InternetYQL: Select * from Internet
YQL: Select * from Internet
 
(BDT209) Launch: Amazon Elasticsearch For Real-Time Data Analytics
(BDT209) Launch: Amazon Elasticsearch For Real-Time Data Analytics(BDT209) Launch: Amazon Elasticsearch For Real-Time Data Analytics
(BDT209) Launch: Amazon Elasticsearch For Real-Time Data Analytics
 
Big data workloads using Apache Sparkon HDInsight
Big data workloads using Apache Sparkon HDInsightBig data workloads using Apache Sparkon HDInsight
Big data workloads using Apache Sparkon HDInsight
 
YQL:: Select * from Internet
YQL:: Select * from InternetYQL:: Select * from Internet
YQL:: Select * from Internet
 
WTF is Semantic Web?
WTF is Semantic Web?WTF is Semantic Web?
WTF is Semantic Web?
 
Ajax workshop
Ajax workshopAjax workshop
Ajax workshop
 
SemWeb Fundamentals - Info Linking & Layering in Practice
SemWeb Fundamentals - Info Linking & Layering in PracticeSemWeb Fundamentals - Info Linking & Layering in Practice
SemWeb Fundamentals - Info Linking & Layering in Practice
 
SADI: A design-pattern for “native” Linked-Data Semantic Web Services
SADI: A design-pattern for “native” Linked-Data Semantic Web ServicesSADI: A design-pattern for “native” Linked-Data Semantic Web Services
SADI: A design-pattern for “native” Linked-Data Semantic Web Services
 
SADI: A design-pattern for “native” Linked-Data Semantic Web Services
SADI: A design-pattern for “native” Linked-Data Semantic Web ServicesSADI: A design-pattern for “native” Linked-Data Semantic Web Services
SADI: A design-pattern for “native” Linked-Data Semantic Web Services
 
SharePoint and jQuery Essentials
SharePoint and jQuery EssentialsSharePoint and jQuery Essentials
SharePoint and jQuery Essentials
 
Linked Open Data and Digital Curation (Islandora)
Linked Open Data and Digital Curation (Islandora)Linked Open Data and Digital Curation (Islandora)
Linked Open Data and Digital Curation (Islandora)
 
December 2, 2015: NISO/NFAIS Virtual Conference: Semantic Web: What's New and...
December 2, 2015: NISO/NFAIS Virtual Conference: Semantic Web: What's New and...December 2, 2015: NISO/NFAIS Virtual Conference: Semantic Web: What's New and...
December 2, 2015: NISO/NFAIS Virtual Conference: Semantic Web: What's New and...
 
ElasticSearch - index server used as a document database
ElasticSearch - index server used as a document databaseElasticSearch - index server used as a document database
ElasticSearch - index server used as a document database
 
Building APIs in an easy way using API Platform
Building APIs in an easy way using API PlatformBuilding APIs in an easy way using API Platform
Building APIs in an easy way using API Platform
 
Case study of Rujhaan.com (A social news app )
Case study of Rujhaan.com (A social news app )Case study of Rujhaan.com (A social news app )
Case study of Rujhaan.com (A social news app )
 
REST easy with API Platform
REST easy with API PlatformREST easy with API Platform
REST easy with API Platform
 

Último

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 Modelsaagamshah0812
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
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.pdfkalichargn70th171
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
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 CCTVshikhaohhpro
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 

Último (20)

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
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
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
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
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
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 

5 Unbelievable Tricks to Help You COPE

  • 1. 5 Unbelievable Tricks to Help You COPE Eric L. Epps, Sauk Valley Community College @ericepps #CUC15 #COPEtricks Which Hannon Hill
  • 2.
  • 3. 1. “It’s not about the web page” (Cascade as a data warehouse)
  • 4. 2. “Ultimate set of tools” (Take advantage of Cascade tools)
  • 5. • Data Definition Smart Fields
  • 6. • Data Definition Smart Fields • Content Types/Content Type Publishing
  • 7. • Data Definition Smart Fields • Content Types/Content Type Publishing • XSL Page Transforms
  • 8. • Data Definition Smart Fields • Content Types/Content Type Publishing • XSL Page Transforms • Web Services
  • 9. • Data Definition Smart Fields • Content Types/Content Type Publishing • XSL Page Transforms • Web Services • Velocity Script Tools (Velocity Includes, Locator Tool, Query API)
  • 10. 3. “Give me all the XML” (APIs to XML using Web Services)
  • 11. • $restURL = 'https://api.somesite.com?apikey={{secret}}'; $returnJSON = file_get_contents($restURL); createXMLBlock($cascade, $auth,'/parent/folder', 'theAssetName', $siteName, $returnJSON,'json'); • foreach($values as $value) { $restURL = ‘https://api.somesite.com?apikey={{secret}}&value=' . $value; $returnXML = file_get_contents($restURL); createXMLBlock($cascade, $auth, '/parent/folder', $value, $siteName, $returnXML,'xml'); }
  • 12. • $restURL = 'https://api.data.gov/ed/collegescorecard/v1/schools.json? id=148672,147703&_fields=school.name,school.city,school.state,id&api_key={{ secret}}'; $scJSON = file_get_contents($restURL); createXMLBlock($cascade,$auth, '/-blocks/CareerOneStop', 'scorecard', $siteName, $scJSON,'json'); • foreach($socCodes as $value) { $socCode = str_replace(‘-‘,'',$value); $restURL = 'http://www.careerinfonet.org/webservices/occwages_webservice/occwagesservi ce.asmx/GetWagesByZip?userID='.$apiKey.'&soccode='.$socCode.'&zip='.$zipCod e; $wagesXML = file_get_contents($restURL); createXMLBlock($cascade,$auth, '/-blocks/CareerOneStop/Wage', $value, $siteName, $wagesXML,’xml'); } • http://bit.ly/cuc15-restapi (GitHub)
  • 13.
  • 14. 4. “A Brick Within a Block Within a ShortCode” (Bricks and ShortCodes)
  • 15. #set ( $sib = $_XPathTool.selectSingleNode($contentRoot, "/system-index-block) ) #set ( $bricks = $_XPathTool.selectNodes($sib, "system-page/system-data- structure/brick") ) #macro ( useBricks $contentString ) #set ( $string = $contentString ) #foreach ( $item in $bricks ) #set ( $var = "[" + $_EscapeTool.xml($item.getChild("name").value) + "]" ) #set ( $val = $_EscapeTool.xml($item.getChild("value").value) ) #set ( $string = $string.replaceAll($var, $val) ) #end ${string} #end #set ( $page = $_XPathTool.selectSingleNode($sib, "calling-page/system-page") ) #set ( $content = $_SerializerTool.serialize($page.getChild("page-xhtml"), true) ) #useBricks($content) Bricks
  • 16. • [getBlock type="xhtml" path="/absolute/path/to/block" site=“siteName"] • [getBlock type="xhtml" path="/absolute/path/to/block" site="siteName" replace="textreplacement1 textreplacement2" textreplacement1="value to display #1" textreplacement2="value to display #2”] (will replace the string "[|[textreplacement1]|]" in the block with "value to display #1" and "[|[textreplacement2]|]" with "value to display #2”) • http://bit.ly/cuc15-shortcode (GitHub)

Notas do Editor

  1. COPE, of course, stands for “Create Once, Publish Everywhere,” one of the core reasons to use a content management system, especially Cascade Server. Today, I want to look at some key concepts and techniques that have helped me COPE with content over the years. If everything works correctly, I’ll be posting links throughout the session with the hashtag #COPEtricks, so feel free to follow along or check those out afterwards This is going to be part historical, part technical, as I explore some of the key techniques I’ve discovered or developed to re-use content--whether that content be traditional web page content or system assets like formats. It’s a mix of concepts, techniques, and code, so I hope there will be a little something for everyone. Please feel free to stop me at any time with questions, and I hope we can have some time at the end for you to share your own favorite COPEing mechanisms. To start off, let me share a little about my context to explain why this has been so critical for me. I’m Web Developer at Sauk Valley Community College. Here’s a picture of our campus, which looks pretty rural, but if we zoom out a little bit….it looks even more rural. We’re definitely one of the smaller Cascade sites. [twitter]Follow #CUC15 or #COPETricks for related links (if it works right!)[/twitter]
  2. To start off, let me share a little about my context to explain why this has been so critical for me. I’m Web Developer at Sauk Valley Community College. Here’s a picture of our campus, which looks pretty rural, but if we zoom out a little bit….it looks even more rural. We’re definitely one of the smaller Cascade sites. So I wear several different hats--webmaster, campus display signage, mobile app, document imaging system, other duties as assigned--which comes with some challenges and benefits. Since I touch so many areas, I have an ability to look for where content can be re-used. But I also have a real need to make that process as efficient as possible. In larger institutions, you still have a need to be efficient and re-use content, but with the added need to share that content among several developers and departments.
  3. When I started using Cascade Server, back in version 4.7 (which boasted Internet Explorer 7 support!), I remember being frustrated by how complicated it was to build a simple web page. So, I love coffee, perhaps a little too much, and roast my own. If I have roasted some coffee beans and want to give you some, the easiest way is for me to put it in a bag and give it to you. Right? No need for any other steps. But we do have some limitations, don’t we? We have to be nearby. We need to be able to carry the package. So, if I have 100,000 pounds of coffee to distribute nationwide, I’m going to need to add some steps. If that coffee comes from a hundred different sources, more steps. I’m going to need a warehouse, a distribution center. One of the key realizations for me was when I stopped thinking of Cascade Server as a program to make web pages and started thinking of it as a data warehouse. I’m going to be collecting data from a lot of different sources--user generated in Cascade, XML feeds, APIs, user generated from outside Cascade, wherever I can get it. Some of that will need to be repackaged, transformed, filtered, then I can send it out to wherever it needs to go. In one sense, this is hardly revolutionary, but looking at Cascade this way is a key to unlocking Cascade’s full potential.
  4. First is “Smart Fields” in Data Definitions. In addition to making Data Definitions much easier to use for the end user, having the ability to hide part of a form makes it easier to reuse that Data Definition elsewhere. The general idea is that you can show or hide sections of a form based on a <select> box, checkbox, or radio button. Again, this makes life much easier for content creators, and since you have to select whether a particular section is shown or hidden, you can easily show or hide that section in your Velocity or XSLT Format based on that value.
  5. [twitter]Content Type publish sets: idea http://bit.ly/cuc15-ctpublishidea, code http://bit.ly/cuc15-ctpublishcode #CUC15 #COPETricks[/twitter] Second up is Content Types. Many of you may not been around for the dark ages before the Content Type, but the ability to group together all of a particular type of page regardless of their location is great. So, once you have a content type, you can use a Content Type Index Block or the Query API to get a list of all assets and further filter and display them. I have a listing of committees and their minutes in our Intranet; before Content Types, I had to remember to manually add each index page to the publish set every time a new committee was added. Now, it’s a Committee Index Content Type, and I can use Web Services to update the publish set automatically whenever a new committee is added. There’s also an idea in the Idea Exchange to make this an option in the native Publish Set, so a shameless plug to vote for that idea and make my Web Services script obsolete.
  6. Third is a technique I learned from Jay Mercer in my first ever User Conference session. He talked about XSLT Page Transforms and his “Identity Transform.” This has eliminated much of my need to write new templates by essentially giving access to the entire page from within the DEFAULT page region. The Identity Transform just loops through and replicates the entire XHTML page *after* all the regions have been processed. You can then add whatever templates you want to modify the processed XHTML. For example, if I want to append the current month and year to the <title> element for all news releases, I just add an element with a class=“addToTitle” which I “move” to the <title> element and remove from the DEFAULT region. Or, I can take any link with a class=”proxy” and run that link through EZ-Proxy. Or I can define an element in any region of the document and move it to the document <head> by adding a class of “moveToHead”. This dramatically reduces the number of modifications I need to make to Templates and the number of new Templates I have to make. Jay, thank you, thank you, thank you.
  7. Fourth is too big of a topic to do more than a passing mention, but nothing has supercharged my ability to manage and automate Cascade more than Web Services. There’s just no substitute for being able to set a cron job to create and modify content in batches and daily, weekly, or whatever.
  8. [twitter]Cascade Velocity Tools http://www.hannonhill.com/kb/Script-Formats/ #CUC15 #COPETricks[/twitter] Finally in my “ultimate set of tools” is Velocity Script Tools, especially Includes, Locator Tool, and Query API. We’ll use this many more times in all the rest of the presentation, but Velocity offers many tools to streamline your code. One of the most useful has been Velocity Includes, allowing me to define code used repeatedly as a Velocimacro in a shared Velocity format. Our course schedules are maintained in Cascade, and include several different filtered views (for example, night classes, friday classes, listing by department) but they’re all displayed in a common format. I used to have to edit each individual Format for every change to that format. Once I rewrote them in Velocity, I can modify that display table code once and update all those pages. Saves a ton of time. Locator Tool often saves me from needing to include a block as part of the Data Definition. Often, to get additional information, I’d need to include a huge Block in the Data Definition and hide it from end-users. This way, I can have smaller blocks and reference them just in the Format (which also makes them easier to change out). Again, we’ll be coming back and looking at some more examples later. I haven’t used the Query API much yet, but it similarly has the ability to be a more efficient way to access pages than attaching an index block and another format. Instead, the results can be filtered ahead of time and all from one Format.
  9. One of the things the Locator Tool opened up was the ability to easily open a block from within a script. This means it’s a lot easier to pull in just the block I want. All I need to know is the name and path--which I can reliably predict if I’m using Web Services to create the blocks.
  10. [twitter]Idea - Locator Tool access to Feed Block XML http://bit.ly/cuc15-feedblocks[/twitter] At the same time, it’s becoming more and more common for web apps to expose data via an API. I’ve seen REST APIs most commonly, and they’re among the easiest to work with, so we’ll use them for a couple examples. REST usually returns XML, JSON, or text. Of course, Cascade is great with XML, text can easily be wrapped in XML tags, and JSON can be pretty easily converted to XML. So all we need to do is use Web Services to access the REST API and store the result in an XML block. Time for another shameless plug: there’s an idea on the Idea Exchange, too, to allow the Locator Tool to access the XML of a Feed Block, which could even eliminate this step in many cases and allow the most up-to-date data at publish time.
  11. [twitter]Import REST API results into Cascade http://bit.ly/cuc15-restapi #CUC15 #COPEtricks[/twitter]
  12. [twitter]Import Acalog course catalog into Cascade http://bit.ly/cuc15-acalog #CUC15 #COPEtricks[/twitter]
  13. [twitter]Hannon Hill Bricks example http://bit.ly/cuc15-brick #CUC15 #COPEtricks[/twitter]