OU Variables

OU Variables

These variables can be either 1) provided by OU or 2) set in Site Access or Directory Access settings from within OUCampus.

Site-Level Variables

Set through Site Access settings in OmniUpdate. By policy and convention, these should not be set at the directory level.

analyticsIDs-CSV

Set in CSV format to trigger tracking for additional Google Analytics properties.
Format: UA-XXXX-X,UA-XXXX-Y

<xsl:param name="ou:analyticsIDs-CSV"/> 

advancedNav

Set to true to override default nav.pcf processing (disable XSLT transform)
Format: true|false

Default: 'false'

<xsl:param name="ou:advancedNav" select="'false'"/> <xsl:variable name="page-title" select="/document/metadata/ouc:properties/title"/>

page-title

Variable that pulls from page metadata
Format: string

titleSeparator

Character to separate page title segments.
Format: string

Default: ' | '

<xsl:param name="ou:titleSeparator" select="' | '"/> 

titleExtra

Extra text to insert in page title tag between 'page name' and 'University of Arkansas'
Example: Walton College of Business
Format: string

<xsl:param name="ou:titleExtra"/> 

DIRECTORY VARIABLES

Set through Access settings in OmniUpdate.

showLeftNav

Turns on/off the left navigation column
Format: true|false

Default: 'true'

<xsl:param name="ou:showLeftNav" select="'true'"/> 

showTopNav

Turns on/off the top navigation
Format: true|false

Default: 'true'

<xsl:param name="ou:showTopNav" select="'true'"/> 

showBreadcrumbs

Turns on/off the breadcrumb links
Format: true|false

Default: 'true'

<xsl:param name="ou:showBreadcrumbs" select="'true'"/> <xsl:variable as="map(xs:string, xs:string)" name="ou:layoutVariables" select="map { 'showLeftNav' : $ou:showLeftNav, 'showTopNav' : $ou:showTopNav, 'showBreadcrumbs' : $ou:showBreadcrumbs, 'fullWidth' : 'false', 'columns' : 'single' }"/>

bodyclass

Added to

tag on all descendant pages. Automatically includes the name of the current site.
Format: string string2

<xsl:param name="ou:bodyclass"/> <xsl:variable name="bodyclass" select="replace($ou:site, '[^a-z0-9]+', '') || ' ' || $ou:bodyclass"/>

topNavFile

site-relative path of top nav file. If not set, default is $ou:root/_top-nav.pcf
Format: /dir/filename.pcf

<xsl:param name="ou:topNavFile"/> <xsl:variable name="topNavFile">
    <xsl:choose>
      <xsl:when test="not($ou:topNavFile = '')">
        <xsl:value-of select="$ou:topNavFile"/>
      </xsl:when>
      <xsl:otherwise>
        <xsl:copy-of select="'/_top-nav.pcf'"/>
      </xsl:otherwise>
    </xsl:choose>
  </xsl:variable>

standard navigation start directory variable for navigation, must start with a slash

<xsl:param name="ou:navigation-start"/> <xsl:variable name="navigation-start" select="if ($ou:navigation-start = '') then $dirname     else (if (ends-with($ou:navigation-start, '/'))     then $ou:navigation-start else concat($ou:navigation-start, '/'))"/>

Default: '_left_nav.pcf'

<xsl:param name="nav-file" select="'_left_nav.pcf'"/> 

current navigation location for the implementation

Default: $navigation-start || $nav-file

<xsl:param name="navigation-path" select="$navigation-start || $nav-file"/> 

tier2

Shown as College or Department name next to U of A Logo
Format: string

<xsl:param name="ou:tier2"/> 

tier2URL

HREF of tier2 link
Format: url

Default: $ou:httproot

<xsl:param name="ou:tier2URL" select="$ou:httproot"/> 

tier2Tagline

Shown UNDER College or Department name next to U of A Logo
Format: string

<xsl:param name="ou:tier2Tagline"/> 

tier3

Shown as Program or Subsection name UNDER U of A Logo
Format: string

<xsl:param name="ou:tier3"/> 

tier3URL

HREF of tier3 link
Format: url

Default: $ou:httproot

<xsl:param name="ou:tier3URL" select="$ou:httproot"/> 

UARK-Specific Variables

Only customized during CI/CD and local development, otherwise defaults are set here.

uark:email

Author of the latest commit

<xsl:param name="uark:email"/> 

uark:staticIncludesBase

Equivalent of

tag. Prepended to CSS/JS and template-level image URLs.

Default: 'https://includes.uark.edu/'

<xsl:param name="uark:staticIncludesBase" select="'https://includes.uark.edu/'"/> <xsl:variable name="server-type" select="'php'"/>

production server type

production server include type

production server index file name

production server file type extension

enable ou search tags to be output around the include functions and other places

xsl param to enable social meta tag output onto the pages

Default: false()

<xsl:param name="enable-social-meta-tag-output" select="false()"/> 

System Variables

Set by OmniUpdate, non-editable

action

Page 'state' in OU Campus
(prv = Preview, pub = Publish, edt = Edit, cmp = Compare)
(ci = UARK CI/CD scripts)

<xsl:param name="ou:action"/> <xsl:variable name="is-pub" select="$ou:action = 'pub'"/>

uuid

Unique Page ID

<xsl:param name="ou:uuid"/> 

path

Root-relative path to page output

<xsl:param name="ou:path"/> <xsl:variable name="path" select="substring($ou:root,1,string-length($ou:httproot)-1)"/>

dirname

Root-relative path to current folder.
Do not use $ou:dirname directly in XSL, always use $dirname

<xsl:param name="ou:dirname"/> <xsl:variable name="dirname" select="if(string-length($ou:dirname) = 1) then $ou:dirname else concat($ou:dirname,'/')"/>

filename

Filename of output

<xsl:param name="ou:filename"/> 

created

Page Creation date/time

<xsl:param as="xs:dateTime" name="ou:created"/> 

modified

Last Page Modification date/time

<xsl:param as="xs:dateTime" name="ou:modified"/> 

feed

Path (root-relative) to RSS Feed that's assigned to current page

<xsl:param name="ou:feed"/> 

Staging Server Info

servername

Staging Server's Domain Name

<xsl:param name="ou:servername"/> 

root

Path from root of staging server

<xsl:param name="ou:root"/> 

site

Site Name (same as foldername on staging server)

<xsl:param name="ou:site"/> 

stagingpath

Staging path of the file

<xsl:param name="ou:stagingpath"/> 

Production Server Info

target

Name of Target Production Server

<xsl:param name="ou:target"/> 

httproot

Address of Target Production Server (from site settings)
Domain: extract domain from httproot

<xsl:param name="ou:httproot"/> <xsl:variable name="domain" select="substring($ou:httproot,1,string-length($ou:httproot)-1)"/>

ftproot

Folder path to site root on Production Server (from site settings)

Default: ''

<xsl:param name="ou:ftproot" select="''"/> 

ftphome

Initial subdirectory for site root on Production Server (from site settings)

<xsl:param name="ou:ftphome"/> 

custom directory variables for reading global include files

for multisite setups they need to exist on the same server

where is the main domain for multisite setup

<xsl:param name="ou:www-domain"/> 

where is the main ftp root for multisite setup

<xsl:param name="ou:www-ftproot"/> 

User Info

Set by OmniUpdate, non-editable

username

Active user/publisher

<xsl:param name="ou:username"/> 

lastname

Active user/publisher

<xsl:param name="ou:lastname"/> 

firstname

Active user/publisher

<xsl:param name="ou:firstname"/> 

email

Active user/publisher

<xsl:param name="ou:email"/> 
TODO: include site footer