SlideShare ist ein Scribd-Unternehmen logo
1 von 59
BLOCK CHOOSERS,
CONFIGURATION BLOCKS,
METADATA SETS, INDEXING, AND
XSLT
Presented by
Wing Ming Chan, Sep 16, 2013
Upstate Medical University
chanw@upstate.edu
1
TOPICS
 Objectives of the design
 Template with no regions for site-specific
information
 Configuration set vs. configuration block
 Block choosers in DEFAULT and configuration
blocks
 Indexing
 XSLT formats
 Formats for regions
 Template format
 Xalan component (if time allows)
 Metadata sets 2
OBJECTIVES OF THE DESIGN
 Avoid having too many site-specific components
and assets: templates, configuration sets, content
types, metadata sets, formats, index blocks
 Separating the two functions of a configuration:
 Controlling file format, output and publishing
 Bundling blocks in regions for a site
 Using blocks without regions
3
THREE TYPES OF INFORMATION
ON A PAGE
 Global
 Site-specific
 Page-specific
4
GLOBAL INFORMATION
 Global navigation
 Logo
 Search
 Breadcrumb
 Footer (partially)
5
SITE-SPECIFIC INFORMATION
 Site title (text or image)
 Menu bar
 Left column
 Right column
 Footer contact
information
 Footer fourth
column
6
PAGE-SPECIFIC INFORMATION
 DEFAULT
 Page-specific left/right columns
 Other regions in the center column
7
GLOBAL TEMPLATE
(WITHOUT A LOT OF REGIONS)
8
CONFIGURATION VS.
CONFIGURATION BLOCK
 Global configuration
 Regions defined for global information and page-
specific information
 Control file output, file extensions, publishing
 No regions defined for site-specific information
 Site-specific configuration blocks
 Replace regions in configurations for sites
 Block bundling
9
CUSTOMIZABLE GLOBAL
CONFIGURATIONS
 Customizable regions for specific sites/pages
 The entire header replaceable
 Left column (one single region)
 Right column (one single region)
10
BLOCK CHOOSERS IN DEFAULT
 Allowing blocks in DEFAULT
 Main reason: when switching content type, only
data in DEFAULT is kept
11
DATA DEFINITION FOR DEFAULT
12
CONFIGURATION BLOCK I
 A data definition block
 Containing multiple block choosers and other UI
fields
 Not plugged into any region (typical use)
 Existing in and belonging to a specific site
 To be indexed
 Global index block
 Global format processing the information gathered
and stored in STORAGE
13
CONFIGURATION BLOCK II
 Containing site-specific/page-specific information
 Site title
 Menu bar
 Theme
 Local stylesheet
 JavaScript library
 Footer contact information
 Blocks in left/right columns
14
CONFIGURATION BLOCK III
 Four of them:
 _site-info
 _footer-contact
 _left-column
 _right-column
 In Base Folder or any indexable sub-folders
15
_SITE-INFO
16
DATA DEFINITIONS OF
CONFIGURATION BLOCKS
17
CONFIGURATION BLOCKS
IN A SITE AND A FOLDER
18
TWO TYPES OF INDEXING
 Absolute indexing
 Tied with a folder
 Belonging to a site
 Block existing in a site, not reusable by other sites
 Example: dropdown menu bar
 Relative indexing
 Starts from the calling page
 Exists in global area
 Block existing in _common, reusable by all sites
 Examples: tabbed menu bar, breadcrumb, left menu
19
INDEXING CONFIGURATION
BLOCKS I
20
INDEXING CONFIGURATION
BLOCKS II
 Relative indexing
 The index block is plugged into a region named
STORAGE in the global configuration
 Picking up information stored in the four
configuration blocks in a site
 Blocks chosen: some global, some site-specific
(local)
 Global: global menu bar, left menu, theme, global
bricks
 Local: local menu bar, JavaScript, local stylesheet,
local bricks
21
FORMATTING THE INFORMATION
 Using XSLT
 Configuration blocks are sorted using number of
ancestor folders in descending order
 Closest configuration block takes precedence
22
THE FORMAT
23
DISTRIBUTING INFORMATION IN
STORAGE
 Template-level formats written in XSLT
 Grab information from named div's and send it to
named div's
 Clean up STORAGE
24
TEMPLATE FORMAT
25
WHY THE STORAGE REGION AND
TEMPLATE-LEVEL FORMATS?
 Global and local blocks made available to the entire site
 Information made available to all regions on the page
 Requires template-level formats
 Moving information from a div in STORAGE to any div
on the page
 Cleaning up all junks (STORAGE, unwanted div’s, etc.)
 Applications
 Bricks
 Blocks in WYSIWYG’s
 Injecting code into <head> at the page level
 Wrapping up an entire newsletter in a block
26
GLOBAL METADATA SETS I
27
GLOBAL METADATA SETS II
28
OTHER USES OF CONFIGURATION
BLOCKS
 Page-specific left/right column
 Not to be indexed (hidden in non-indexable
folder)
 Directly plugged into regions (LEFT COLUMN or
RIGHT COLUMN) at the page level
 Used with formats
29
USES OF DATA DEFINITION BLOCKS
 Four different ways of using a data definition
block (with respect to four different formats)
 In a configuration block to be indexed
 In a configuration block to be plugged into a region at
the page level (customizable configuration)
 Plugged into a region at the page level, used with a
format
 Chosen in a block chooser in DEFAULT
30
WHY XSLT?
 Same processing code in four different formats
 Centralized library code
 Use call-template everywhere
 Support of Xalan components if programming
logic needed
 Use of template-level formats
 As of Cascade 7.6, Velocity code library is
possible; what about template-level format?
31
IDENTIFYING BLOCKS
INSIDE CONFIGURATION BLOCKS
 Each block has a unique identifier
 Text blocks: unique names
 Data definition blocks: hidden type identifiers
 Index blocks: unique names
32
BLOCK DATA DEFINITION
33
PROCESSING BLOCKS IN FORMATS
 Named templates paired with blocks
 Hosting formats: switch-board code
 Call named templates in different hosting
formats
34
XSLT LIBRARIES
 Named templates in library files
 Namespaces
 Using XPath with names and attributes
 Using context nodes
 Where named templates are used
 In DEFAULT format
 In the STORAGE region
 In customized left/right column regions
 In other regions in center column
35
SWITCH-BOARD CODE
36
LIBRARY PROCESSING CODE
37
TRICKS ABOUT CONTEXT NODE I
 The parent node of system-data-structure is
content
 By selecting content when calling apply-
templates, the content node is passed in as the
context node
38
TRICKS ABOUT CONTEXT NODE II
 Within the context, system-data-structure can be
referred to directly
 In left-right-column-processing, the template
that matches system-data-structure just sits
there, waiting to be used
 There are no calls to templates that match bare
system-data-structure
 This eliminates accidental matching of system-
data-structure somewhere in the library
 Whenever a match of system-data-structure is
needed, prefix it with an XPath
39
KNOWN ISSUES RELATED TO
INDEXING
 Cyclic indexing
 At one point, blocks were used to generate items in
left menu
 Index block left-menu indexing pages, folders,
references, external links, and blocks (including
configuration blocks)
 Configuration block _left-column contains left-menu
 Index cache
 Menu highlighting not updated instantly
40
BRICKS I
 Bricks blocks: data definition blocks, which can
be either global or site-specific
 Chosen in _site-info
 Information available in STORAGE, no special
treatment needed
 String replacement in template format
 Brick values available anywhere on a page
(DEFAULT, right column, left column, header,
footer, etc.)
41
BRICKS II
42
BRICKS III
43
BRICKS IV
 Adding code to site-block-indexing (used by
STORAGE) so that the information is made
available in STORAGE
44
BRICKS V
 Adding a library file: bricks-processing
45
BRICKS VI
 New code in template format:
46
BRICKS VII
 A page with a brick:
47
BLICKS, BROCKS, OR BIW’S I
 A block that can be inserted into a WYSIWYG
 Something between a brick and a block
 Block choosers in _site-info, all assigned a fixed
set of id’s
 Block info made available in STORAGE
 In WYSIWYG, insert div’s with matching id’s
 Template formats distribute info in STORAGE to
these div’s
48
BLICKS, BROCKS, OR BIW’S II
49
BLICKS, BROCKS, OR BIW’S III
50
PROBLEM
 The div element is invisible in the WYSIWYG
 Dummy content can be added to the div (a string
or an image); the content will be removed by the
template formats
51
SOLUTION I
 An id can be entered directly into the WYSIWYG,
wrapped by <p></p> tags
 Assign a pre-defined class to the p element
52
SOLUTION II
 Create the div element with the id in the format
for DEFAULT
 Assign appropriate classes to the div or wrapping
div
53
INJECTING STYLE
INTO HEAD AT PAGE LEVEL I
 Add a div (id=“show-page-style”) in <head> in the
template
 Choose a block containing style information in
_site-info
54
INJECTING STYLE
INTO HEAD AT PAGE LEVEL II
 On the page:
 The format for DEFAULT turns the p into a div:
55
INJECTING STYLE
INTO HEAD AT PAGE LEVEL III
 The template formats match the page name in
the block and the page name on the page, and
inserts the style rules into <head>
56
INJECTING STYLE
INTO HEAD AT PAGE LEVEL IV
57
USING STORAGE:
THE LOGICAL CONCLUSION
 There is no reason why the region STORAGE cannot
be associated with a mega block, containing multiple
block choosers
 site-block-indexing can be just one of the blocks
available to STORAGE
 Global blocks can also be chosen by the mega block;
then global blocks can be replaced at site level (no
difference between global and local any more)
 Besides DEFAULT, there will be only one region,
namely STORAGE, in an entire template
 Only XSLT formats make sense in this setup, unless
we are ready for a huge Velocity format
58
QUESTIONS?
 Email: chanw@upstate.edu
59

Weitere ähnliche Inhalte

Andere mochten auch

Avoiding Stale Sites: preventing content from going out-of-date
Avoiding Stale Sites: preventing content from going out-of-dateAvoiding Stale Sites: preventing content from going out-of-date
Avoiding Stale Sites: preventing content from going out-of-datehannonhill
 
Angularjs cascade
Angularjs cascadeAngularjs cascade
Angularjs cascadehannonhill
 
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
 
Optimizing MySQL for Cascade Server
Optimizing MySQL for Cascade ServerOptimizing MySQL for Cascade Server
Optimizing MySQL for Cascade Serverhannonhill
 
Web Governance Crash Course: Creating a Sustainable Digital Transformation
Web Governance Crash Course: Creating a Sustainable Digital TransformationWeb Governance Crash Course: Creating a Sustainable Digital Transformation
Web Governance Crash Course: Creating a Sustainable Digital Transformationhannonhill
 
Cascade + Bootstrap = Awesome
Cascade + Bootstrap = AwesomeCascade + Bootstrap = Awesome
Cascade + Bootstrap = Awesomehannonhill
 
Using Cascade technology to increase SEO/Landing Page Optimization
Using Cascade technology to increase SEO/Landing Page OptimizationUsing Cascade technology to increase SEO/Landing Page Optimization
Using Cascade technology to increase SEO/Landing Page Optimizationhannonhill
 
Connecting Ecommerce & Centralized Analytics to Cascade Server
Connecting Ecommerce & Centralized Analytics to Cascade ServerConnecting Ecommerce & Centralized Analytics to Cascade Server
Connecting Ecommerce & Centralized Analytics to Cascade Serverhannonhill
 

Andere mochten auch (9)

Avoiding Stale Sites: preventing content from going out-of-date
Avoiding Stale Sites: preventing content from going out-of-dateAvoiding Stale Sites: preventing content from going out-of-date
Avoiding Stale Sites: preventing content from going out-of-date
 
Angularjs cascade
Angularjs cascadeAngularjs cascade
Angularjs cascade
 
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
 
Optimizing MySQL for Cascade Server
Optimizing MySQL for Cascade ServerOptimizing MySQL for Cascade Server
Optimizing MySQL for Cascade Server
 
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
 
Cascade + Bootstrap = Awesome
Cascade + Bootstrap = AwesomeCascade + Bootstrap = Awesome
Cascade + Bootstrap = Awesome
 
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
 
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
 

Ähnlich wie Block Choosers, Configuration Blocks, Metadata Sets, Indexing and XSLT

Magento - Design Integration Guideline - Bysoft China
Magento - Design Integration Guideline - Bysoft ChinaMagento - Design Integration Guideline - Bysoft China
Magento - Design Integration Guideline - Bysoft ChinaBysoft Technologies
 
Bootstrap Paragraphs for Drupal 8
Bootstrap Paragraphs for Drupal 8Bootstrap Paragraphs for Drupal 8
Bootstrap Paragraphs for Drupal 8Jim Birch
 
Streamlined Drupal 8: Site Building Strategies for Tight Deadlines
Streamlined Drupal 8: Site Building Strategies for Tight DeadlinesStreamlined Drupal 8: Site Building Strategies for Tight Deadlines
Streamlined Drupal 8: Site Building Strategies for Tight DeadlinesPantheon
 
Playing around with page types in TYPO3
Playing around with page types in TYPO3Playing around with page types in TYPO3
Playing around with page types in TYPO3punkt.de GmbH
 
Building Product Centric sites using Cross-Site publishing and Search [Swiss ...
Building Product Centric sites using Cross-Site publishing and Search [Swiss ...Building Product Centric sites using Cross-Site publishing and Search [Swiss ...
Building Product Centric sites using Cross-Site publishing and Search [Swiss ...Marius Constantinescu [MVP]
 
Top 35-interview-questions-on-sap-abap
Top 35-interview-questions-on-sap-abapTop 35-interview-questions-on-sap-abap
Top 35-interview-questions-on-sap-abapprathamesh4865
 
Unit 2 b_ex_query_designer
Unit 2 b_ex_query_designerUnit 2 b_ex_query_designer
Unit 2 b_ex_query_designerOnur Sezen
 
Designing well known websites with ADF Rich Faces
Designing well known websites with ADF Rich FacesDesigning well known websites with ADF Rich Faces
Designing well known websites with ADF Rich Facesmaikorocha
 
Module 08 Access & Use Database Application.pptx
Module 08 Access & Use Database Application.pptxModule 08 Access & Use Database Application.pptx
Module 08 Access & Use Database Application.pptxEsubalew21
 
Wordpress workflow for an agency world
Wordpress workflow for an agency worldWordpress workflow for an agency world
Wordpress workflow for an agency worldChris Lowe
 
"Using Indexes in SQL Server 2008" by Alexander Korotkiy, part 1
"Using Indexes in SQL Server 2008" by Alexander Korotkiy, part 1 "Using Indexes in SQL Server 2008" by Alexander Korotkiy, part 1
"Using Indexes in SQL Server 2008" by Alexander Korotkiy, part 1 Andriy Krayniy
 
Operate Spreadsheet applications ppt.pptx
Operate Spreadsheet applications ppt.pptxOperate Spreadsheet applications ppt.pptx
Operate Spreadsheet applications ppt.pptxEsubalew21
 
DJ-Catalog2 - Directory/Catalogue Joomla! extension - Features
DJ-Catalog2 - Directory/Catalogue Joomla! extension - FeaturesDJ-Catalog2 - Directory/Catalogue Joomla! extension - Features
DJ-Catalog2 - Directory/Catalogue Joomla! extension - FeaturesTomasz Kowalski
 
Getting to know oracle database objects iot, mviews, clusters and more…
Getting to know oracle database objects iot, mviews, clusters and more…Getting to know oracle database objects iot, mviews, clusters and more…
Getting to know oracle database objects iot, mviews, clusters and more…Aaron Shilo
 

Ähnlich wie Block Choosers, Configuration Blocks, Metadata Sets, Indexing and XSLT (20)

BEM
BEMBEM
BEM
 
Magento - Design Integration Guideline - Bysoft China
Magento - Design Integration Guideline - Bysoft ChinaMagento - Design Integration Guideline - Bysoft China
Magento - Design Integration Guideline - Bysoft China
 
Bootstrap Paragraphs for Drupal 8
Bootstrap Paragraphs for Drupal 8Bootstrap Paragraphs for Drupal 8
Bootstrap Paragraphs for Drupal 8
 
Streamlined Drupal 8: Site Building Strategies for Tight Deadlines
Streamlined Drupal 8: Site Building Strategies for Tight DeadlinesStreamlined Drupal 8: Site Building Strategies for Tight Deadlines
Streamlined Drupal 8: Site Building Strategies for Tight Deadlines
 
Les04
Les04Les04
Les04
 
Metadata Creation In OBIEE
Metadata Creation In OBIEEMetadata Creation In OBIEE
Metadata Creation In OBIEE
 
Playing around with page types in TYPO3
Playing around with page types in TYPO3Playing around with page types in TYPO3
Playing around with page types in TYPO3
 
Building Product Centric sites using Cross-Site publishing and Search [Swiss ...
Building Product Centric sites using Cross-Site publishing and Search [Swiss ...Building Product Centric sites using Cross-Site publishing and Search [Swiss ...
Building Product Centric sites using Cross-Site publishing and Search [Swiss ...
 
Top 35-interview-questions-on-sap-abap
Top 35-interview-questions-on-sap-abapTop 35-interview-questions-on-sap-abap
Top 35-interview-questions-on-sap-abap
 
Unit 2 b_ex_query_designer
Unit 2 b_ex_query_designerUnit 2 b_ex_query_designer
Unit 2 b_ex_query_designer
 
Designing well known websites with ADF Rich Faces
Designing well known websites with ADF Rich FacesDesigning well known websites with ADF Rich Faces
Designing well known websites with ADF Rich Faces
 
Module 08 Access & Use Database Application.pptx
Module 08 Access & Use Database Application.pptxModule 08 Access & Use Database Application.pptx
Module 08 Access & Use Database Application.pptx
 
Wordpress workflow for an agency world
Wordpress workflow for an agency worldWordpress workflow for an agency world
Wordpress workflow for an agency world
 
"Using Indexes in SQL Server 2008" by Alexander Korotkiy, part 1
"Using Indexes in SQL Server 2008" by Alexander Korotkiy, part 1 "Using Indexes in SQL Server 2008" by Alexander Korotkiy, part 1
"Using Indexes in SQL Server 2008" by Alexander Korotkiy, part 1
 
Operate Spreadsheet applications ppt.pptx
Operate Spreadsheet applications ppt.pptxOperate Spreadsheet applications ppt.pptx
Operate Spreadsheet applications ppt.pptx
 
DJ-Catalog2 - Directory/Catalogue Joomla! extension - Features
DJ-Catalog2 - Directory/Catalogue Joomla! extension - FeaturesDJ-Catalog2 - Directory/Catalogue Joomla! extension - Features
DJ-Catalog2 - Directory/Catalogue Joomla! extension - Features
 
The panels family
The panels familyThe panels family
The panels family
 
Getting to know oracle database objects iot, mviews, clusters and more…
Getting to know oracle database objects iot, mviews, clusters and more…Getting to know oracle database objects iot, mviews, clusters and more…
Getting to know oracle database objects iot, mviews, clusters and more…
 
BEM methodology overview
BEM methodology overviewBEM methodology overview
BEM methodology overview
 
Intro to OctoberCMS
Intro to OctoberCMSIntro to OctoberCMS
Intro to OctoberCMS
 

Mehr von 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 JShannonhill
 
Modernizing Internal Communications with Cascade Server, WordPress and MailCh...
Modernizing Internal Communications with Cascade Server, WordPress and MailCh...Modernizing Internal Communications with Cascade Server, WordPress and MailCh...
Modernizing Internal Communications with Cascade Server, WordPress and MailCh...hannonhill
 
Fun with Cascade Server!
Fun with Cascade Server!Fun with Cascade Server!
Fun with Cascade Server!hannonhill
 
Accessibility in Practice: Integrating Web Accessibility into Cascade Training
Accessibility in Practice:  Integrating Web Accessibility into Cascade TrainingAccessibility in Practice:  Integrating Web Accessibility into Cascade Training
Accessibility in Practice: Integrating Web Accessibility into Cascade Traininghannonhill
 
Crowdsourced Maps: From Google Forms to Fusion Tables to Cascade Server
Crowdsourced Maps: From Google Forms to Fusion Tables to Cascade ServerCrowdsourced Maps: From Google Forms to Fusion Tables to Cascade Server
Crowdsourced Maps: From Google Forms to Fusion Tables to Cascade Serverhannonhill
 
Superautomatic! Data Feeds, Bricks, and Blocks, with Server-side Transformat...
	Superautomatic! Data Feeds, Bricks, and Blocks, with Server-side Transformat...	Superautomatic! Data Feeds, Bricks, and Blocks, with Server-side Transformat...
Superautomatic! Data Feeds, Bricks, and Blocks, with Server-side Transformat...hannonhill
 
Climbing Migration Mountain: 200+ Sites from the Ground Up
Climbing Migration Mountain: 200+ Sites from the Ground UpClimbing Migration Mountain: 200+ Sites from the Ground Up
Climbing Migration Mountain: 200+ Sites from the Ground Uphannonhill
 
In Pursuit of the Grand Unified Template
In Pursuit of the Grand Unified TemplateIn Pursuit of the Grand Unified Template
In Pursuit of the Grand Unified Templatehannonhill
 
Cusestarter or How We Built Our Own Crowdfunding Platform
Cusestarter or How We Built Our Own Crowdfunding PlatformCusestarter or How We Built Our Own Crowdfunding Platform
Cusestarter or How We Built Our Own Crowdfunding Platformhannonhill
 
Web Services: Encapsulation, Reusability, and Simplicity
Web Services: Encapsulation, Reusability, and SimplicityWeb Services: Encapsulation, Reusability, and Simplicity
Web Services: Encapsulation, Reusability, and Simplicityhannonhill
 
Cascade Server: Past, Present, and Future!
Cascade Server: Past, Present, and Future!Cascade Server: Past, Present, and Future!
Cascade Server: Past, Present, and Future!hannonhill
 
Web Forms, or How I Learned to Stop Worrying and Love Web Services
Web Forms, or How I Learned to Stop Worrying and Love Web ServicesWeb Forms, or How I Learned to Stop Worrying and Love Web Services
Web Forms, or How I Learned to Stop Worrying and Love Web Serviceshannonhill
 
Outputting Their Full Potential: Using Outputs for Site Redesigns and Develo...
Outputting Their Full Potential: Using Outputs for Site Redesigns andDevelo...Outputting Their Full Potential: Using Outputs for Site Redesigns andDevelo...
Outputting Their Full Potential: Using Outputs for Site Redesigns and Develo...hannonhill
 
Redesign in Cascade Server
Redesign in Cascade ServerRedesign in Cascade Server
Redesign in Cascade Serverhannonhill
 
Building Org Charts Using Cascade Server
Building Org Charts Using Cascade Server Building Org Charts Using Cascade Server
Building Org Charts Using Cascade Server hannonhill
 
Leveraging Administrative Tasks with Webservices
Leveraging Administrative Tasks with WebservicesLeveraging Administrative Tasks with Webservices
Leveraging Administrative Tasks with Webserviceshannonhill
 
Making the grade without Clippy – Use of automatic readability scoring
Making the grade without Clippy – Use of automatic readability scoringMaking the grade without Clippy – Use of automatic readability scoring
Making the grade without Clippy – Use of automatic readability scoringhannonhill
 
Ingesting Banner output Schedule Classes into Cascade Server (In Java - Web S...
Ingesting Banner output Schedule Classes into Cascade Server (In Java - Web S...Ingesting Banner output Schedule Classes into Cascade Server (In Java - Web S...
Ingesting Banner output Schedule Classes into Cascade Server (In Java - Web S...hannonhill
 
Preparing for Emergency Communications
Preparing for Emergency CommunicationsPreparing for Emergency Communications
Preparing for Emergency Communicationshannonhill
 
A Groovy Way to Interface With Cascade Server
A Groovy Way to Interface With Cascade ServerA Groovy Way to Interface With Cascade Server
A Groovy Way to Interface With Cascade Serverhannonhill
 

Mehr von hannonhill (20)

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...
 
Climbing Migration Mountain: 200+ Sites from the Ground Up
Climbing Migration Mountain: 200+ Sites from the Ground UpClimbing Migration Mountain: 200+ Sites from the Ground Up
Climbing Migration Mountain: 200+ Sites from the Ground Up
 
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
 
Building Org Charts Using Cascade Server
Building Org Charts Using Cascade Server Building Org Charts Using Cascade Server
Building Org Charts Using Cascade Server
 
Leveraging Administrative Tasks with Webservices
Leveraging Administrative Tasks with WebservicesLeveraging Administrative Tasks with Webservices
Leveraging Administrative Tasks with Webservices
 
Making the grade without Clippy – Use of automatic readability scoring
Making the grade without Clippy – Use of automatic readability scoringMaking the grade without Clippy – Use of automatic readability scoring
Making the grade without Clippy – Use of automatic readability scoring
 
Ingesting Banner output Schedule Classes into Cascade Server (In Java - Web S...
Ingesting Banner output Schedule Classes into Cascade Server (In Java - Web S...Ingesting Banner output Schedule Classes into Cascade Server (In Java - Web S...
Ingesting Banner output Schedule Classes into Cascade Server (In Java - Web S...
 
Preparing for Emergency Communications
Preparing for Emergency CommunicationsPreparing for Emergency Communications
Preparing for Emergency Communications
 
A Groovy Way to Interface With Cascade Server
A Groovy Way to Interface With Cascade ServerA Groovy Way to Interface With Cascade Server
A Groovy Way to Interface With Cascade Server
 

Kürzlich hochgeladen

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024The Digital Insurer
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Principled Technologies
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 

Kürzlich hochgeladen (20)

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 

Block Choosers, Configuration Blocks, Metadata Sets, Indexing and XSLT

  • 1. BLOCK CHOOSERS, CONFIGURATION BLOCKS, METADATA SETS, INDEXING, AND XSLT Presented by Wing Ming Chan, Sep 16, 2013 Upstate Medical University chanw@upstate.edu 1
  • 2. TOPICS  Objectives of the design  Template with no regions for site-specific information  Configuration set vs. configuration block  Block choosers in DEFAULT and configuration blocks  Indexing  XSLT formats  Formats for regions  Template format  Xalan component (if time allows)  Metadata sets 2
  • 3. OBJECTIVES OF THE DESIGN  Avoid having too many site-specific components and assets: templates, configuration sets, content types, metadata sets, formats, index blocks  Separating the two functions of a configuration:  Controlling file format, output and publishing  Bundling blocks in regions for a site  Using blocks without regions 3
  • 4. THREE TYPES OF INFORMATION ON A PAGE  Global  Site-specific  Page-specific 4
  • 5. GLOBAL INFORMATION  Global navigation  Logo  Search  Breadcrumb  Footer (partially) 5
  • 6. SITE-SPECIFIC INFORMATION  Site title (text or image)  Menu bar  Left column  Right column  Footer contact information  Footer fourth column 6
  • 7. PAGE-SPECIFIC INFORMATION  DEFAULT  Page-specific left/right columns  Other regions in the center column 7
  • 8. GLOBAL TEMPLATE (WITHOUT A LOT OF REGIONS) 8
  • 9. CONFIGURATION VS. CONFIGURATION BLOCK  Global configuration  Regions defined for global information and page- specific information  Control file output, file extensions, publishing  No regions defined for site-specific information  Site-specific configuration blocks  Replace regions in configurations for sites  Block bundling 9
  • 10. CUSTOMIZABLE GLOBAL CONFIGURATIONS  Customizable regions for specific sites/pages  The entire header replaceable  Left column (one single region)  Right column (one single region) 10
  • 11. BLOCK CHOOSERS IN DEFAULT  Allowing blocks in DEFAULT  Main reason: when switching content type, only data in DEFAULT is kept 11
  • 12. DATA DEFINITION FOR DEFAULT 12
  • 13. CONFIGURATION BLOCK I  A data definition block  Containing multiple block choosers and other UI fields  Not plugged into any region (typical use)  Existing in and belonging to a specific site  To be indexed  Global index block  Global format processing the information gathered and stored in STORAGE 13
  • 14. CONFIGURATION BLOCK II  Containing site-specific/page-specific information  Site title  Menu bar  Theme  Local stylesheet  JavaScript library  Footer contact information  Blocks in left/right columns 14
  • 15. CONFIGURATION BLOCK III  Four of them:  _site-info  _footer-contact  _left-column  _right-column  In Base Folder or any indexable sub-folders 15
  • 18. CONFIGURATION BLOCKS IN A SITE AND A FOLDER 18
  • 19. TWO TYPES OF INDEXING  Absolute indexing  Tied with a folder  Belonging to a site  Block existing in a site, not reusable by other sites  Example: dropdown menu bar  Relative indexing  Starts from the calling page  Exists in global area  Block existing in _common, reusable by all sites  Examples: tabbed menu bar, breadcrumb, left menu 19
  • 21. INDEXING CONFIGURATION BLOCKS II  Relative indexing  The index block is plugged into a region named STORAGE in the global configuration  Picking up information stored in the four configuration blocks in a site  Blocks chosen: some global, some site-specific (local)  Global: global menu bar, left menu, theme, global bricks  Local: local menu bar, JavaScript, local stylesheet, local bricks 21
  • 22. FORMATTING THE INFORMATION  Using XSLT  Configuration blocks are sorted using number of ancestor folders in descending order  Closest configuration block takes precedence 22
  • 24. DISTRIBUTING INFORMATION IN STORAGE  Template-level formats written in XSLT  Grab information from named div's and send it to named div's  Clean up STORAGE 24
  • 26. WHY THE STORAGE REGION AND TEMPLATE-LEVEL FORMATS?  Global and local blocks made available to the entire site  Information made available to all regions on the page  Requires template-level formats  Moving information from a div in STORAGE to any div on the page  Cleaning up all junks (STORAGE, unwanted div’s, etc.)  Applications  Bricks  Blocks in WYSIWYG’s  Injecting code into <head> at the page level  Wrapping up an entire newsletter in a block 26
  • 29. OTHER USES OF CONFIGURATION BLOCKS  Page-specific left/right column  Not to be indexed (hidden in non-indexable folder)  Directly plugged into regions (LEFT COLUMN or RIGHT COLUMN) at the page level  Used with formats 29
  • 30. USES OF DATA DEFINITION BLOCKS  Four different ways of using a data definition block (with respect to four different formats)  In a configuration block to be indexed  In a configuration block to be plugged into a region at the page level (customizable configuration)  Plugged into a region at the page level, used with a format  Chosen in a block chooser in DEFAULT 30
  • 31. WHY XSLT?  Same processing code in four different formats  Centralized library code  Use call-template everywhere  Support of Xalan components if programming logic needed  Use of template-level formats  As of Cascade 7.6, Velocity code library is possible; what about template-level format? 31
  • 32. IDENTIFYING BLOCKS INSIDE CONFIGURATION BLOCKS  Each block has a unique identifier  Text blocks: unique names  Data definition blocks: hidden type identifiers  Index blocks: unique names 32
  • 34. PROCESSING BLOCKS IN FORMATS  Named templates paired with blocks  Hosting formats: switch-board code  Call named templates in different hosting formats 34
  • 35. XSLT LIBRARIES  Named templates in library files  Namespaces  Using XPath with names and attributes  Using context nodes  Where named templates are used  In DEFAULT format  In the STORAGE region  In customized left/right column regions  In other regions in center column 35
  • 38. TRICKS ABOUT CONTEXT NODE I  The parent node of system-data-structure is content  By selecting content when calling apply- templates, the content node is passed in as the context node 38
  • 39. TRICKS ABOUT CONTEXT NODE II  Within the context, system-data-structure can be referred to directly  In left-right-column-processing, the template that matches system-data-structure just sits there, waiting to be used  There are no calls to templates that match bare system-data-structure  This eliminates accidental matching of system- data-structure somewhere in the library  Whenever a match of system-data-structure is needed, prefix it with an XPath 39
  • 40. KNOWN ISSUES RELATED TO INDEXING  Cyclic indexing  At one point, blocks were used to generate items in left menu  Index block left-menu indexing pages, folders, references, external links, and blocks (including configuration blocks)  Configuration block _left-column contains left-menu  Index cache  Menu highlighting not updated instantly 40
  • 41. BRICKS I  Bricks blocks: data definition blocks, which can be either global or site-specific  Chosen in _site-info  Information available in STORAGE, no special treatment needed  String replacement in template format  Brick values available anywhere on a page (DEFAULT, right column, left column, header, footer, etc.) 41
  • 44. BRICKS IV  Adding code to site-block-indexing (used by STORAGE) so that the information is made available in STORAGE 44
  • 45. BRICKS V  Adding a library file: bricks-processing 45
  • 46. BRICKS VI  New code in template format: 46
  • 47. BRICKS VII  A page with a brick: 47
  • 48. BLICKS, BROCKS, OR BIW’S I  A block that can be inserted into a WYSIWYG  Something between a brick and a block  Block choosers in _site-info, all assigned a fixed set of id’s  Block info made available in STORAGE  In WYSIWYG, insert div’s with matching id’s  Template formats distribute info in STORAGE to these div’s 48
  • 49. BLICKS, BROCKS, OR BIW’S II 49
  • 50. BLICKS, BROCKS, OR BIW’S III 50
  • 51. PROBLEM  The div element is invisible in the WYSIWYG  Dummy content can be added to the div (a string or an image); the content will be removed by the template formats 51
  • 52. SOLUTION I  An id can be entered directly into the WYSIWYG, wrapped by <p></p> tags  Assign a pre-defined class to the p element 52
  • 53. SOLUTION II  Create the div element with the id in the format for DEFAULT  Assign appropriate classes to the div or wrapping div 53
  • 54. INJECTING STYLE INTO HEAD AT PAGE LEVEL I  Add a div (id=“show-page-style”) in <head> in the template  Choose a block containing style information in _site-info 54
  • 55. INJECTING STYLE INTO HEAD AT PAGE LEVEL II  On the page:  The format for DEFAULT turns the p into a div: 55
  • 56. INJECTING STYLE INTO HEAD AT PAGE LEVEL III  The template formats match the page name in the block and the page name on the page, and inserts the style rules into <head> 56
  • 57. INJECTING STYLE INTO HEAD AT PAGE LEVEL IV 57
  • 58. USING STORAGE: THE LOGICAL CONCLUSION  There is no reason why the region STORAGE cannot be associated with a mega block, containing multiple block choosers  site-block-indexing can be just one of the blocks available to STORAGE  Global blocks can also be chosen by the mega block; then global blocks can be replaced at site level (no difference between global and local any more)  Besides DEFAULT, there will be only one region, namely STORAGE, in an entire template  Only XSLT formats make sense in this setup, unless we are ready for a huge Velocity format 58