blackboard.platform.integration.provider
Interface NavigationProvider

All Superinterfaces:
IntegrationProvider
All Known Implementing Classes:
AbstractNavigationProvider

public interface NavigationProvider
extends IntegrationProvider

Provides methods to generate URLs used to navigate users into the external LMS.

Implementation of this provider is mandatory.

Since:
Bb 7.3

Nested Class Summary
 
Nested classes/interfaces inherited from interface blackboard.platform.integration.provider.IntegrationProvider
IntegrationProvider.ProviderType
 
Method Summary
 java.lang.String getAdminCourseAdd(java.lang.String returnUrl)
          Admin page where a new course can be added This method will only be called if SupportProvider.Feature.AdminAddCourse is supported.
 java.lang.String getAdminCourseEdit(CourseLmsIntegration courseLmsInt, java.lang.String returnUrl)
          Admin page where course properties can be edited This method will only be called if SupportProvider.Feature.AdminEditCourse is supported.
 java.lang.String getAdminCourseEnrollment(CourseLmsIntegration courseLmsInt, java.lang.String returnUrl)
          Admin page where users can be enrolled in a course This method will only be called if SupportProvider.Feature.AdminEditCourseEnrollments is supported.
 java.lang.String getAdminUserAdd(java.lang.String returnUrl)
          Admin page where new users can be added This method will only be called if SupportProvider.Feature.AdminAddUser is supported.
 java.lang.String getAdminUserEdit(UserLmsIntegration userLmsInt, java.lang.String returnUrl)
          Admin page where user properties can be edited This method will only be called if SupportProvider.Feature.AdminEditUser is supported.
 java.lang.String getCourseHome(CourseLmsIntegration courseLmsInt, java.lang.String returnUrl)
          The home page of a course Implementation of this method is mandatory.
 java.lang.String getCourseListEditUrl(java.lang.String returnUrl)
          If enabled, the course-list module on the integration tab will have a 'manage course list' link in it which will go to the url returned here.
 java.lang.String getUserChangeExpiredPassword(UserLmsIntegration userLmsInt, java.lang.String returnUrl)
          Page where a user can change their expired password This method will only be called if PasswordChangeRequiredException is thrown by AuthenticationProvider.login(Id, String).
 java.lang.String getUserChangePassword(UserLmsIntegration userLmsInt, java.lang.String returnUrl)
          Page where a user's password can be changed.
 java.lang.String getUserEditPersonalInformation(UserLmsIntegration userLmsInt, java.lang.String returnUrl)
          Page where personal profile information can be edited This method will only be called if SupportProvider.Feature.UserEditPersonalInformation is supported.
 java.lang.String getUserForcedChangePassword(UserLmsIntegration userLmsInt, java.lang.String returnUrl)
          Page where a user can change password when forced to.
 java.lang.String getUserForgotPassword(UserLmsIntegration userLmsInt, java.lang.String returnUrl)
          Page where a user can request their password be reset Implementation of this method is mandatory.
 java.lang.String getUserPortfolio(UserLmsIntegration userLmsInt, java.lang.String portfolioLcId)
          Page where a user can view and build their portfolio.
 java.lang.String getUserViewCourseGrades(CourseLmsIntegration courseLmsInt, java.lang.String returnUrl)
          Page where students can view their grades for the specified course.
 java.lang.String rewriteUrl(java.lang.String preexistingUrl)
          Invoked by the integration framework to give an integration the opportunity to add or update any parameters in a URL that already points to the target LMS.
 
Methods inherited from interface blackboard.platform.integration.provider.IntegrationProvider
initializeProvider
 

Method Detail

getCourseHome

java.lang.String getCourseHome(CourseLmsIntegration courseLmsInt,
                               java.lang.String returnUrl)
The home page of a course

Implementation of this method is mandatory.

Parameters:
courseLmsInt - Course to build URL for
returnUrl - Academic Suite URL to return to afterwards. The LMS is expected to redirect the whole frameset to this URL.

getAdminCourseEdit

java.lang.String getAdminCourseEdit(CourseLmsIntegration courseLmsInt,
                                    java.lang.String returnUrl)
Admin page where course properties can be edited

This method will only be called if SupportProvider.Feature.AdminEditCourse is supported.

Parameters:
courseLmsInt - Course to build URL for
returnUrl - Academic Suite URL to return to afterwards. The LMS is expected to redirect the current frame to this URL.

getAdminCourseAdd

java.lang.String getAdminCourseAdd(java.lang.String returnUrl)
Admin page where a new course can be added

This method will only be called if SupportProvider.Feature.AdminAddCourse is supported.

Parameters:
returnUrl - Academic Suite URL to return to afterwards. The LMS is expected to redirect the current frame to this URL.

getAdminCourseEnrollment

java.lang.String getAdminCourseEnrollment(CourseLmsIntegration courseLmsInt,
                                          java.lang.String returnUrl)
Admin page where users can be enrolled in a course

This method will only be called if SupportProvider.Feature.AdminEditCourseEnrollments is supported.

Parameters:
courseLmsInt - Course to build URL for
returnUrl - Academic Suite URL to return to afterwards. The LMS is expected to redirect the current frame to this URL.

getAdminUserAdd

java.lang.String getAdminUserAdd(java.lang.String returnUrl)
Admin page where new users can be added

This method will only be called if SupportProvider.Feature.AdminAddUser is supported.

Parameters:
returnUrl - Academic Suite URL to return to afterwards. The LMS is expected to redirect the current frame to this URL.

getAdminUserEdit

java.lang.String getAdminUserEdit(UserLmsIntegration userLmsInt,
                                  java.lang.String returnUrl)
Admin page where user properties can be edited

This method will only be called if SupportProvider.Feature.AdminEditUser is supported.

Parameters:
userLmsInt - User to build URL for
returnUrl - Academic Suite URL to return to afterwards. The LMS is expected to redirect the current frame to this URL.

getUserChangePassword

java.lang.String getUserChangePassword(UserLmsIntegration userLmsInt,
                                       java.lang.String returnUrl)
Page where a user's password can be changed. This can be called by a regular user (in which case they should only be allowed to change their own password), or by an administrator. It is expected that the target page will perform authorization validation based on the incoming session cookie.

This method will only be called if SupportProvider.Feature.ChangeUserPassword is supported.

Parameters:
userLmsInt - User to build URL for
returnUrl - Academic Suite URL to return to afterwards. The LMS is expected to redirect the current frame to this URL.

getUserChangeExpiredPassword

java.lang.String getUserChangeExpiredPassword(UserLmsIntegration userLmsInt,
                                              java.lang.String returnUrl)
Page where a user can change their expired password

This method will only be called if PasswordChangeRequiredException is thrown by AuthenticationProvider.login(Id, String).

Parameters:
userLmsInt - User to build URL for
returnUrl - Academic Suite URL to return to afterwards. The LMS is expected to redirect the whole frameset to this URL.

getUserForcedChangePassword

java.lang.String getUserForcedChangePassword(UserLmsIntegration userLmsInt,
                                             java.lang.String returnUrl)
Page where a user can change password when forced to.

This method will only be called if PasswordChangeForcedException is thrown by AuthenticationProvider.login(Id, String).

Parameters:
userLmsInt - User to build URL for
returnUrl - Academic Suite URL to return to afterwards. The LMS is expected to redirect the whole frameset to this URL.

getUserForgotPassword

java.lang.String getUserForgotPassword(UserLmsIntegration userLmsInt,
                                       java.lang.String returnUrl)
Page where a user can request their password be reset

Implementation of this method is mandatory.

Parameters:
userLmsInt - User to build URL for
returnUrl - Academic Suite URL to return to afterwards. The LMS is expected to redirect the whole frameset to this URL.

getUserEditPersonalInformation

java.lang.String getUserEditPersonalInformation(UserLmsIntegration userLmsInt,
                                                java.lang.String returnUrl)
Page where personal profile information can be edited

This method will only be called if SupportProvider.Feature.UserEditPersonalInformation is supported.

Parameters:
userLmsInt - User to build URL for
returnUrl - Academic Suite URL to return to afterwards. The LMS is expected to redirect the current frame to this URL.

getUserViewCourseGrades

java.lang.String getUserViewCourseGrades(CourseLmsIntegration courseLmsInt,
                                         java.lang.String returnUrl)
Page where students can view their grades for the specified course.

Implementation of this method is mandatory.

Parameters:
courseLmsInt - Course to build URL for
returnUrl - Academic Suite URL to return to afterwards. The LMS is expected to redirect the current frame to this URL.

getUserPortfolio

java.lang.String getUserPortfolio(UserLmsIntegration userLmsInt,
                                  java.lang.String portfolioLcId)
Page where a user can view and build their portfolio.

This method will only be called if the remote LMS builds a Launcher URL using type=Portfolio

Parameters:
userLmsInt - User to build URL for
portfolioLcId - Identifier of target portfolio to load

rewriteUrl

java.lang.String rewriteUrl(java.lang.String preexistingUrl)
Invoked by the integration framework to give an integration the opportunity to add or update any parameters in a URL that already points to the target LMS.

If no rewriting is required, the return value should be the same as the incoming parameter.

When processing SSO redirects sent from the LMS via bb-integration-gateway/sso, the LMS may specify a URL to load within the AS frameset. For security reasons, the hostname information will be stripped from this URL (e.g. http://foo/bar will become /bar). rewriteUrl() will be called before performing the redirect, so that the correct hostname information can be added if necessary.

Parameters:
preexistingUrl - A fully-qualified URL pointing to the remote system, or relative URL that should be updated to point to the remote system.

getCourseListEditUrl

java.lang.String getCourseListEditUrl(java.lang.String returnUrl)
If enabled, the course-list module on the integration tab will have a 'manage course list' link in it which will go to the url returned here. This is an optional method - if not specified then the manage course list link will not be displayed.

Parameters:
returnUrl - Academic Suite URL to return to afterwards. The LMS is expected to redirect the current frame to this URL.
Returns:
url to a page to customize the course-list module contents


Copyright © 2012 Blackboard, Inc. All Rights Reserved.