Jetspeed 2
  1. Jetspeed 2
  2. JS2-644

Remote Portlet Application Deployer

    Details

    • Type: New Feature New Feature
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 2.1
    • Fix Version/s: 2.1
    • Component/s: Deployment
    • Labels:
      None

      Description

      Overview
      --------

      Remote Portlet Application Deployer(RPAD) deploys a portlet from remote
      portlet repositories into a Portal server, such as Jetspeed2, directly. RPAD
      consists of 2 parts: RPAD API and RPAD Portlet. RPAD API defines the
      programing interface to access to remote portlet repositories. RPAD Portlet
      provides JSR 168 compliant portlet to deploy a target portlet from remote
      repositories.

      ---------------------------

      Portal Server(J2,...)

      ---------------------------

      RPAD Portlet

      ---------------------------

      RPAD API

      ---------------------------
      A Download
      V Access
      ---------------------------

      Remote Portlet Repository

      ---------------------------

      Portlet Portlet ...

      ---------------------------

      Design
      ------

      -----------------------------------

      RPAD Portlet
      (RPADPortletFilter + JSF Portlet)

      -----------------------------------
      V Call RPAD API
      ---------------------------------------------------

      RepositoryManager

      ---------------------------------------------------
      V V V
      ----------------- -------------------- ----

      SimpleRepository   WebServiceRepository   ...

      ----------------- | (TBD) | ----
      ----------------------

      Class Description
      -----------------

      RPAD API:

      Class org.apache.jetspeed.portlets.rpad.RepositoryManager

      RepositoryManager manages Repository instances. Portal, such as Jetspeed2,
      calls methods of this class to access remote portlet repositories.

      Interface org.apache.jetspeed.portlets.rpad.Repository

      RPAD supports a variety of kinds of portlet repositories. A portlet
      repository needs to implement this interface. Repository manages
      PortletApplication instances for a remote portlet repository.
      Portal can access portlet information in a remote portlet repository via
      this class.

      Class org.apache.jetspeed.portlets.rpad.PortletApplication

      This class has properties of a portlet application, such as a portlet name,
      url to download war file.

      Class org.apache.jetspeed.portlets.rpad.simple.SimpleRepository

      SimpleRepository is a file-based repository. If a portlet provider puts
      a repository site descriptor for a remote portlet repository, using
      SimpleRepository, the provider delivers portlets to a Portal server.
      The syntax of the repository site descriptor is under discussion with
      PRP(https://prp.dev.java.net/). We will define it by the first week of
      Feb.

      RPAD Portlet:

      The current implementation is JSF-based portlet.

      Class org.apache.jetspeed.portlets.rpad.portlet.RPADPortletFilter

      RPADPortletFilter initializes RepositoryManager instance.

      Interface org.apache.jetspeed.portlets.rpad.portlet.deployer.PortletDeployer

      RPAD Portlet calls PortletDeployer#deploy(PortletApplication) to deploy
      the target portlet into your Portal. If you implements PortletDeployer
      class for your Portal, RPAD works on your Portal.

      Class
      org.apache.jetspeed.portlets.rpad.portlet.deployer.impl.JetspeedPortletDeployer

      This class is PortletDeployer implementation for Jetspeed2.

      TODO IN THE FUTURE
      ------------------

      • Manage a portlet version in J2
      • Store portlet information to DB, not memory
      • Move RPAD to under Apache Portals sub-project for other portals to use RPAD

        Activity

        Hide
        Shinsuke Sugaya added a comment -

        Done. (revision 499006)

        Show
        Shinsuke Sugaya added a comment - Done. (revision 499006)

          People

          • Assignee:
            Shinsuke Sugaya
            Reporter:
            Shinsuke Sugaya
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development