Versions Compared

Key

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

...

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>

 

 

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

Now we need to include the new portlet overlay in uPortal's overall build.  uPortal packages the entire portal as an ear file, which is a collection of webapps and shared libraries to later be deployed to Tomcat.  Adding the overlay artifact we created above will make our new portlet part of the overall build artifact and ensure that it is automatically deployed each time we run "ant deploy-ear".  To add the new portlet, first add the artifact as a dependency to the uportal-ear/pom.xml file.  Here we're adding the overlay as a dependency, not the original portlet, so the dependency information will be specific to this version of uPortal and the overlay group.  We also need to add a matching webModule entry to the build section in the same file.

Code Block
languagehtml/xml
titleuportal-ear/pom.xml
    <dependencies>
        . . .
        <dependency>
            <groupId>org.jasig.portal.portlets-overlay</groupId>
            <artifactId>CalendarPortlet</artifactId>
            <version>${project.version}</version>
            <type>war</type>
        </dependency>
        . . .
    </dependencies>
 
    <build>
        <finalName>${uportal.docbase}</finalName>
        <plugins>
            <plugin>
                <artifactId>maven-deploy-plugin</artifactId>
                <configuration>
                    <skip>true</skip>
                </configuration>
            </plugin>
            <plugin>
                <artifactId>maven-ear-plugin</artifactId>
                <configuration>
                    <modules>
                        . . . 
                        <webModule>
                            <groupId>org.jasig.portal.portlets-overlay</groupId>
                            <artifactId>CalendarPortlet</artifactId>
                            <bundleFileName>CalendarPortlet.war</bundleFileName>
                            <contextRoot>/CalendarPortlet</contextRoot>
                        </webModule> 
                        . . . 
                    </modules>
                </configuration>
            </plugin>
        </plugins>
    </build>

 

Step 4: Redeploy the portal

...