Web Server

Course Builder now makes it easy to serve any static web pages alongside your courses.

To serve this content, include one or more directories under /modules/webserv/document_roots/ when deploying Course Builder to Google App Engine.

Configuration is done via the Settings > Web server.

Enable Web Server

  1. Go to Settings > Web server.

  2. Check the box to Enable Web Server.

Turning on Enable Web Server allows anyone with access to the content to see it at the URL configured using the URL Component setting.

URL Component

To access web pages, append this URL component to the end of the course URL.

For instance, if the course is at myapp.appspot.com/my_course and you want the web pages to be accessed at myapp.appspot.com/my_course/static/, then enter static into the URL Component field.

If URL Component is blank, then pages will be accessible at the course root (for instance, myapp.appspot.com/my_course/).

Content Root

The content root is the directory in your deployment that contains the static files for this course. Every directory under /modules/webserv/document_roots/ is available in the drop-down menu. Select the option that should be available at this course’s URL.

All courses will automatically have sample included in the list. The /modules/webserv/document_roots/sample directory contains a few sample pages to demonstrate the functionality.

Process Templates

The Course Builder web server can process Jinja templates for *.html files if Process Templates is checked.

In addition to basic Jinja processing, Course Builder provides certain template variables. For details, see /modules/webserv/document_roots/samples/jinja.html.

If your site will serve dynamic pages created with Jinja templates, then turn this setting on.

Process Markdown

The Course Builder web server can also process and serve Markdown files (*.md) if Process Markdown is checked.

The Markdown processor uses Python-Markdown, which includes these extensions.


By default, the web pages for a course use the Course Availability setting, but this setting can also be overridden to make them more or less available.

The availability options for web pages are:

  • Private - only administrators can access
  • Course - follows Course Availability setting
  • Public - anyone can access

Note: If a course is Private, web pages will only be available to administrators, regardless of this setting. If a course is Registration Required, web pages will only be available to registered students. Such students must be registered and logged in before visiting the web pages.