Modern Campus Catalog Emblem Modern Campus CMS Emblem Modern Campus Curriculum Emblem Modern Campus Involve Emblem Modern Campus Lifelong Learning Extended Education Emblem Modern Campus Message Emblem Modern Campus Navigate Emblem Modern Campus Schedule Emblem Modern Campus Virtual Tours & Maps Emblem Modern Campus Lifelong Learning Workforce and Community Emblem Site Menu Open Site Menu Close

CMS Course Catalog

This module manages and publishes your course catalog directly through Modern Campus CMS. Both listings for courses and programs are configured, as well as PDF output of the catalog. Course catalog supports both pulling data from an external source and manual content management.

A screenshot of a web page that shows an image of a college campus and links to course catalogs for several calendar years.

Because this is a highly customizable module, it's likely that your implementation of course catalog has some unique features that aren't covered by this documentation. The basics are covered below, but for specific questions, consult your developer notes.

StructureLink to this section

Course catalog is set up as a separate site in your Modern Campus CMS account. The home URL can be configured as you wish, either as a subdomain (for example or a folder off the root ( However, the URL type in site settings should be page-relative. Your course catalog can pull in resources such as a header and footer from another site, but the XSL files must be separate.

At a basic level, it consists of individual pages within folders, and an index page that pulls information from these pages and displays them in a listing. Each individual page contains data about a specific course or program, and then the listing pages pull in that data, sometimes with a link back to each page.

The /_resources/ folder, found at the root of your catalog site, contains all styling for the catalog. However, the header and footer include files are pulled directly from your main website.

Two directory variables are set at the root of your site: www-domain and www-ftproot. These point the catalog site to the appropriate domain (HTTP root) and ftproot (FTP root) where your main website header and footer files reside. Other directory variables are navigation-start and breadcrumb-start, which can be used to specify the starting level for side navigation and breadcrumb listings.

To facilitate archiving and managing catalogs on a year-by-year basis, all instances of Course Catalog have dependency manager turned off by default. This means that any links in pages are hardcoded, and there is no tracking of links broken by a folder or file being moved, renamed, or deleted.

Software as a service (SaaS) and self-hosted customers running Modern Campus CMS version 10.15.1 or later can have dependency manager turned on as the default behavior of copying folders allows for updating dependency links.

Listing Pages

Listing pages, which display data pulled in from other pages, cannot be edited via editable regions as a usual page would be. This is because they pull the data in automatically; there is no need to edit them. The typical listing pages in a catalog are:

  • The entire catalog PDF aggregate page
  • Course listing page
  • Program listing page

When another page is edited and published, the listing page changes as well, but must be published for those changes to appear on the live website.

An alphabetical listing of different college programs on a website page

Subfolder listing pages contain a page parameter where you can specify a subject code. The listing page then only pulls course data matching that subject code.

Courses and Programs

The majority of pages are grouped within two folders: Courses and Programs. It is important to keep these two folders distinct from each other, and to ensure pages are placed in the correct folder. Programs refers to degrees or programs (for example Biology, Accounting, Theater), whereas Courses refers to specific classes within a program.

The course data, such as course or program title, descriptions, and times, can be added in two ways. One option is to manually enter the data into each page. The other is to pull the data in from an external source of information, such as a third-party program managing course data. Individual course/program pages that pull information from an external source typically have a page parameter that allows the user to identify the data to be pulled, such as "Course ID."

Regulatory Pages

Course Catalog also allows for interior pages to be created, referred to as regulatory pages. These pages do not pull from a provided XML export or aggregate data into a listing, but are edited just as normal interior pages are. The content on these pages is also be included in the PDF catalog by default. Regulatory pages are often used for the Academic Honesty policy page, Message from the President page, and the like.

When editing content on these pages, text styles and snippets can be used to modify the content for PDF display. From the styles dropdown in the WYSIWYG toolbar, four default classes are available: “Exclude from PDF (Inline),” “Exclude from Web (Inline),” “Exclude from PDF (Block),” and “Exclude from Web (Block).” When applied to content, these styles hide either only the selected content (styles marked “Inline”) or the entire paragraph (styles marked “Block”) from display on either the web page or the PDF respectively.

There are also two default snippets available: “PDF Column Break” and “PDF Page Break.” “PDF Column Break” jumps content inserted after the snippet into the next column on the PDF, while “PDF Page Break” jumps content inserted after the snippet to the next PDF page.

PDF OutputLink to this section

Course Catalog uses XSL-FO to create PDFs from its pages. These PDFs pull content from the published pages, so they are automatically updated whenever a new page is published. Due to the nature of XSL-FO, the formatting on PDFs is fairly inflexible and does not allow for customization of individual elements (for example, every Level 3 Heading must have the exact same formatting).

If you wish to include a custom font in your PDF, you must provide it for the implementation.

The page weight attribute determines how items in the PDF are sorted. Items with a higher page weight are placed first, for example, a section with the page weight of seven displays before a section with the weight of three. Items with the same page weight are then sorted alphabetically.

  • Assign page weight to entire sections in the /_pdf-props.pcf file within each section.
  • Assign page weight to individual pages in Properties > Parameters > PDF Options.

A menu for editing the parameters > PDF Options of a page, with the field to edit "Page Weight" circled.

Files and FoldersLink to this section

Note: If your implementation of course catalog is older than a year, your files may be different than the ones described below. Please consult your developer notes or our support team for assistance. 

The following are specific files and folders within your catalog.


The /current folder is where all the pages for your current year catalog exist. It contains the following subfolders and pages:


If your catalog pulls XML from an external source, upload those XML files to this folder. These files must always have the same XML structure as when first implemented. The images for the front and back covers are uploaded here as well.


Similar to a Section Properties file (_props.pcf), which exists in each folder to specify folder-wide attributes, the Catalog Configuration file only exists once per catalog version and is applicable to the entire catalog directory. This file specifies resource files, headings, and other content that apply to the entire catalog. Its name cannot be modified.

The _config.pcf file is where you specify the path to your external XML files. It needs to be republished when a different XML Source is selected, or when the data from the XML Source changes. Upon publish, the XML from the source file is reformatted into a more standard structure that is compatible with OU Course Catalog. This also helps with efficiency, removing extraneous data and ensuring there is a data source local to the production server that can be referenced. Any additional pages using this data must then be republished afterward, as they pull from the published output.


This page compiles all the information from your catalog pages into a single document that outputs the full PDF catalog on page publish. Previewing the page and selecting “Catalog PDF” shows the full catalog. This can take some time to load, depending on the size of the PDF.

Site dropdown, catalog dropdown, multi-brower preview

Use the bookmarks icon in the upper-right corner of the PDF to skip to any header in the catalog.

The order of pages and section in this document is calculated using page weight. The Table of Contents should have the highest page weight, so it's first in the PDF, and the Index Page (for example Glossary of Terms) should have the lowest to place it last.

The page content cannot be edited, but certain options are set in Properties > Parameters. These parameters include specifying the file path to the front and back cover images as well as display options for the Table of Contents and Index Page (for example Glossary of Terms).


This page serves as the “home” page for the catalog on your website and does not output any PDF content. Instead, its purpose is to display relevant marketing and informational content.


The /courses/ folder contains all data pertaining to classes and courses (as opposed to programs or majors). Individual courses pages and the index page of this folder pull from the external data file specified in /current/_config.pcf. Only the index page has a parameter for "Index Keywords" which specify individual terms that appear on the Index Page (for example Glossary of Terms) at the end of the PDF.

/courses/ is further divided into sections that group related courses together. Each section contains the following files:

  • / is the side navigation that displays on the live website.
  • /props.pcf sets the title for the section.
  • /_pdf-props.pcf contains options for the catalog PDF, including a page weight for the entire section. A cover image can be added on a per-section basis as well. Preview > Section Outline shows the weights for the pages inside this section and the order they currently display in.


This folder contains all individual program pages. Here, each program page has a parameter to modify "Index Keywords" which specify individual terms that appear on the index page (for example Glossary of Terms) at the end of the PDF. These pages use MultiEdit to create page content; on page publish, the contents of the fields are published as an XML file which is then aggregated by /programs/index.pcf.

The /programs/index.pcf page displays an aggregated listing of all the program pages data. If changes are made to the individual program page fields, or program pages are created or deleted, the index page must be republished for those changes to show.


This page is only available if you do not have OU Search implemented. Web visitor search queries are matched to the information in the external XML file and not to content added into page editable regions.

Once your catalog has been built out for the school year, publish the /index.html at the root of the site as well as the /current section to make it live. You should not make changes to /current once it is live. Instead, to start developing next year's catalog, make a copy of /current and rename it /working. Use this folder as your development space for next year's catalog instead.

Add New CoursesLink to this section

On implementation, our Professional Services team uses a script to create new course pages based on the external XML file you provide. After your catalog has been implemented, use the following steps to add new courses to your catalog:

  1. Go to the site selector to choose the catalog.
    A dropdown list where the option for "catalog" is selected.
  2. Navigate to /_data.
  3. Upload and publish a new external data file which includes the new course information.
  4. If the file name of the XML file has changed, update and publish /current/_config.pcf.
  5. Navigate to the appropriate directory for the new course – for example, if you were making a page about the new astronomy course, you would probably navigate to the Science directory.
  6. Select +New.
  7. Select the appropriate "New Course Page" template.
  8. Fill out the form fields accordingly; if your course catalog pulls in data from an external source, make sure the course ID you fill in is identical to its ID in the third-party program, as that is how Modern Campus CMS identifies the proper source for the information.
  9. Save and publish the page.
  10. Republish the /courses/index.pcf page.

ArchiveLink to this section

As each school year passes, you may wish to archive your school's catalog. There are two options: the simpler is to archive only the full PDF of the catalog, while the other is to archive the entire catalog section.

Whichever method you chose, it's recommended to first make a zip file of your Modern Campus CMS files, so you have a backup before recycling or deleting any files. To do this, navigate to Setup > Sites > Actions > Export as Zip File.


One option is to save the PDF files of the catalog, either to a dedicated folder in Modern Campus CMS or an external hard drive, and then edit your pages to reflect the new academic year. To archive a PDF of your catalog and roll over to the next year's catalog:

  1. Download the full catalog PDF from the live version of /catalog.pcf on your live website.
  2. Upload the PDF to a folder in your catalog, preferably /archive (though this is up to administrator preference).
  3. Publish the PDF.
    • If your implementation doesn't use Binary Management, the PDF will automatically be uploaded to the production server and won't exist on staging.
  4. You can now link to the archived PDF as necessary.
  5. Build out your new academic year's catalog in /working.
  6. Rename your /current catalog to /old-catalog.
  7. Rename your /working catalog to /current and publish the section.
  8. Review all pages on the live website to make sure your new catalog looks as it should.
  9. Delete /old-catalog.
    • Deleting a folder permanently deletes all contents inside it. If you want the option of restoring content, recycle the files inside folder first before deleting the folder itself.

Entire Section

Another option is to archive all web pages and PDF versions. To archive your catalog as a section in Modern Campus CMS and roll over to the next year's catalog:

Before we start, verify that you have at least 2 version folders at the root: /current and /working (or something similar for the new version that will replace the current catalog).

  1. Perform a Dependency Revert on the main site (and other sites that may have links to the catalog).
  2. Verify that catalog links in any assets are dependency tags to the /current pages. If you do not change them to hard-coded paths, these links will break after the archive process.
  3. Make a copy of /current.
    • If you have Dependency Manager enabled in the catalog site, perform the copy with the option "Update links to content within the copied folder."
  4. Rename the copy /[academic year], for example /2018-2019. This copy must be placed at the root of the site.
  5. Use find and replace to check for any references to the old folder name.
    • Search for the old folder name using "Literal Text," with the new folder name as the "Replace With" value.
    • Review the replace options, select the ones you want to proceed with, and click "Replace." 
    • Publish the folder to push the link changes to the live site.
  6. Update relevant links on the main site to the new location of that academic year's full PDF, course index page, and programs index page.
  7. Rename /current to /backup.
  8. Rename /working to /current.
  9. In the new /current:
    1. Check in the _data folder that the external XML is accurate for the new academic year. If not, upload the new file.
    2. Check _config.pcf in Page Parameters that the external XML is correctly selected.
    3. Publish _config.pcf.
    4. Check if Template Groups for special folders are assigned correctly.
    5. Check if any directory variables are needed by comparing with /backup.
    6. Publish the entire section. Check for errors. If there are errors, re-publish any special sections in case of complex dependencies.
      Note: Some child pages may require the index page to be published first for correct display, or vice versa. Therefore, if there are sections with multiple levels of this behavior, multiple publishes may be necessary.
  10. Review all pages on the live website to make sure your new catalog looks as it should.
  11. Delete /backup.

By continuing to use this site, you agree to the storing of first- and third-party cookies on your device to enhance site navigation; analyze site, product, and service usage; and assist in our marketing and promotional efforts. Cookie Policy