Megg Brown, Assistant Director of Web Development, Vassar College, Poughkeepsie, NY
2012 Cascade User Conference
Lessons LearnedSite Best Practices, Content Repurposing, and Custom Reporting at Vassar
Outline
Introduction Quick facts about Vassar and
how we’re structured
Sample Site The site we copy in Cascade
Content Repurposing Include files Database publishing Site variables
Reporting Email Charts
About Vassar College
Vassar College is a highly selective, coeducational, independent, residential liberal arts college founded in 1861
Located in Poughkeepsie, New York80 miles north of New York City
2,400 students 290 faculty
Web Development custom designs each site Located in
Communications 7 FTE
Director Assistant Director Web Designers (4) Web Developer
Each design is unique Over 100 official websites
maintained with Cascade
Web Maintenance
Cascade as content repository Our approach has been to treat Cascade as our content
repository
We publish what you need, where we need it Database publish was huge for us
We get to decide what it looks like, including under the hood We developed the HTML we want in our sites We set up include files so we don’t have to publish too much when we have
changes
We prefer a “Push CMS” It works for us If something happens to the CMS server it won’t take down the published
sites We can restrict the CMS server to campus
Have a “Sample Site” in Cascade
A site ready to copy to create a new site Saves you from starting from
scratch Designer builds HTML/CSS
outside the CMS Set up site in Cascade with
content before design is ready
Merge the two to produce the launchable site
More about our projects on our blog
webdesign.vassar.edu
Structure of “Sample Site”
4 sites work together to make a launchable site
Assets outside Cascade Shared across sites
Secure domain for hosting published files displayed inside Cascade (CSS, images)
Site-specific assets
Assets used inside Cascade Shared across sites
If we had to do it over againWe would have two sites:
1) shared assets, published to secure site2) the site-specific assets
A note about site exportsHave your site as self-contained as
possibleif you plan to share examples.
To import a site connected to assets in multiple sites, the other sites and assets need to exist. So if we share an example we would need to provide an export of
each site used.
Templates have a consistent structure As little HTML as possible html5 Regions in sets of 3
DEFAULT-PRE DEFAULT DEFAULT-POST
Region assignments: Site-wide in Template Section-wide in Configuration
(created as needed) Page-specific in Page
PHP for site name, hide display name on homepage
Templates have a consistent structure As little HTML as possible html5 Regions in sets of 3
DEFAULT-PRE DEFAULT DEFAULT-POST
Region assignments: Site-wide in Template Section-wide in Configuration
(created as needed) Page-specific in Page
PHP for site name, hide display name on homepage
Templates have a consistent structure As little HTML as possible html5 Regions in sets of 3
DEFAULT-PRE DEFAULT DEFAULT-POST
Region assignments: Site-wide in Template Section-wide in Configuration
(created as needed) Page-specific in Page
PHP for site name, hide display name on homepage
Templates have a consistent structure As little HTML as possible html5 Regions in sets of 3
DEFAULT-PRE DEFAULT DEFAULT-POST
Region assignments: Site-wide in Template Section-wide in Configuration
(created as needed) Page-specific in Page
PHP for site name, hide display name on homepage
<!--#START-CODE<title>#END-CODE--><system-page-title/><!--#START-CODE - <?php echo $_SERVER['V_CONTENT_SITENAME']; ?> - Vassar College</title>#END-CODE-->
<!--#START-CODE<title>#END-CODE--><system-page-title/><!--#START-CODE - <?php echo $_SERVER['V_CONTENT_SITENAME']; ?> - Vassar College</title>#END-CODE-->
<!--#START-CODE <?php if($_SERVER['PHP_SELF']!=$_SERVER['V_FOLDER_PATH'].'/index.html'){ ?>#END-CODE--><h2 class="pagetitle"><system-page-display-name/></h2><!--#START-CODE<?php } ?>#END-CODE-->
<!--#START-CODE <?php if($_SERVER['PHP_SELF']!=$_SERVER['V_FOLDER_PATH'].'/index.html'){ ?>#END-CODE--><h2 class="pagetitle"><system-page-display-name/></h2><!--#START-CODE<?php } ?>#END-CODE-->
Next we’ll jump over to the Administration area
Administration Area of Sample Site What we don’t use:
Workflow We prefer workflow to take place
outside the CMS. Publish Sets
When testing upgrades of Cascade we need to remember to disable them.
Connectors We have not yet explored
Connectors.
Configuration Sets
We try to have as few as possible, but we do have sites with a set per section
Now being used on all new/upgraded sites
Data DefinitionsUsed in some websites, all announcements, all bios
Content Types
Metadata SetsAll sites set with Display Name and Title inlineWe try to use Custom Metadata over Data Definitions.
Destinations and Transports
Each site is set up to publish Announcements to MySQL MySQL database for
reporting Database named CMS
Audit “Leave this checked”
Live website Test website
When we set up a new site we add groups to the Destinations -- common step we missed
For Transports, all sites are assigned a unique Site ID from a table we maintain in MySQL
.htaccess and .htaccess-staging
Two files one for live website, publishes
to subdomain: samplesite.vassar.edu
one for test version, publishes to subfolder: test.vassar.edu/samplesite/w
eb
Rewrite rules to match URL for Cascade “Live” link
Contains Server Variables Paths and Settings Content
.htaccess and .htaccess-staging Contains Server Variables
Paths and Settings Site ID Subfolder path (staging version) Include path
Content Site name Box number Office location Office URL (deep link in campus
map for office location) Office phone Office fax Office contact email Contact information used by the
announcements system
index and template
index Assigned to the standard
template Copied to make new pages Once the site is filled in with
content we determine if the homepage warrants its own template
index and template
template A sample page with examples
of all the HTML we need the CSS to accommodate Does not get removed Does not get indexed, but is
published Used when we need to
tweak and test the CSS
index and template
template A sample page with examples
of all the HTML we need the CSS to accommodate Does not get removed Does not get indexed, but is
published Used when we need to
tweak and test the CSS
site-xml.xmlPublishes XML of the site,
similar to the index block for use with a PHP scriptthat parses the XML into the site navigation
Users see the assets folder, but can only publish nav; the rest is hidden
They can add files to the “docs” folder They also don’t see the .htaccess files or the template page
Content Repurposing Include files
College Catalogue Student Handbook College Regulations
Benefit When changes are made the
updates appear on each site; no need to copy-and-paste updates across multiple sites
Accuracy: pages remain up-to-date, refreshed with each new edition of the source publication
Catalogue content included in each academic site Catalogue content updated
in by the Registrar Courses updated in Banner All other content in Cascade
How it works A line of PHP is all we need to
include each section in another site
<?php@readfile(“
http://catalogue.v assar.edu/includes/departm entpages/BIOL.php
”);?>
Content Repurposing Database publishing
News Press releases published from
Communications fed to sites by keywords
Departments post their own announcements
Both rolled together to show headlines and news in site design
Bios Main content and custom
metadata published to MySQL from Cascade
Table of data from Banner Table of data to override names
and titles when needed
Multiple bios across sites Faculty each have a home
department They can also teach in multiple
programs
We can display the same bio on each site
Multiple bios across sites Faculty each have a home
department They can also teach in multiple
programs
We can display the same bio on each site
Reporting
Reporting
vcSiteIDs Stores the Site ID numbers Display name and Title URL Category, date launched
(designed), and designer are available to show history of a site
Reporting
archive Captures all the information
for that day, one record per asset
Includes content Does not include custom
metadata We may add a field with an
array of all custom metadata
Used for reporting over time
Daily Report
First report developed Emailed every morning Recap what was published
from the CMS the previous day Pages only Grouped by site Added icons to distinguish
between announcements and pages
Added search results from other sources
highcharts.com for dynamic charts
Vassar College Web Developmenthttp://webdesign.vassar.edu
@vassarwebdesign
Megg Brownhttp://about.me/meggbrown
@stomer
Vassar sites