'An explicit initialize method is used to set the default values, rather than implementing an
__init__ method.  This is because the default values are dependent on other information from
within the course.'

@staticmethod
def initialize_default(course):

    course.tabs.extend([CourseTab.load('course_info'), CourseTab.load('courseware')])
    if (hasattr(course, 'syllabus_present') and course.syllabus_present):
        course.tabs.append(CourseTab.load('syllabus'))
    if course.discussion_link:
        discussion_tab = CourseTab.load('external_discussion', name=_('External    Discussion'), link=course.discussion_link)
    else:
        discussion_tab = CourseTab.load('discussion')
    course.tabs.extend([CourseTab.load('textbooks'), discussion_tab, CourseTab.load('wiki'), CourseTab.load('progress')])
