Explore the Directories

This page briefly describes the directory structure for the source code files provided with Course Builder.

  • assets - various files that make up the content of your course
    • css - cascading style sheet (CSS) files
    • img - images
    • js - activity and assessment JavaScript files
    • lib - Course Builder and third party front-end libraries
  • controllers - various web request handlers
  • data - CSV data files that define sequence of units and lessons of the course. These .csv files are for the example course only. For the content and structure of your course, you should deploy Course Builder to Google App Engine and create your course through the browser. Your data will subsequently be saved on the Google App Engine datastore.
  • lib - third party open-source libraries not developed by Google; it’s your responsibility to review and accept licensing terms for each library
  • models - common infrastructure classes and database entities
  • modules - various extension modules
    • admin - administrator console
    • analytics - displays course analytics in the dashboard
    • announcements - edits course announcements in the dashboard and displays them in the course
    • assessment_tags - model for implementing question tags
    • certificate - defines course certificate criteria
    • course_explorer - course explorer for listing all courses on the homepage
    • dashboard - course author dashboard
    • embed - allows embedding Course Builder assessments into other web pages
    • extra_tabs - allows course admins to add additional tabs to the menu header
    • guide - displays course content in an experimental, non-linear user experience
    • i18n - translation files for supporting user interface in multiple languages
    • invitation - allows course participants to invite others to take the course
    • mapreduce - provides handlers for URLs related to map/reduce and pipelines
    • notifications - sends registration confirmation emails to students
    • oauth2 - implements login via OAuth 2.0 functionality
    • oeditor - generic AJAX object editor used by other modules
    • questionnaire - enables course admins to construct survey-like forms in HTML and have the responses be recorded in the datastore
    • rating - embeds a rating widget in all lessons so students can rate the content on a 5 point scale
    • review - enables the peer review subsystem
    • search - allows students to search over course content
    • unsubscribe - enables students to unsubscribe from course emails
    • upload - allows file uploads
  • tests - all unit and functional tests
  • tools - course structure and activity/assessment verification tools and data export tools. This applies only to the example and disk created courses only.
  • views - HTML page templates for various course pages