In the last 6 years, we have grown with Cascade Server. We’d like to share some of the Cascade lessons learned, our best practices and some tools and tricks that we have picked up along the way.
In this presentation we will cover:
-A little of our Cascade history
-Moving from targets to sites…why?
-Controlling our template type with structured data definitions and index blocks
-Building a permissions and workflow strategy
-Implementing more than 100 Google analytical keys with 1 XHTML/Data Definition Block
-Utilizing aliases and symbolic links for global assets (images, CSS and JavaScript)
In this presentation, we’ll share our growth with Cascade and how we’ve learned to roll over old site designs into a new Khoi Pond V3 design without affecting users and existing content.
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Cascade Server from 4.9 to 6.7.4: Migrating Sites and Controlling Template Types by Althea McMillian and Alem Areki
1. JOURNEY FROM 4.9 TO 6.7.4
HOW WE MIGRATED TO SITES AND
CONTROLLED OUR TEMPLATE TYPES
Althea McMillian and Alem Areki
University of Richmond
2. JOURNEY FROM 4.9 TO 6.7.4
HOW WE MIGRATED TO SITES AND
CONTROLLED OUR TEMPLATE TYPES
• Our Cascade History
• Moving From Targets To Sites…Why?
• Other Successes During This Journey
• Q&A
3. • Coming from ISPIN our “home • Summer 2010 (Artemis – Single source
grown” CMS • Fall 2009 – Article System – dynamic content delivery)
• Cascade 4.9 install (fall 2006) V2 – MVC/Oracle to
• Cascade 6.2
PHP/XML
• Completed Business • Spring 2009 – Khoi Pond I –
School Site a total redesign in 12
• Article System V1 – Weeks
Cascade asset • Cascade 5.7.2 Target to Sites
pointers and indexing
2006 2007 2008 2009 2010 2011 2012
TEAM/SKILL • 130 sites are in cascade • 130 sites are in cascade
• Fall 2007 – Catalog in Cascade (3) • ~ 390 templates • ~ 2 templates
<?XSLT> <XML> • Continue building sites in • ~ 600 Configuration sets • ~ 10 Configuration
Cascade • ~ 350 Contributors sets
• ~ 60 sites
• Cascade 6.7.4 • ~ 450 Contributors
• ~ 100 Contributors
• Article System V3 • Cascade 6.7.4
(CAS + eXistdb + PHP/XML) • Workflow/Permission
• Workflow, no permission
structure
structure
Team
Our Cascade History: Background
Time Line
17. Base Folder
_common_
images
promo-image.jpg
Configuration
Set
2-column-
Metadata Set template
www
Data
Definition
3 column-
Page-1 template
Configuration
Set
2 column-
Metadata Set template
business
Data
Definition
3 column-
Page-1 template
Global Area - Cascade Server Configuration Setup Diagram
18. Apache HTTPD Web Server
Alias Magic in the httpd.conf file
Alias /_common_/ /WWW/external/alias/common/
<Directory /WWW/external/alias/common>
Order allow,deny
Allow from all
</Directory>
Our Cascade History: Background
Centralized Common Images – Alias Solution
19. Cascade Server – Targets (folder) setup Diagram
Base Folder Configuration
sets Templates
Folder-1
Folder-2
.
.
.
Folder-60
Using the illustrated cascade structure we were able to build 60+
sites quickly
Having images and related assets in a common area also made
this easier
20. • Coming from ISPIN our “home
grown” CMS
• Cascade 4.9 install (fall 2006)
• Completed Business
School Site
• Article System V1 –
Cascade asset
pointers and indexing
2006 2007 2008 2009 2010 2011 2012
TEAM/SKILL
• Fall 2007 – Catalog in Cascade (3)
<?XSLT> <XML> • Continue building sites in
Cascade
• ~ 60 sites
• ~ 100 Contributors
• Workflow, no permission
structure
Team
Our Cascade History: Background
Time Line 2006 - 2008
28. Moving from Targets to Sites: Why?
• Targets (implied sites as cascade
folders) are confusing and hard to
manage
• Site are always changing (new
designs, new navigation, etc.)
30. Moving from Targets to Sites: Why?
• Better management of roles/permissions
• Individual recycle bins
• Cross site linking
• Site Building and Revision Efficiency in
Cascade
31. • Coming from ISPIN our “home • Summer 2010 (Artemis – Single source
grown” CMS • Fall 2009 – Article System – dynamic content delivery)
• Cascade 4.9 install (fall 2006) V2 – MVC/Oracle to
• Cascade 6.2
PHP/XML
• Completed Business • Spring 2009 – Khoi Pond I –
School Site a total redesign in 12
• Article System V1 – Weeks
Cascade asset • Cascade 5.7.2 Target to Sites
pointers and indexing
2006 2007 2008 2009 2010 2011 2012
TEAM/SKILL • 130 sites are in cascade
• Fall 2007 – Catalog in Cascade (3) • ~ 390 templates
<?XSLT> <XML> • Continue building sites in • ~ 600 Configuration sets
Cascade • ~ 350 Contributors
• ~ 60 sites
• Cascade 6.7.4
• ~ 100 Contributors
• Article System V3
(CAS + eXistdb + PHP/XML)
• Workflow, no permission
structure
Team
Moving from Targets to Sites: When?
Time Line 2006-2011
32. Moving from Targets to Sites: How?
Planning
• How much time for planning
• What did planning consist of
• Risks
• Special sites
• Special page
• Google Key
• Permission
• Testing
• To dos
• How much time to do the migration
• How many people
34. Moving from Targets to Sites: How?
Proof of concept
• Copied live database to test db
35. Internet
Isolated from
Internet
Test Cascade
QA Web Server &
Server Database
Moving from Targets to Sites: How?
Cascade Test System Architecture
36. Moving from Targets to Sites: How?
Proof of concept
• Copied live database to test
• Used Site Migration Wizard with a few
complex sites
• Reviewed errors
• Made necessary adjustments
37. Base Folder
_common_
images
promo-image.jpg
Configuration
Set
2-column-
Metadata Set template
www
Data
Definition
3 column-
Page-1 template
Configuration
Set
2 column-
Metadata Set template
business
Data
Definition
3 column-
Page-1 template
Global Area - Cascade Server Configuration Setup Diagram
38. Moving from Targets to Sites: How?
First we converted the
_common_ folder to the
_assets site site
41. Moving from Targets to Sites: How?
Deploy our concept
• Created _assets site
• Create global templates
• Create global content types and
configurations
• Create sample pages
42. Moving from Targets to Sites: How?
Configuration
Content types set Template
Base Folder
Home-A
Home-B
Secondary
43. Moving from Targets to Sites: How?
Deploy our concept
• Created _assets site
• Create main templates
• Create global content types and
configurations
• Create sample pages
Migrate main school sites (Course
Catalog, WWW, Admissions, A&S, etc.)
49. Moving from Targets to Sites: How?
Additionally
• Built permission and workflow strategy
• Implemented 100+ Google Analytics Keys with
1 HTML/Data Definition
53. Moving from Targets to Sites: Post
Migration
Targets (Before) Sites (After)
Folder-1 site-1
Folder-2 site-2
. .
. .
. .
site-130
Folder-130
Configuration
Content types sets Templates
Configuratio
Content types n sets Templates
54. Moving from Targets to Sites: Post
Migration
• Increased efficiency
• Only use 1-2 templates. We have fewer content
types and configurations
• Permission strategy clean structure
• Produce new site skeleton (page
types, nav, analytics keys) within minutes
• Easily apply new design templates
• Global changes can be applied everywhere fast
55. • Coming from ISPIN our “home • Summer 2010 (Artemis – Single source
grown” CMS • Fall 2009 – Article System – dynamic content delivery)
• Cascade 4.9 install (fall 2006) V2 – MVC/Oracle to
• Cascade 6.2
PHP/XML
• Completed Business • Spring 2009 – Khoi Pond I –
School Site a total redesign in 12
• Article System V1 – Weeks
Cascade asset • Cascade 5.7.2 Target to Sites
pointers and indexing
2006 2007 2008 2009 2010 2011 2012
TEAM/SKILL • 130 sites are in cascade • 130 sites are in cascade
• Fall 2007 – Catalog in Cascade (3) • ~ 390 templates • ~ 2 templates
<?XSLT> <XML> • Continue building sites in • ~ 600 Configuration sets • ~ 10 Configuration
Cascade • ~ 350 Contributors sets
• ~ 60 sites
• Cascade 6.7.4 • ~ 450 Contributors
• ~ 100 Contributors
• Article System V3 • Cascade 6.7.4
(CAS + eXistdb + PHP/XML) • Workflow/Permission
• Workflow, no permission
structure
structure
Team
Moving from Targets to Sites: Post Migration
TIME LINE 2006-2011
57. Moving from Targets to Sites: Lessons Learned
Site Migration Checklist - Time per Site
58. Moving from Targets to Sites:
Lessons Learned
How do we access common images from our test
sites?
59. Moving from Targets to Sites: Lessons Learned
Adjust Site URL to /_common_KP3
60. Apache HTTPD Web Server
Alias Magic in the httpd.conf file
Alias /_common_KP3/ /WWW/external/assets/
Alias /_common_/ /WWW/external/alias/common/
<Directory /WWW/external/alias/common>
Order allow,deny
Allow from all
</Directory>
Moving from Targets to Sites: Lessons Learned
Centralized Common Images – Alias Solution
61. Moving from Targets to Sites:
Lessons Learned
How do we access common images from our test
sites?
• Site migration wizard slower on content heavy
site our migration time estimates were low
62. Moving from Targets to Sites: Lessons Learned
Site migration wizard slower on content heavy site
63. Other Success During This Journey
Streamlining Online and Print College Catalog
Publishing http://www.hannonhill.com/kb/Users-
Conference/2008/streamlining-catalog-
publishing/index.html
65. Other Success During This Journey
Streamlining Online and Print College Catalog
Publishing http://www.hannonhill.com/kb/Users-
Conference/2008/streamlining-catalog-
publishing/index.html
The Perfect Marriage: Cascade XML + Cascade
Preview + Open Source XML Database
http://www.hannonhill.com/news/conference/201
1/Videos-Index.html
We store images and other common assets outside of sites (implied or real sites). This allows for each site to use and reuse these assets. It prevents image duplication and other similar challenges.
Image asset reuse by multiple folders (implied site)
We work routinely become a factory at common tasks like site migrations and new buildsPRODUCTION LINE
Page types/data definitions/content types Home-B (as department index page) Home-A (Domain based index page with features) 6-9 Box Gateway 5 Box Gateway Secondary (Home C) Secondary FAQ Gallery
What is the storyWe started to really mature our designsWhich led the designers to think in modular termsWe mapped our visual regions (modules) to cascade content typesWe arranged content types in unique ways resulting in page types (Home B, or seconday page type)Originally we ended up with 9 page typeReinforce factory
We spent three months on/off preparing the plan for the projectWe estimated about 3 days to migrate 130 sites with three people
Made necessary adjustments 1- moved templates to its own folder 2. Each folder (implied site) must have its own configuration/content type/template. We found some sites where used different folders configuration/content type/template. We have to detached these. 3. make XSLT adjustment to image path 4.Before we migrate each asset type had to point to a content type.
Some folders (implied site) were sharing configuration sets/templates. These cause an error when converting from target to site.
Content type were created based our page and modules types. Which is driven by data definitions Page types/data definitions/content types Home-B (as department index page) Home-A (Domain based index page with features) 6-9 Box Gateway 5 Box Gateway Secondary (Home C) Secondary FAQ Gallery
Once we migrated our main sites we continue migrating all based our checklist
Inventory of sites
Site-1 = _assets
What we gained
Additional site adjustments that we didn’t consideredSpecial sites
Problem: how do we access common assets from the QA sites?In a site cross site linking is an absolute link – (http://assets.richmond.edu) when published
Site migration wizard slower 1. heavy sites takes longer time 2. three people doing site conversation at the same time