Sun Java System Portal Server 7 Developer Sample Guide

Developing and Deploying JSP or Template Files

The Developer Sample JSP and template files are located in the PortalServer—DataDir/portals/portal—ID/desktop/developer_sample directory. The JSP and template files can be copied to a custom directory and modified by the developer or the developer can create new JSP or template files for their deployment.

For the JSPs, you can find compilation and runtime errors in the desktop debug log at PortalServer-DataDir/portals/portal-ID/logs/portal-instance/portal.0.0.log. Also, all JSPProvider based Desktop channels have a property called showExceptions. By default, this property is set to false; setting it to true causes the JSP exception to show up as the content of the channel.

When you create a container, you need to create a new subdirectory for your newly created container in the PortalServer—DataDir/portals/portal—ID/desktop/desktopType directory. That is, the newly created container should be placed based on what the desktopType is. If the Developer Sample portal is installed, then the desktopType is, by default, developer_sample; so, create a new directory for the container under developer_sample so that any JSP and template that is being added can adopt the same look and feel that as defined in the sample portal. If sample portal is not installed, and if you have set up a custom desktopType, for example, foo, then the new container directory must be created directly under foo.

Either copy the modified JSP or template files here, or place your newly created files here. If you use a sample container without changing any content or file names, you do not need to create a new subdirectory nor copy any files there. (In the example that follows, a new subdirectory is needed, because a new container is created.)

For example, let’s say you create a new container called newSingleContainer whose display profile definition is the following:


<Container name="newSingleContainer" provider="JSPSingleContainer">
    <Properties>
        <String name="helpURL" value="desktop/newSingle.html"/>
        <String name="title" value="A new single container"/>
        <String name="contentPage" value="newsinglecontent.jsp"/>
        <Boolean name="isEditable" value="true"/>
        <String name="editType" value="edit_subset"/>
    </Properties>
    <Available/>
    <Selected/>
    <Channels/>
</Container>

Because the file specified for the contentPage property is different from the contentPage value for the provider definition, you need to create a new directory under the PortalServer—DataDir/portals/portal—ID/desktop/developer_sample directory called newSingleContainer. You then only need to copy the newsinglecontent.jsp file to this new directory. The system is able to locate all other JSPs referenced by the JSPSingleContainer provider.

If desired, rather than customizing the sample portal JSP and template files directly, you can create a separate directory for your organization’s customized files, and perform customizations on those files. This preserves the initially installed portal JSP and template files.

ProcedureTo Create Customized Organization JSP and Template Files

Steps
  1. Change directories to the Desktop JSP or template directory.

    For example,


    cd PortalServer—DataDir/portals/portal—ID/desktop
  2. Create a new directory for your organization’s JSPs and templates.

    For example,


    mkdir sesta
  3. Copy the JSPs and templates that you wish to modify into the new directory location, maintaining the same directory structure.

    For example, if your new Desktop type will modify PortalServer—DataDir/portals/portal—ID/desktop/default/JSPProvider/content.jsp, copy this file to PortalServer—DataDir/portals/portal—ID/desktop/sesta/JSPProvider/content.jsp, and customize the file for the new Desktop type in that location.

  4. Customize the JSPs templates in the sesta directory as required.

  5. Change the dynamic Desktop Type attribute in the Portal Server software administration console to use the newly created directory.