Interface IPageLinkManagerSPI

    • Method Detail

      • getByTypeWebsiteAndChannelId

        @Deprecated
        PageLinkConfig getByTypeWebsiteAndChannelId​(SessionConfig sessionConfig,
                                                    int type,
                                                    String website,
                                                    String channelId,
                                                    PortalRequestContext requestContext,
                                                    ITransaction transaction)
                                             throws PortalException
        The most appropriate page link is identified based on the website (or URL Rules of the website), type, priority, Context Rules and destination channelId. In order to calculate the page link the following criteria are used:
        • First consider a list of all page links that match the given website (or URL Rules of the website), type and priority.
        • For only pages type Login:
          • Within the list if there are links with channelId specified, prioritize them.
          • If a link's channel is not within the list of parent channels of the destination channel, do not consider it. Else prioritize the closest to the destination channel.
          • Among the links with no channel specified, prioritize the one whose page has a common ancestor with the destination channel closest to the destination channel. Finally consider the distance between this common ancestor and the page link's page.
        • The most appropriated context is consider to define which page is better or not to be selected.
        • If more than one link match with all criteria, the link with the biggest priority will be considered.
        If no matching pagelink is found return null.
        Parameters:
        sessionConfig - the session identifier of the current user.
        type - the page link type.
        website - the website that the user is accessing.
        channelId - The destination channel identifier.
        requestContext - the list of all request context.
        transaction - the current transaction.
        Returns:
        The calculated page link.
        Throws:
        PortalException - if any other error occurs during the process.
      • getDefaultLoginPage

        PageLinkConfig getDefaultLoginPage​(SessionConfig sessionConfig,
                                           IWebsiteBaseURL websiteBaseURL,
                                           String channelId,
                                           PortalRequestContext requestContext,
                                           ITransaction transaction)
                                    throws PortalException
        Returns the most appropriate login page is identified based on the website, priority, Context Rules and destination channel identifier.

        In order to choose the page link the following criteria are used:

        • The page link must be associated with the corresponding website.
        • If the page link's channel is specified, it must reside in or be equal to the channel corresponding to the channelId argument.
        • The page link rules must be fulfilled.
        • If multiple page links could be matched, the most priority one is used.

        If no matching page link is found, return null.

        Parameters:
        sessionConfig - the session identifier of the current user.
        websiteBaseURL - the IWebsiteBaseURL that the user is accessing.
        channelId - The destination channel identifier.
        requestContext - the list of all request context.
        transaction - the current transaction.
        Returns:
        The calculated page link.
        Throws:
        PortalException - if any other error occurs during the process.
        Since:
        6.2.0
      • getDefaultHomePage

        PageLinkConfig getDefaultHomePage​(SessionConfig sessionConfig,
                                          IWebsiteBaseURL websiteBaseURL,
                                          PortalRequestContext requestContext,
                                          ITransaction transaction)
                                   throws PortalException
        Returns the most appropriate home page is identified based on the website, priority and Context Rules.

        In order to choose the page link the following criteria are used:

        • The page link must be associated with the corresponding website.
        • The page link rules must be fulfilled.
        • If multiple page links could be matched, the most priority one is used.

        If no matching page link is found, return null.

        Parameters:
        sessionConfig - the session identifier of the current user.
        websiteBaseURL - the IWebsiteBaseURL that the user is accessing.
        requestContext - the list of all request context.
        transaction - the current transaction.
        Returns:
        The calculated page link.
        Throws:
        PortalException - if any other error occurs during the process.
        Since:
        6.2.0
      • getByTypeAndWebsiteIdentifier

        List<PageLinkConfig> getByTypeAndWebsiteIdentifier​(SessionConfig sessionConfig,
                                                           int type,
                                                           String websiteId,
                                                           ITransaction transaction)
                                                    throws PortalException
        Returns the list of page links with the given type and website identifier.
        Parameters:
        sessionConfig - the user's session.
        type - the type.
        websiteId - the website identifier.
        transaction - the transaction.
        Returns:
        the list of page links with the given type and website identifier.
        Throws:
        PortalException
        Since:
        7.0.2
      • getDefaultErrorPage

        PageLinkConfig getDefaultErrorPage​(SessionConfig sessionConfig,
                                           IWebsiteBaseURL websiteBaseURL,
                                           PortalRequestContext requestContext,
                                           ITransaction transaction)
                                    throws PortalException
        Returns the most appropriate error page, based on the given website base URL.

        In order to choose the page link the following criteria are used:

        • The page link must be associated with the corresponding website.
        • The page link rules must be fulfilled.
        • If multiple page links could be matched, the most priority one is used.

        If no matching page link is found, return null.

        Parameters:
        sessionConfig - the session identifier of the current user.
        websiteBaseURL - the IWebsiteBaseURL that the user is accessing.
        requestContext - the list of all request context.
        transaction - the current transaction.
        Returns:
        The calculated page link, or null if none matches the search criteria.
        Throws:
        PortalException - if any error occurs during the persisting process.
        Since:
        12.0.0