Web at UofL

Resources and information for those who create and maintain UofL websites

CourseLeaf Integration


The University's Academic Catalog is the official source for academic degree information. As such, it is required that if you are including academic catalog information on your web pages it must be embedded directly from our main academic catalog to ensure accuracy. This requirement helps us remain in good standing with accrediting bodies and shows good stewardship of our academic content for our students and users.

SACSCOC standards emphasize the importance of published academic policies and program requirements. It is essential that content is aligned between the catalog and program/unit webpages in order to meet these standards.

Before implementing the API using the instructions below, please work with the appropriate unit Associate Dean(s) to determine what catalog content should be synced with each program website to ensure consistency across unit webpages.


The following instructions review the steps needed to utilize the Courseleaf Application Programming Interface (API) to integrate content from the CourseLeaf academic catalog platform to be used on unit/program websites in Plone 4. Using this process will ensure that the data on your page remains in alignment with academic catalog data.

  1. Go to https://catalog.louisville.edu/ and open the catalog page that you would like to sync to your program website. You will need part of the url for step 5.
  2. Go to your program webpage and login to the page in Plone by clicking the login button on the right side of the menu bar at the bottom of the page, then selecting "Plone".
  3. Find the existing program page you would like to sync to the catalog and open to edit OR create a new page to use for the catalog sync. To do this, go to ‘Contents under Site’, find the folder and select the existing page OR select "Add New Page" under "Add New".
  4. Once you have selected the appropriate page, click "Edit" in Plone; this will bring up the page editor. Then select "Edit Without Visual Editor" or "Edit as html".
  5. Review and edit the html provided on the Example Code portion of this page. Modify the var degree line (second line) in the html to include the url for the catalog page with the content you want to sync. To do this, return to the catalog page and select the relative url (everything after catalog.louisville.edu/ and before /indesx.xml), then replace the sample url with the url you selected and copied on the var degree line in the html.
  6. After you have updated the var degree line with your url, copy the html and paste into the content area for the html editor for your page. *Note: This will bring all of the tabs on the catalog page you selected to your program page. If you would like to remove some of the tabs, proceed to step 7; if not, skip to step 8.
  7. To remove specific catalog tabs, delete the <div and <li lines associated with the button you would like to remove in the html. The tab buttons and sections are identified in green font in the html to facilitate easy identification and removal.
  8. Once the revised html is pasted into the visual editor, click the "Save" button at bottom of the page editor.

Example Code

<script type="text/javascript">
var degree = "undergraduate/majors/biology-bs/index.xml";  //Change this to your url
<div id="courseleaf-content"> <div id="degreeTitle"></div>
<!-- Buttons --> <div id="tabs"> <ul class="clearfix">
<!-- Overview Button --> <li class="tabsList active" id="texttab"><a class="tabLinks" href="#textcontainer">Overview</a></li>
<!-- Admission Button --> <li class="tabsList" id="admissiontexttab"><a class="tabLinks" href="#admissiontextcontainer">Admission</a></li>
<!-- Degree Requirements Button --> <li class="tabsList" id="degreerequirementstexttab"><a class="tabLinks" href="#degreerequirementstextcontainer">Degree Requirements</a></li>
<!-- Track Requirements/Concentration/Specialization Button --> <li class="tabsList" id="trackrequirementstexttab"><a class="tabLinks" href="#trackrequirementstextcontainer">Track Requirements</a></li>
<!-- Flight Plan Button --> <li class="tabsList" id="flightplantexttab"><a class="tabLinks" href="#flightplantextcontainer">Flight Plan</a></li>
<!-- Certificate Requirements Button --> <li class="tabsList" id="certificaterequirementstexttab"><a class="tabLinks" href="#certificaterequirementstextcontainer">Certificate Requirements</a></li>
</ul> </div>
<!-- Output Sections -->
<!-- Overview Output Section --> <div class="tab_content" id="textcontainer"></div>
<!-- Admission Output Section --> <div class="tab_content" id="admissiontextcontainer"></div>
<!-- Degree Requirements Output Section --> <div class="tab_content" id="degreerequirementstextcontainer"></div>
<!--Track Concentration/Specialization Requirements Output Section --> <div class="tab_content" id="trackrequirementstextcontainer"></div>
<!-- Flight Plan Output Section --> <div class="tab_content" id="flightplantextcontainer"></div>
<!-- Certificate Requirements Output Section --> <div class="tab_content" id="certificaterequirementstextcontainer"></div>
<p><br /><br /></p> </div> <script type="text/javascript"> var head = document.head; var link = document.createElement("link"); link.type = "text/css"; link.rel = "stylesheet"; link.href = "https://louisville.edu/resources/courseleaf/catalog.css"; head.appendChild(link); </script> <script defer="defer" src="https://louisville.edu/resources/courseleaf/catalogAPI.js" type="text/javascript"> </script>


Why is it important to sync catalog content with unit/program webpage content?
SACSCOC standards 9.7, 10.1, and 10.3 emphasize the importance of published academic policies and program requirements. It is essential that content is aligned between the catalog and program/unit webpages in order to meet these standards. The academic catalog is considered a “critical publication” and serves as the official authoritative source for information about course and degree requirements. In addition, University of Louisville web content standards require that all content on a university website must be free of errors and provide correct and up-to-date information to the user. Following this process to sync content will ensure that unit/program webpage content will align with any approved catalog updates.

If you experience problems using the CourseLeaf API, contact web@louisville.edu for further assistance.