SlideShare ist ein Scribd-Unternehmen logo
1 von 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

Weitere ähnliche Inhalte

Andere mochten auch

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
 

Andere mochten auch (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
 

Ähnlich wie 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
 

Ähnlich wie 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
 

Kürzlich hochgeladen

WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...masabamasaba
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension AidPhilip Schwarz
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2
 
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benonimasabamasaba
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...Jittipong Loespradit
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyviewmasabamasaba
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...masabamasaba
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastPapp Krisztián
 
WSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in sowetomasabamasaba
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...SelfMade bd
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024VictoriaMetrics
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park masabamasaba
 
Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxAnnaArtyushina1
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationJuha-Pekka Tolvanen
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Bert Jan Schrijver
 

Kürzlich hochgeladen (20)

WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
 
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
WSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - Keynote
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptx
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the Situation
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
 

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)

Hinweis der Redaktion

  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]