Advanced Site Settings

Most of the settings on this page assume some technical knowledge about Course Builder, Google App Engine, and web applications in general. Usually, you don’t need to change the default values to create and run a single course. These advanced settings also affect your entire Course Builder instance. That is, they are global in scope and affect all your courses.

  • Site Admin Emails - This list of email addresses represents the super-administrators for the whole site. Super-admin users have the highest level of access, including all data about all courses and students within that instance. All Google App Engine administrators are automatically super-administrators for your course and you do not need to specify their email addresses here. Separate addresses with a comma, space, or newline. Default: ’’.
  • Aggregate Counters - If “True”, counter values are aggregated across all frontend application instances and recorded in memcache. This slightly increases latency of all requests, but improves the quality of performance metrics. Otherwise, you will only see counter values for the one frontend instance you are connected to right now. Default: ‘False’.
  • Debug Information - If “True”, debugging information is available in the web pages for course administrators. This may be useful if you develop custom Course Builder features or extensions. Default: ‘False’.
  • Share Student Profile - If “True”, the student’s profile information is shared among all the different courses for which she registered. This setting is only relevant if you have multiple courses on this instance. You must enable this setting before any student registers. Default: ‘False’.
  • Dynamic Tags - If “True”, lesson content can use custom HTML tags such as gcb-youtube videoid="...". If this setting is enabled, some legacy content may be rendered differently. Default: ‘True’.
  • Cache Templates - If “True”, Jinja2 can cache bytecode of compiled templates in-process. During course development you should turn this setting to “False” so you can see your changes instantaneously. Otherwise, keep this setting at “True” to maximize performance. Default: ‘True’.
  • Memcache - If “True”, various objects are cached in memcache. During course development you should turn this setting to “False” so you can see your changes instantaneously. Otherwise, keep this setting at “True” to maximize performance. Default: ‘True’.
  • Cache Translations - If “True”, translations are cached. During course development you should turn this setting to “False” so you can see your change instantaneously. Otherwise, keep this setting at “True” to maximize performance. Default: ‘True’.
  • Cache Content - If “True”, course content is cached. During course development you should turn this setting to “False” so you can see your changes instantaneously. Otherwise, keep this setting at “True” to maximize performance. Default: ‘True’.
  • Refresh Interval - An update interval (in seconds) for reloading runtime properties from the datastore. Specify an integer value between 1 and 300, inclusive. To completely disable reloading properties, set the value to 0. Default: ‘60’.
  • Google APIs - If “True”, courses can use Google APIs. You must still configure the relevant APIs in the Cloud Console to successfully make API calls. Default: ‘False’.
  • Course URLs - Specify the URLs for your course(s). Specify only one course per line. The syntax has four parts, separated by colons (‘:’).
    • The four parts are:
      1. The word course, which is a required element.
      2. A unique course URL prefix. Examples could be /cs101 or /art. Default: /
      3. A file system location of course asset files. If location is left empty, the course assets are stored in a datastore instead of the file system. A course with assets in a datastore can be edited online. A course with assets on file system must be re-deployed to Google App Engine manually.
      4. A course datastore namespace where course data is stored in App Engine. Note: this value cannot be changed after the course is created.

    For example, consider the following two course entries:

    `course:/cs101::ns_cs101`
    
    `course:/:/`
    

    Assuming you are hosting Course Builder on http://www.example.com, the first entry defines a course on http://www.example.com/cs101 and both its assets and student data are stored in the datastore namespace ns_cs101. The second entry defines a course hosted on http://www.example.com/. Its assets are stored in the / folder of the installation and its data is stored in the default empty datastore namespace.

    A line that starts with # is ignored. Course entries are applied in the order they are defined. Default: course:/:/:.

  • Course Explorer - If “True”, the root directory (/ after the hostname) redirects to the course explorer page. Otherwise, it redirects to the preview page for the default course. You must enable Share Student Profile before any student registers, otherwise the registration buttons will not work. Default: ‘False’.
  • MapReduce - If “True”, you can access status pages for individual map/reduce jobs as they run. These pages can also be used to cancel jobs. You may want to cancel huge jobs that are consuming too many resources. Default: ‘False’.
  • Encryption Secret - If “True”, enables the REST endpoints to the external task balancer module. You must also set the Task Balancer URL to use this feature. Default: ‘False’.
  • Task Balancer REST - If “True”, enables the REST endpoints to the external task balancer module. You must also set the Task Balancer URL to use this feature. Default: ‘False’.
  • Task Balancer URL - Specify the URL for the worker pool used by the external task balancer module. Default: ’’.
  • Queue Notification - Specify the number of queue failures before Course Builder sends a notification email to the course administrator(s). Course Builder uses a work queue to notify modules of changes in the status of students (enrollment, unenrollment, etc.). Since some of the work done from this queue is potentially sensitive (e.g., privacy concerns), the queue will re-try failed work indefinitely. If the failures persist for the specified number of attempts, an email is sent to all the course administrators to alert them of the problem. Retries are done with increasingly large delays 0:15 seconds, 0:30, 1:00, 2:00, 4:00, 8:00, 32:00, 1:04:00 and every two hours thereafter. Default: ‘10’.
  • GITKit module browser API key - Browser API Key from the Google Developer console. This field is found under Key from browser applications > API key. See Configure Google Identity Toolkit for instructions Default: ’’.
  • GITKit module client ID - Client ID from the Google Developer console. This field is found under Client ID for web application > Client ID. See Configure Google Identity Toolkit for instructions Default: ’’.
  • GITKit module server API key - Server API key from the Google Developer console. This field is found under Key for server applications > API key. See Configure Google Identity Toolkit for instructions Default: ’’.
  • GITKit module service account JSON - JSON file contents from Google Developer console. To create, click “Generate new JSON key”, and copy the contents in here. See Configure Google Identity Toolkit for instructions Default: ’’.
  • GITKit module account chooser title - Title of accountchooser.com page Default: ‘Please sign in’.
  • Usage report ID - Randomized string used to identify this installation of CourseBuilder when reporting usage statistics. This value has no intrinsic meaning, and no relation to any data or course setting; it is just used to correlate the weekly reports from this installation. Default: ‘A random value will be picked when the first report is sent.’.
  • Usage reporting - States the usage reporting statement. Specifically, “I agree that Google may collect information about this deployment of Course Builder to help improve Google’s products and services and for research purposes. Google will maintain this data in accordance with Google’s privacy policy and will not associate the data it collects with this course or a user. Your response to this question will be sent to Google.” Default: ‘False’.
  • Whitelist - Specify a list of email addresses of users who are allowed to access courses. Separate the email addresses with commas. If this field is blank, site-wide user whitelisting is disabled. Access to courses is implicitly granted to Google App Engine admins and course admins, so you don’t need to repeat them here. Course-specific whitelists supersede this list: if a course has a non-blank whitelist, this list is ignored. Default: ’’.
  • XSRF secret - Or CSRF secret. Specify the text used to encrypt tokens, which help prevent cross-site request forgery (XSRF). You can set the value to any alphanumeric text, preferably using 16-64 characters. Once you change this value, the server rejects all subsequent requests issued using an old value for this variable. Default: ‘Course Builder XSRF Secret’.