Editors can add live information from BU’s course catalog directly to their page using the Course Feed plugin. This plugin must be activated for your site before it can be used. Please contact us if you’re interested in activating the Course Feeds plugin.

Quick start

[bu-course-feed include=”CASPY”] will list all courses in the College of Arts and Sciences’ Physics department using the three-letter college code plus the two-letter department identifier.

fig-1

Embedded course feed of CAS Physics courses.

Choosing which courses to display

Include what you want

Specify which courses to display using the include attribute.  This can be done in four ways:

  1. Include all courses from an entire college by specifying the college’s three letter code.  For example, [bu-course-feed include="CAS"] would include all courses in the College of Arts and Sciences.
  2. Include only courses from a specific department by specifying the college’s three letter code followed by the department’s two letter code.  For example, [bu-course-feed include="CASPY"] would include all courses in the College of Arts and Sciences’ Physics department.
  3. Include only a specific course by specifying the exact course ID.  For example, [bu-course-feed include="CASPY103"].
  4. Include a range of courses within a department.  For example, [bu-course-feed include="CASPY100-CASPY199"] would list all 100-level courses in the College of Arts and Sciences’ physics department.

Additionally, you can specify multiple inclusions by separating them with commas.  For example, to list two specific courses one could use [bu-course-feed include="CASPY105,CASPY103"].  Note that when using multiple inclusions, the order in which they appear in the short code is ignored.

Exclude what you don’t want

You can filter out any items you don’t want with the exclude attribute. This follows the same format as include, and any courses in the exclusion list will be omitted from the generated list. For example, [bu-course-feed include="CASPY" exclude="CASPY105] lists all Physics courses except for PY 105.

Getting schedule info

The examples above will only produce summary information like course ID and description. To see more specific details like scheduling and instructor info, you must specify which period you want this info for. Periods are specified with the period attribute and this may be a list of multiple periods separated by commas. A period is a 4-digit year followed by a four-character semester code. Semester codes are one of FALL, SPRG, SUM1, or SUM2 for the fall, spring, and two summer semesters respectively.

The following shortcode will produce a feed of all courses in CASPY except for CASPY105, and for courses which were available in Fall of 2013 it will also show their specific schedule details.

[bu-course-feed include="CASPY" exclude="CASPY105" period="2013FALL"]

fig-2

Course details included for a semester’s courses.

However, this list includes many courses that were not offered during this period; they simply lack schedule info. If you only want to display courses that were offered during this period you may specify only_offered="Y", which will omit any courses that are in the include list but were not offered during the period(s) mentioned in period.

Using the bulletin

A course’s details can vary over time, so the period specified is used to determine which version of a course’s details to show. If no period is specified, the most current information will be used instead.

An alternative is to specify use_bulletin="Y" in the shortcode. This will ensure that the feed uses the information that is current in the bulletin regardless of what period is being shown.

Fine tuning output

There are some additional shortcode attributes that can further refine the output:

  • blank_titles — set to “N” to hide courses that have no title.  By default they are shown.
  • page_size – set to the maximum number of courses to display on a page.  By default all courses appear on a single page, which can be unwieldy for larger lists.
  • paging – set this to “before”, “after”, “both”, or “none” when using page_size.  This determines where page links are displayed with respect to the list.  By default they appear after the list.
  • paging_sep – set this to whatever you’d like to use to separate individual page numbers.  By default this is the · character.

Custom formats

The plugin offers a few options for customizing markup.  Your theme will provide a default structure; this is what would be used in all of the examples above.  Some themes may additionally offer named formats that change the output produced by the shortcode.  Consult the documentation provided with your theme to determine if your theme supports named formats for course feeds.  If it does, you can specify a custom format for your feed like:

[bu-course-feed include="CASPY" format="condensed"]

This would show all courses in CASPY using the “condensed” format.  For this to be effective your theme must specifically define a format called “condensed”.