Uploaded image for project: 'PUBLIC - Liferay Portal Community Edition'
  1. PUBLIC - Liferay Portal Community Edition
  2. LPS-32349

As a plugin developer or system admin I can deploy OSGI bundles into the Liferay portal

    Details

      Description

      The main benefit for system administrators is:

      • Get a whole lifecycle of their applications regardless of the App Server container: start, stop, uninstall, . . . are some of the available operations. This lifecycle management is independent of the application server being used, which means that it will be available in all app servers supported by Liferay.

      Plugin developers get the following benefits:

      • Use Liferay services as OSGI services, which means that the OSGI takes care of all the necessary classloader handling.
      • Dependency management: if is possible to divide a certain functionality in several components and declare dependencies. When deploying the modules, Liferay (through the OSGi container) will ensure the dependencies are met or else the bundle is kept on hold until they are.
      • Make plugins extensible (through other plugins) in a much easier way.
      • Develop a service and make it easily available to many plugins. This is a typical need of portlet developers who have to split the portlets in several plugins.

      All this is achieved by having and embedded OSGI runtime within Liferay. An additional benefit for Liferay is that the OSGi container takes care of classloading handling so that it's not necessarily to do it manually in Liferay's code.

        Attachments

          Issue Links

          1.
          Define bundle organization in main source tree Technical Task Closed Michael Saechang  
          2.
          Isolate the framework in a child classloader of the portal to avoid collisions with app servers Technical Task Closed Brian Chan  
          3.
          As a system admin I can use and configure the Liferay Module Framework in any of the currently supported app servers Technical Task Closed Miguel Ángel Pastor Olivar (Inactive)  
          4.
          Update libraries & setup the option at build time to choose the implementation Technical Task Closed SE Support  
          5.
          Implement recursive bundle dependency based build tasks Technical Task Closed Raymond Auge  
          6.
          Remove listeners which will be re-implemented in the framework Technical Task Closed SE Support  
          7.
          Add a mechanism to conditionally load c.l.p.k.u.ServiceLoader services Technical Task Closed Brian Chan  
          8.
          Build main jars with BND where possible to make sure the exports and imports are properly calculated Technical Task Closed SE Support  
          9.
          Setup the build and deployment of portal modules (/portal-modules) Technical Task Closed Brian Chan  
          10.
          Ant task to convert a simple jar file into a valid OSGI bundle Technical Task Closed Raymond Auge  
          11.
          When publishing services into the module framework prevent publishing under useless/unwanted interfaces Technical Task Closed SE Support  
          12.
          Change the build to use the specification rather than implementation libraries Technical Task Closed Brian Chan  
          13.
          Add bundle logging support Technical Task Closed SE Support  
          14.
          Make JSON web service configuration work in OSGi environment. Technical Task Closed Brian Chan  
          15.
          Module framework should be agnostic related to the underlying OSGI container Technical Task Closed Miguel Ángel Pastor Olivar (Inactive)  

            Activity

              People

              • Votes:
                0 Vote for this issue
                Watchers:
                0 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Packages

                  Version Package
                  6.2.0 CE M4