Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • org.jasig.portlet.courseschedule.service.ICourseMeetingDao provides CourseMeetings for the authenticated user and their selected year/season
  • org.jasig.portlet.courseschedule.service.ISemesterDao provides the "current" Semester and a list of "visible" semesters the visitor may choose from

Customization

The Course Schedule Portlet is best extended by creating an "overlay" portlet project that depends on the CourseSchedulePortlet.

  1. Start by creating a new Maven portlet project.
  2. In the dependencies section of your pom.xml, add the CourseSchedulePortlet in the following fashion:
    Code Block
    
    <dependency>
      <groupId>org.jasig.portlet.courseschedule</groupId>
      <artifactId>CourseSchedulePortlet</artifactId>
      <version>1.0.0-M1</version>
      <classifier>classes</classifier>
      <type>jar</type>
    </dependency>
    <dependency>
      <groupId>org.jasig.portlet.courseschedule</groupId>
      <artifactId>CourseSchedulePortlet</artifactId>
      <type>war</type>
      <scope>runtime</scope>
      <version>1.0.0-M1</version>
    </dependency>
    
  3. In the build section of your pom.xml, add the maven-war-plugin:
    Code Block
    
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-war-plugin</artifactId>
      <configuration>
        <overlays>
          <overlay>
            <groupId>org.jasig.portlet.courseschedule</groupId>
            <artifactId>CourseSchedulePortlet</artifactId>
          </overlay>
        </overlays>
      </configuration>
    </plugin>
    

The code in your new project now will be laid over the top of the CourseSchedulePortlet when you run the maven package command.

It is likely that your university will model course data differently. The best way to integrate your curricular data is to take the following steps:

  1. Implement an ISemesterDao based on your Academic Calendar.
  2. Implement an ICourseMeetingDao that is backed with your SPIs for retrieving curricular data. This implementation will focus on translating a "Course Meeting" in your data model to a CourseSchedulePortlet's CourseMeeting object.

...