Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
titlepom.xml
<properties>
   . . .
   <CalendarPortlet.version>2.1.0</CalendarPortlet.version>
   . . .
</properties>

Step 2: Add a new submodule to uportal-

...

portlets-

...

overlay

Add a new directory to uportal-portletportlets-overlays overlay to represent your included portlet.  This directory name is often the same as the artifact ID of the portlet.  For our example, we will use the directory name "CalendarPortlet".  Once the directory is created, create a new file named pom.xml at the root of the directory.  This pom file should have a parent groupId and version equal to the groupId and version of the uportal-portlets-overlay directory for the portal you're building in.  It's often easiest to set the artifactId for the new submodule to the same value as the portlet you're including.

...

Code Block
languagehtml/xml
titlePortlet Overlay pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocat
ion="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">


    <parent>
        <groupId>org.jasig.portal.portlets-overlay</groupId>
        <artifactId>uportal-portlets-overlay</artifactId>
        <version>4.0.4</version>
    </parent>

    <modelVersion>4.0.0</modelVersion>
    <artifactId>CalendarPortlet</artifactId>
    <packaging>war</packaging>
    <name>Calendar Portlet</name>
    <description>Overlay on Calendar Portlet.</description>
    <dependencies>


        <!-- Distributed portlet artifact -->
        <dependency>
            <groupId>org.jasig.portlet</groupId>
            <artifactId>CalendarPortlet</artifactId>
            <version>${CalendarPortlet.version}</version>
            <type>war</type>
        </dependency>


        <!-- Configured uPortal database driver -->        
        <dependency>
            <groupId>${jdbc.groupId}</groupId>
            <artifactId>${jdbc.artifactId}</artifactId>
            <version>${jdbc.version}</version>
            <scope>compile</scope>
        </dependency>

    </dependencies>
    <build>
        <filters>
            <!-- uPortal filter file -->
            <filter>../../${filters.file}</filter>
        </filters>
        <resources>
            <!-- Filter any overlaid resource files -->
            <resource>
                <directory>src/main/resources</directory>
                <filtering>true</filtering>
            </resource>
        </resources>
        <plugins>
            <plugin>
                <artifactId>maven-war-plugin</artifactId>
                <configuration>
                    <!-- Exclude the default portlet project database driver -->
                    <dependentWarExcludes>
                        WEB-INF/lib/hsqldb-*.jar
                    </dependentWarExcludes>
 
                    <!-- Filter overlaid web resources -->
                    <webResources>
                        <resource>
                            <directory>${basedir}/src/main/webapp</directory>
                            <includes>
                                <!-- Add web resource files to be filtered here -->
                                <!--include>WEB-INF/context/exampleFile.xml</include-->
                            </includes>
                            <filtering>true</filtering>
                        </resource>
                    </webResources>
                </configuration>
            </plugin>
           <plugin>
                <groupId>org.apache.portals.pluto</groupId>
                <artifactId>maven-pluto-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
</project>
Info
iconfalse

Using the example above, your resulting maven overlay structure would resemble the following:

  • uPortal Root Directory
    • uportal-portlets-overlay
      • CalendarPortlet 
        • pom.xml

 

Step 3: Add the portlet to uportal-ear/pom.xml

...