...
The Course Schedule Portlet currently resides in the JASIG sandbox. The default configuration is setup with mock implementations of
the portlet's data access objects - no configuration changes are needed to try it out in your environment.
Screenshots
List View:
Grid View:
Source
The source can be obtained from the JASIG subversion repository:
...
- 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.
- Start by creating a new Maven portlet project.
- 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>
- 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:
- Implement an ISemesterDao based on your Academic Calendar.
- 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.
...