You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jetspeed-dev@portals.apache.org by ta...@apache.org on 2002/11/14 23:47:24 UTC

cvs commit: jakarta-jetspeed/docs/site registry.html registry_syntax.html registry_xml.html

taylor      2002/11/14 14:47:23

  Added:       docs/site registry.html registry_syntax.html
                        registry_xml.html
  Log:
  turned on registry docs (possibly before its time, sorry Raphael) i needed a link to reference in the tutorial
  
  Revision  Changes    Path
  1.1                  jakarta-jetspeed/docs/site/registry.html
  
  Index: registry.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  
  <!-- Content Stylesheet for Site -->
  
          
  <!-- start the processing -->
      <!-- ====================================================================== -->
      <!-- Main Page Section -->
      <!-- ====================================================================== -->
      <html>
          <head>
              <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
  
                          
             
                                      
              <title>Jetspeed - Registry</title>
          </head>
  
          <body bgcolor="#ffffff" text="#000000" link="#525D76">        
              <table border="0" width="100%" cellspacing="0">
                  <!-- TOP IMAGE -->
                  <tr>
                      <td align="left">
  <a href="http://jakarta.apache.org"><img src="http://jakarta.apache.org/images/jakarta-logo.gif" border="0"/></a>
  </td>
  <td align="right">
  <a href="http://jakarta.apache.org/jetspeed/"><img src="./images/logo.gif" alt="Jetspeed" border="0"/></a>
  </td>
                  </tr>
              </table>
              <table border="0" width="100%" cellspacing="4">
                  <tr><td colspan="2">
                      <hr noshade="" size="1"/>
                  </td></tr>
                  
                  <tr>
                      <!-- LEFT SIDE NAVIGATION -->
                      <td width="20%" valign="top" nowrap="true">
                                  <p><strong>Essentials</strong></p>
          <ul>
                      <li>    <a href="./index.html">Overview</a>
  </li>
                      <li>    <a href="./features.html">Features</a>
  </li>
                      <li>    <a href="./license.html">License</a>
  </li>
                      <li>    <a href="./install.html">Installation</a>
  </li>
                      <li>    <a href="./faq.html">FAQ</a>
  </li>
                      <li>    <a href="./usejetspeed.html">Sample Sites</a>
  </li>
                      <li>    <a href="./resources.html">Resources</a>
  </li>
                      <li>    <a href="./todo.html">Todo</a>
  </li>
                      <li>    <a href="./changes.html">Changes</a>
  </li>
                  </ul>
              <p><strong>Download</strong></p>
          <ul>
                      <li>    <a href="http://jakarta.apache.org/site/binindex.html">Binaries</a>
  </li>
                      <li>    <a href="http://jakarta.apache.org/site/sourceindex.html">Source Code</a>
  </li>
                      <li>    <a href="./supporting-projects.html">Supporting Projects</a>
  </li>
                  </ul>
              <p><strong>Documentation</strong></p>
          <ul>
                      <li>    <a href="./config_guide.html">Configuration Guide</a>
  </li>
                      <li>    <a href="http://jakarta.apache.org/jetspeed/api/index.html">Javadocs</a>
  </li>
                      <li>    <a href="./application-development.html">Development</a>
  </li>
                      <li>    <a href="http://www.bluesunrise.com/jetspeed-docs/PortletHowTo.htm">Portlet Howto</a>
  </li>
                      <li>    <a href="./catalog.html">Portlet Catalog</a>
  </li>
                      <li>    <a href="http://mml.hpl.hp.com:9090/jetspeed/trailmap/index.html">Jetspeed Trailmap</a>
  </li>
                  </ul>
              <p><strong>Components</strong></p>
          <ul>
                      <li>    <a href="./registry.html">Registry</a>
  </li>
                      <li>    <a href="./security.html">Security</a>
  </li>
                      <li>    <a href="./content-syndication.html">Syndication</a>
  </li>
                      <li>    <a href="./wap.html">WAP</a>
  </li>
                      <li>    <a href="./customizer.html">Customization</a>
  </li>
                      <li>    <a href="./diskcache.html">Cache</a>
  </li>
                      <li>    <a href="./psml.html">PSML</a>
  </li>
                  </ul>
              <p><strong>Get Involved</strong></p>
          <ul>
                      <li>    <a href="./contributors.html">Contributors</a>
  </li>
                      <li>    <a href="http://jakarta.apache.org/site/cvsindex.html">CVS Repository</a>
  </li>
                      <li>    <a href="./branches.html">CVS Branches</a>
  </li>
                      <li>    <a href="./code-standards.html">Coding Spec</a>
  </li>
                      <li>    <a href="http://nagoya.apache.org/bugzilla/query.cgi?product=Jetspeed">Bug Database</a>
  </li>
                  </ul>
                          </td>
                      <td width="80%" align="left" valign="top">
                                                                      <table border="0" cellspacing="0" cellpadding="2" width="100%">
        <tr><td bgcolor="#525D76">
          <font color="#ffffff" face="arial,helvetica,sanserif">
            <a name="Overview"><strong>Overview</strong></a>
          </font>
        </td></tr>
        <tr><td>
          <blockquote>
                                      <p>
        The Registry stores most of dynamically configurable elemnts you can add to the engine.
        Among these elements, you'll find the list of available portlets, the layout elements 
        definitions and the known client defintions
      </p>
                                                  <p>
        This registry uses the pluggable Turbien service architecture so that you can select from
        different implementations depending on your requirements. There are currently 2 available
        implementations by default:
      </p>
                                                  <ul>
        <li><a href="registry_xml.html">a XML file based implementation</a></li>
        <li>an OJB based, SQL database driven implementation</li>
      </ul>
                                                  <p>
        This document will present the different elements encountered in the registry and the 
        base API.
      </p>
                              </blockquote>
          </p>
        </td></tr>
        <tr><td><br/></td></tr>
      </table>
                                                  <table border="0" cellspacing="0" cellpadding="2" width="100%">
        <tr><td bgcolor="#525D76">
          <font color="#ffffff" face="arial,helvetica,sanserif">
            <a name="Elements of the Registry"><strong>Elements of the Registry</strong></a>
          </font>
        </td></tr>
        <tr><td>
          <blockquote>
                                      <p>
        Currently the Registry can store 7 different types of elements used within the Jetspeed engine
      </p>
                                                  <table>
                          <tr>
                          <td bgcolor="#039acc" colspan="" rowspan="" valign="top" align="left">
      <font color="#000000" size="-1" face="arial,helvetica,sanserif">
                  Element
              </font>
  </td>
                                  <td bgcolor="#039acc" colspan="" rowspan="" valign="top" align="left">
      <font color="#000000" size="-1" face="arial,helvetica,sanserif">
                  Description
              </font>
  </td>
              </tr>
                                  <tr>
                          <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
      <font color="#000000" size="-1" face="arial,helvetica,sanserif">
                  
  	  <p><strong>Portlets</strong></p>
  	  <a href="registry_syntax.html#Portlet">View XML syntax</a>
  	
              </font>
  </td>
                                  <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
      <font color="#000000" size="-1" face="arial,helvetica,sanserif">
                  
  	  The basic elements to store within Registry are the portlet definitions that define 
  	  which components are available to be placed on the users portal pages.
  	
              </font>
  </td>
              </tr>
                                  <tr>
                          <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
      <font color="#000000" size="-1" face="arial,helvetica,sanserif">
                  
  	  <p><strong>Controls</strong></p>
  	  <a href="registry_syntax.html#Control">View XML syntax</a>
  	
              </font>
  </td>
                                  <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
      <font color="#000000" size="-1" face="arial,helvetica,sanserif">
                  
  	  The controls are the elements of the global layout that decorate a portlet on a page
  	  and provides access to the portal actions defined for the portlet, like customization.
  	  Only controls defined the Registry can be used in the user pages.
  	  <p>
  	    For more information on controls, check out the <a href="">Jetspeed Layout overview</a>.
  	  </p>
  	
              </font>
  </td>
              </tr>
                                  <tr>
                          <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
      <font color="#000000" size="-1" face="arial,helvetica,sanserif">
                  
  	  <p><strong>Controllers</strong></p>
  	  <a href="registry_syntax.html#Controller">View XML syntax</a>
  	
              </font>
  </td>
                                  <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
      <font color="#000000" size="-1" face="arial,helvetica,sanserif">
                  
  	  The controllers define how the portlets are displayed on a portal page (in columns, panes
  	  , etc...) and allow more or less sophisticated customization of a user page.
  	  By default, all the controllers defined in the registry are available for users to customize
  	  their page layout.
  	  <p>
  	    For more information on controllers, check out the <a href="">Jetspeed Layout overview</a>.
  	  </p>
  	
              </font>
  </td>
              </tr>
                                  <tr>
                          <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
      <font color="#000000" size="-1" face="arial,helvetica,sanserif">
                  
  	  <p><strong>Skins</strong></p>
  	  <a href="registry_syntax.html#Skin">View XML syntax</a>
  	
              </font>
  </td>
                                  <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
      <font color="#000000" size="-1" face="arial,helvetica,sanserif">
                  
  	  The skins define the color schemes used by the portal on a specific user page (or part
  	  of a page)
  	  <p>
  	    For more information on skins, check out the <a href="">Jetspeed Layout overview</a>.
  	  </p>
  	
              </font>
  </td>
              </tr>
                                  <tr>
                          <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
      <font color="#000000" size="-1" face="arial,helvetica,sanserif">
                  
  	  <p><strong>Media Types</strong></p>
  	  <a href="registry_syntax.html#Media">View XML syntax</a>
  	
              </font>
  </td>
                                  <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
      <font color="#000000" size="-1" face="arial,helvetica,sanserif">
                  
  	  The media-types define the different variations of markup rendering supported by
  	  this specific instance of Jetspeed. Working in cunjunction with the Clients defintion,
  	  it enables you to control how the different user-agents access your portal
  	  <p>
  	    For more information on client handling, check out the <a href="">Client detection</a>.
  	  </p>
  	
              </font>
  </td>
              </tr>
                                  <tr>
                          <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
      <font color="#000000" size="-1" face="arial,helvetica,sanserif">
                  
  	  <p><strong>Clients</strong></p>
  	  <a href="registry_syntax.html#Client">View XML syntax</a>
  	
              </font>
  </td>
                                  <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
      <font color="#000000" size="-1" face="arial,helvetica,sanserif">
                  
  	  The clients definitions entries are used to describe user agent capabilities and in
  	  cunjunction with Media types information define how the clients access the portal
  	  <p>
  	    For more information on client handling, check out the <a href="">Client detection</a>.
  	  </p>
  	
              </font>
  </td>
              </tr>
                                  <tr>
                          <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
      <font color="#000000" size="-1" face="arial,helvetica,sanserif">
                  
  	  <p><strong>Security</strong></p>
  	  <a href="registry_syntax.html#Client">View XML syntax</a>
  	
              </font>
  </td>
                                  <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
      <font color="#000000" size="-1" face="arial,helvetica,sanserif">
                  
  	  The security entries define standard set of permissions that can be associated to 
  	  page elements and portal actions to protect their access.
  	  <p>
  	    For more information, check out the <a href="security.html">Security</a> information.
  	  </p>
  	
              </font>
  </td>
              </tr>
              </table>
                              </blockquote>
          </p>
        </td></tr>
        <tr><td><br/></td></tr>
      </table>
                                                  <table border="0" cellspacing="0" cellpadding="2" width="100%">
        <tr><td bgcolor="#525D76">
          <font color="#ffffff" face="arial,helvetica,sanserif">
            <a name="Administrating the Registry"><strong>Administrating the Registry</strong></a>
          </font>
        </td></tr>
        <tr><td>
          <blockquote>
                                      <p>
        Currently, there are no complete GUI for administrating the registry elements in Jetspeed,
        you can only browse the contents of the different registries by using the 
        <a href="administration.html">administration console</a>. In most case you'll currently need to
        use implementation specific ways to manipulate your entries, like editing the XML files
        directly.
      </p>
                                                  <p>
        An effort is currently underway to create complete administration tools for registry
        manipulation, so watch
        <a href="http://nagoya.apache.org/bugzilla/show_bug.cgi?id=11738">this space</a> !
      </p>
                              </blockquote>
          </p>
        </td></tr>
        <tr><td><br/></td></tr>
      </table>
                                                  <table border="0" cellspacing="0" cellpadding="2" width="100%">
        <tr><td bgcolor="#525D76">
          <font color="#ffffff" face="arial,helvetica,sanserif">
            <a name="Registry API"><strong>Registry API</strong></a>
          </font>
        </td></tr>
        <tr><td>
          <blockquote>
                                      <p>
        The Registry system has a very simple API, based on one Turbine service and an 
        interface based object model.
      </p>
                                                      <table border="0" cellspacing="0" cellpadding="2" width="100%">
        <tr><td bgcolor="#828DA6">
          <font color="#ffffff" face="arial,helvetica,sanserif">
            <a name="Object Model"><strong>Object Model</strong></a>
          </font>
        </td></tr>
        <tr><td>
          <blockquote>
                                      <p>The object model API is defined in the following package:</p>
                                                      <div align="left">
      <table cellspacing="4" cellpadding="0" border="0">
      <tr>
        <td bgcolor="#023264" width="1" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
        <td bgcolor="#023264" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
        <td bgcolor="#023264" width="1" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
      </tr>
      <tr>
        <td bgcolor="#023264" width="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
        <td bgcolor="#ffffff"><pre>
  org.apache.jetspeed.om.registry
        </pre></td>
        <td bgcolor="#023264" width="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
      </tr>
      <tr>
        <td bgcolor="#023264" width="1" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
        <td bgcolor="#023264" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
        <td bgcolor="#023264" width="1" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
      </tr>
      </table>
      </div>
                                                  <p>
          This API defines the operations available on the different registries as well as the
          the structure of of the object stored within them. The <code>Registry</code> and 
          <code>RegistryEntry</code> interfaces define the standard methods of a registry or an entry.
        </p>
                                                  <p>
          For some registries, sub-interfaces declare additionnal methods that are only meaningful for
          a specific type of entry. For example the <code>ClientRegistry</code> interface adds the
          capacity to search for a specific entry matching a given capability.
        </p>
                                                  <p>
          A default implementation of this object model can be found in the base subpackage of the
          registry object model. This implementation is used by the XML Registry service implementation.
        </p>
                              </blockquote>
        </td></tr>
        <tr><td><br/></td></tr>
      </table>
                                                      <table border="0" cellspacing="0" cellpadding="2" width="100%">
        <tr><td bgcolor="#828DA6">
          <font color="#ffffff" face="arial,helvetica,sanserif">
            <a name="Registry Service"><strong>Registry Service</strong></a>
          </font>
        </td></tr>
        <tr><td>
          <blockquote>
                                      <p>
          The <code>RegistryService</code> is a Turbine service that manages the persistence of
          the different registries and instanciates them. A commodity static facade is provided
          to simplify access to this service.
        </p>
                                                      <div align="left">
      <table cellspacing="4" cellpadding="0" border="0">
      <tr>
        <td bgcolor="#023264" width="1" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
        <td bgcolor="#023264" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
        <td bgcolor="#023264" width="1" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
      </tr>
      <tr>
        <td bgcolor="#023264" width="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
        <td bgcolor="#ffffff"><pre>
  Registry service package:
  org.apache.jetspeed.services.registry
  
  Registry service interface:
  org.apache.jetspeed.services.registry.RegsitryService
  
  Registry service facade:
  org.apache.jetspeed.services.Registry
        </pre></td>
        <td bgcolor="#023264" width="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
      </tr>
      <tr>
        <td bgcolor="#023264" width="1" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
        <td bgcolor="#023264" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
        <td bgcolor="#023264" width="1" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
      </tr>
      </table>
      </div>
                                                  <p>
          The <code>RegistryService</code> redefines several of the basic operations of the 
          registry object model (add or remove entries) as a convenience to 
        </p>
                                                  <p>
          For some registries, sub-interfaces declare additionnal methods that are only meaningful for
          a specific type of entry. For example the <code>ClientRegistry</code> interface adds the
          capacity to search for a specific entry matching a given capability.
        </p>
                              </blockquote>
        </td></tr>
        <tr><td><br/></td></tr>
      </table>
                                                      <table border="0" cellspacing="0" cellpadding="2" width="100%">
        <tr><td bgcolor="#828DA6">
          <font color="#ffffff" face="arial,helvetica,sanserif">
            <a name="Examples"><strong>Examples</strong></a>
          </font>
        </td></tr>
        <tr><td>
          <blockquote>
                                      <p>
          Here are some code fragments on how to use the registry service for basic operations
        </p>
                                                      <div align="left">
      <table cellspacing="4" cellpadding="0" border="0">
      <tr>
        <td bgcolor="#023264" width="1" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
        <td bgcolor="#023264" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
        <td bgcolor="#023264" width="1" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
      </tr>
      <tr>
        <td bgcolor="#023264" width="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
        <td bgcolor="#ffffff"><pre>
  import org.apache.jetspeed.services.registry.Registry;
  import org.apache.jetspeed.om.registry.PortletRegistry;
  import org.apache.jetspeed.om.registry.PortletEntry;
  import org.apache.jetspeed.om.registry.RegistryException;
  import org.apache.turbine.util.Log;
  
  //create a new entry
  
  PortletEntry myEntry = (PortletEntry)Registry.createEntry(Registry.PORTLET);
  myEntry.setName(&quot;myEntry&quot;);
  myEntry.setHidden(true);
  myEntry.setType(PortletEntry.TYPE_INSTANCE);
  myEntry.setClassname(&quot;com.mycompany.myportlet&quot;);
  
  //Add it to the Registry
  try
  {
    Registry.addEntry(Registry.PORTLET, myEntry);
  }
  catch (RegistryException e)
  {
    Log.error(&quot;Impossible to add entry in registry&quot; + myEntry, e);
  }
  
  //Retrieve it and update
  myEntry = (PortletEntry)Registry.getEntry(Registry.PORTLET, &quot;myEntry&quot;);
  myEntry.addParameter(&quot;_control&quot;, &quot;ClearControl&quot;);
  myEntry.addParameter(&quot;myParam&quot;, &quot;myValue&quot;);
  
  //Then delete it from registry
  try
  {
    Registry.removeEntry(Registry.PORTLET, myEntry);
  }
  catch (RegistryException e)
  {
    Log.error(&quot;Impossible to remove entry from registry&quot; + myEntry, e);
  }
        </pre></td>
        <td bgcolor="#023264" width="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
      </tr>
      <tr>
        <td bgcolor="#023264" width="1" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
        <td bgcolor="#023264" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
        <td bgcolor="#023264" width="1" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
      </tr>
      </table>
      </div>
                                                  <p>
          The <code>RegistryService</code> redefines several of the basic operations of the 
          registry object model (add or remove entries) as a convenience to 
        </p>
                                                  <p>
          For some registries, sub-interfaces declare additionnal methods that are only meaningful for
          a specific type of entry. For example the <code>ClientRegistry</code> interface adds the
          capacity to search for a specific entry matching a given capability.
        </p>
                              </blockquote>
        </td></tr>
        <tr><td><br/></td></tr>
      </table>
                              </blockquote>
          </p>
        </td></tr>
        <tr><td><br/></td></tr>
      </table>
                                          </td>
                  </tr>
  
                  <!-- FOOTER -->
                  <tr><td colspan="2">
                      <hr noshade="" size="1"/>
                  </td></tr>
                  <tr><td colspan="2">
                      <div align="center"><font color="#525D76" size="-1"><em>
                      Copyright &#169; 1999-2002, Apache Software Foundation
                      </em></font></div>
                  </td></tr>
              </table>
          </body>
      </html>
  <!-- end the processing -->
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  1.1                  jakarta-jetspeed/docs/site/registry_syntax.html
  
  Index: registry_syntax.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  
  <!-- Content Stylesheet for Site -->
  
          
  <!-- start the processing -->
      <!-- ====================================================================== -->
      <!-- Main Page Section -->
      <!-- ====================================================================== -->
      <html>
          <head>
              <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
  
                          
             
                                      
              <title>Jetspeed - XML Registry syntax</title>
          </head>
  
          <body bgcolor="#ffffff" text="#000000" link="#525D76">        
              <table border="0" width="100%" cellspacing="0">
                  <!-- TOP IMAGE -->
                  <tr>
                      <td align="left">
  <a href="http://jakarta.apache.org"><img src="http://jakarta.apache.org/images/jakarta-logo.gif" border="0"/></a>
  </td>
  <td align="right">
  <a href="http://jakarta.apache.org/jetspeed/"><img src="./images/logo.gif" alt="Jetspeed" border="0"/></a>
  </td>
                  </tr>
              </table>
              <table border="0" width="100%" cellspacing="4">
                  <tr><td colspan="2">
                      <hr noshade="" size="1"/>
                  </td></tr>
                  
                  <tr>
                      <!-- LEFT SIDE NAVIGATION -->
                      <td width="20%" valign="top" nowrap="true">
                                  <p><strong>Essentials</strong></p>
          <ul>
                      <li>    <a href="./index.html">Overview</a>
  </li>
                      <li>    <a href="./features.html">Features</a>
  </li>
                      <li>    <a href="./license.html">License</a>
  </li>
                      <li>    <a href="./install.html">Installation</a>
  </li>
                      <li>    <a href="./faq.html">FAQ</a>
  </li>
                      <li>    <a href="./usejetspeed.html">Sample Sites</a>
  </li>
                      <li>    <a href="./resources.html">Resources</a>
  </li>
                      <li>    <a href="./todo.html">Todo</a>
  </li>
                      <li>    <a href="./changes.html">Changes</a>
  </li>
                  </ul>
              <p><strong>Download</strong></p>
          <ul>
                      <li>    <a href="http://jakarta.apache.org/site/binindex.html">Binaries</a>
  </li>
                      <li>    <a href="http://jakarta.apache.org/site/sourceindex.html">Source Code</a>
  </li>
                      <li>    <a href="./supporting-projects.html">Supporting Projects</a>
  </li>
                  </ul>
              <p><strong>Documentation</strong></p>
          <ul>
                      <li>    <a href="./config_guide.html">Configuration Guide</a>
  </li>
                      <li>    <a href="http://jakarta.apache.org/jetspeed/api/index.html">Javadocs</a>
  </li>
                      <li>    <a href="./application-development.html">Development</a>
  </li>
                      <li>    <a href="http://www.bluesunrise.com/jetspeed-docs/PortletHowTo.htm">Portlet Howto</a>
  </li>
                      <li>    <a href="./catalog.html">Portlet Catalog</a>
  </li>
                      <li>    <a href="http://mml.hpl.hp.com:9090/jetspeed/trailmap/index.html">Jetspeed Trailmap</a>
  </li>
                  </ul>
              <p><strong>Components</strong></p>
          <ul>
                      <li>    <a href="./registry.html">Registry</a>
  </li>
                      <li>    <a href="./security.html">Security</a>
  </li>
                      <li>    <a href="./content-syndication.html">Syndication</a>
  </li>
                      <li>    <a href="./wap.html">WAP</a>
  </li>
                      <li>    <a href="./customizer.html">Customization</a>
  </li>
                      <li>    <a href="./diskcache.html">Cache</a>
  </li>
                      <li>    <a href="./psml.html">PSML</a>
  </li>
                  </ul>
              <p><strong>Get Involved</strong></p>
          <ul>
                      <li>    <a href="./contributors.html">Contributors</a>
  </li>
                      <li>    <a href="http://jakarta.apache.org/site/cvsindex.html">CVS Repository</a>
  </li>
                      <li>    <a href="./branches.html">CVS Branches</a>
  </li>
                      <li>    <a href="./code-standards.html">Coding Spec</a>
  </li>
                      <li>    <a href="http://nagoya.apache.org/bugzilla/query.cgi?product=Jetspeed">Bug Database</a>
  </li>
                  </ul>
                          </td>
                      <td width="80%" align="left" valign="top">
                                                                      <table border="0" cellspacing="0" cellpadding="2" width="100%">
        <tr><td bgcolor="#525D76">
          <font color="#ffffff" face="arial,helvetica,sanserif">
            <a name="XML Registry Syntax"><strong>XML Registry Syntax</strong></a>
          </font>
        </td></tr>
        <tr><td>
          <blockquote>
                                      <p>
        This document presents the XML syntax used by the default XML Registry
        implementation.
      </p>
                              </blockquote>
          </p>
        </td></tr>
        <tr><td><br/></td></tr>
      </table>
                                                  <table border="0" cellspacing="0" cellpadding="2" width="100%">
        <tr><td bgcolor="#525D76">
          <font color="#ffffff" face="arial,helvetica,sanserif">
            <a name="Table of contents"><strong>Table of contents</strong></a>
          </font>
        </td></tr>
        <tr><td>
          <blockquote>
                                      <ul>
        <li><a href="#Registry">Registry</a></li>
        <li><a href="#Portlet">Portlets</a></li>
        <li><a href="#Control">Controls</a></li>
        <li><a href="#Controller">Controllers</a></li>
        <li><a href="#Skin">Skins</a></li>
        <li><a href="#Media">Media Types</a></li>
        <li><a href="#Client">Clients</a></li>
        <li><a href="#Security">Security entries</a></li>
      </ul>
                              </blockquote>
          </p>
        </td></tr>
        <tr><td><br/></td></tr>
      </table>
                                                  <table border="0" cellspacing="0" cellpadding="2" width="100%">
        <tr><td bgcolor="#525D76">
          <font color="#ffffff" face="arial,helvetica,sanserif">
            <a name="Registry"><strong>Registry</strong></a>
          </font>
        </td></tr>
        <tr><td>
          <blockquote>
                                          <table border="0" cellspacing="0" cellpadding="2" width="100%">
        <tr><td bgcolor="#828DA6">
          <font color="#ffffff" face="arial,helvetica,sanserif">
            <a name="Overview"><strong>Overview</strong></a>
          </font>
        </td></tr>
        <tr><td>
          <blockquote>
                                      <p>
          The registry element needs to be the root elements of any registry fragment.
          It can contains any of the currently defined entries.
        </p>
                              </blockquote>
        </td></tr>
        <tr><td><br/></td></tr>
      </table>
                                                      <table border="0" cellspacing="0" cellpadding="2" width="100%">
        <tr><td bgcolor="#828DA6">
          <font color="#ffffff" face="arial,helvetica,sanserif">
            <a name="DTD"><strong>DTD</strong></a>
          </font>
        </td></tr>
        <tr><td>
          <blockquote>
                                          <div align="left">
      <table cellspacing="4" cellpadding="0" border="0">
      <tr>
        <td bgcolor="#023264" width="1" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
        <td bgcolor="#023264" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
        <td bgcolor="#023264" width="1" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
      </tr>
      <tr>
        <td bgcolor="#023264" width="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
        <td bgcolor="#ffffff"><pre>
  &lt;!ELEMENT registry ( portlet-entry*,
                       portlet-control-entry*,
                       portlet-controller-entry*,
                       skin-entry*,
                       media-type-entry*,
                       client-entry*,
                       security-entry*
                     )&gt;
  &lt;!ATTLIST registry 
            version    CDATA  &quot;1.0&quot;&gt;
        </pre></td>
        <td bgcolor="#023264" width="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
      </tr>
      <tr>
        <td bgcolor="#023264" width="1" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
        <td bgcolor="#023264" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
        <td bgcolor="#023264" width="1" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
      </tr>
      </table>
      </div>
                              </blockquote>
        </td></tr>
        <tr><td><br/></td></tr>
      </table>
                              </blockquote>
          </p>
        </td></tr>
        <tr><td><br/></td></tr>
      </table>
                                                  <table border="0" cellspacing="0" cellpadding="2" width="100%">
        <tr><td bgcolor="#525D76">
          <font color="#ffffff" face="arial,helvetica,sanserif">
            <a name="Portlet"><strong>Portlet</strong></a>
          </font>
        </td></tr>
        <tr><td>
          <blockquote>
                                          <table border="0" cellspacing="0" cellpadding="2" width="100%">
        <tr><td bgcolor="#828DA6">
          <font color="#ffffff" face="arial,helvetica,sanserif">
            <a name="Overview"><strong>Overview</strong></a>
          </font>
        </td></tr>
        <tr><td>
          <blockquote>
                                      <p>
        The <code>portlet-entry</code> element is the main element encountered in the Registry.
        It describes a Portlet object that can be used within a portal page description.
        </p>
                                                  <p>
          There are 3 main types of <code>portlet-entry</code> definitions, controlled by 
          the value of the <code>type</code> attribute in the entry:
        </p>
                                                  <dl>
          <dt><strong>abstract</strong></dt>
          <dd>
            <p>These portlets cannot be used directly in a portlet page and simply provide 
            a configuration template for creating ref portlet-entry.</p>
            <p>The <code>classname</code> element is required in an abstract portlet</p>
          </dd>
          <dt><strong>instance</strong></dt>
          <dd>
            <p>
              These are the default portlet entries created within the registry and describe
              standard Java component complying to the Portlet API that can be added directly
              within a portal page.
            </p>
            <p>The <code>classname</code> element is required in an instance portlet</p>
          </dd>
          <dt><strong>ref</strong></dt>
          <dd>
            <p>
              These entries are the more frequently encountered definitions in the registry.
              They define portlets that reference another existing portlet entry in the registry,
              yet override or complement the previous definitions with additionnal parameters.
            </p>
            <p>
              The <code>parent</code> attribute is required in a ref portlet and must refer another
              existing abstract or instance portlet, but not another ref portlet.<br />
              The <code>classname</code> element should not occur within a ref prtlet definition.
            </p>
          </dd>
        </dl>
                                                  <p>
          In addition to the <code>type</code> attribute, portlet entries can also use standard
          attributes and elements that can be used in most other registry entries and are explained
          <a href="registry_syntax.html#Standard">here</a>
        </p>
                              </blockquote>
        </td></tr>
        <tr><td><br/></td></tr>
      </table>
                                                      <table border="0" cellspacing="0" cellpadding="2" width="100%">
        <tr><td bgcolor="#828DA6">
          <font color="#ffffff" face="arial,helvetica,sanserif">
            <a name="DTD"><strong>DTD</strong></a>
          </font>
        </td></tr>
        <tr><td>
          <blockquote>
                                          <div align="left">
      <table cellspacing="4" cellpadding="0" border="0">
      <tr>
        <td bgcolor="#023264" width="1" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
        <td bgcolor="#023264" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
        <td bgcolor="#023264" width="1" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
      </tr>
      <tr>
        <td bgcolor="#023264" width="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
        <td bgcolor="#ffffff"><pre>
  &lt;!ELEMENT portlet-entry  ( security?,
                             security-ref?,
  			   meta-info?,
  			   classname?,
  			   parameter*,
  			   media-type*,
  			   url?,
  			   category* )&gt;
  &lt;!ATTLIST portlet-entry
            name           ID                 #REQUIRED
            hidden         ( true | false )   &quot;false&quot;
            type           ( abstract | instance | ref ) &quot;instance&quot;
            application    ( true | false )   &quot;false&quot;
            parent         IDREF              #IMPLIED &gt;
  
  &lt;!ELEMENT parameter      ( security?, security-ref?, meta-info? )&gt;
  &lt;!ATTLIST parameter
            name           CDATA              #REQUIRED
            value          CDATA              #REQUIRED
            type           (int | boolean | string | list) &quot;string&quot;
            cachedOnName	 ( true | false )   &quot;false&quot;
            cachedOnValue  ( true | false )   &quot;false&quot; &gt;
  
  &lt;!ELEMENT classname      CDATA&gt;
  
  &lt;!ELEMENT meta-info      ( title?, description?, image? ) &gt;
  &lt;!ELEMENT title          CDATA&gt;
  &lt;!ELEMENT description    CDATA&gt;
  &lt;!ELEMENT image          CDATA&gt;
  
  &lt;!ELEMENT media-type     EMPTY&gt;
  &lt;!ATTLIST media-type
            ref            IDREF              #REQUIRED &gt;
  
  &lt;!ELEMENT url            CDATA&gt;
  &lt;!ATTLIST url
            cachedOnUrl    ( true | false )   &quot;false&quot; &gt;
  
  &lt;!ELEMENT category       CDATA&gt;
  &lt;!ATTLIST category
            group          CDATA              #IMPLIED &gt;
        </pre></td>
        <td bgcolor="#023264" width="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
      </tr>
      <tr>
        <td bgcolor="#023264" width="1" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
        <td bgcolor="#023264" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
        <td bgcolor="#023264" width="1" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
      </tr>
      </table>
      </div>
                              </blockquote>
        </td></tr>
        <tr><td><br/></td></tr>
      </table>
                                                      <table border="0" cellspacing="0" cellpadding="2" width="100%">
        <tr><td bgcolor="#828DA6">
          <font color="#ffffff" face="arial,helvetica,sanserif">
            <a name="Usage notes"><strong>Usage notes</strong></a>
          </font>
        </td></tr>
        <tr><td>
          <blockquote>
                                      <h2>Parameter handling</h2>
                                                  <p>
          Some parameters have special meanings when encountered in a <code>portlet-entry</code>
          defintion:
        </p>
                                                  <table>
                          <tr>
                          <td bgcolor="#039acc" colspan="" rowspan="" valign="top" align="left">
      <font color="#000000" size="-1" face="arial,helvetica,sanserif">
                  Name
              </font>
  </td>
                                  <td bgcolor="#039acc" colspan="" rowspan="" valign="top" align="left">
      <font color="#000000" size="-1" face="arial,helvetica,sanserif">
                  Minimum<br />Version
              </font>
  </td>
                                  <td bgcolor="#039acc" colspan="" rowspan="" valign="top" align="left">
      <font color="#000000" size="-1" face="arial,helvetica,sanserif">
                  Usage
              </font>
  </td>
              </tr>
                                  <tr>
                          <td bgcolor="#039acc" colspan="" rowspan="" valign="top" align="left">
      <font color="#000000" size="-1" face="arial,helvetica,sanserif">
                  _showtitlebar
              </font>
  </td>
                                  <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
      <font color="#000000" size="-1" face="arial,helvetica,sanserif">
                  1.4b1
              </font>
  </td>
                                  <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
      <font color="#000000" size="-1" face="arial,helvetica,sanserif">
                  
              Will cause the default portlet control not to draw any title bar around the portlet.
              This behavior is deprecated 1.4b2 and replaced by the more powerful <code>_control</code>
              attribute associated with a no title bar control like "ClearControl"
            
              </font>
  </td>
              </tr>
                                  <tr>
                          <td bgcolor="#039acc" colspan="" rowspan="" valign="top" align="left">
      <font color="#000000" size="-1" face="arial,helvetica,sanserif">
                  _control
              </font>
  </td>
                                  <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
      <font color="#000000" size="-1" face="arial,helvetica,sanserif">
                  1.4b2
              </font>
  </td>
                                  <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
      <font color="#000000" size="-1" face="arial,helvetica,sanserif">
                  
              Will cause any new instance of this <code>portlet-entry</code> to be associated with the
              control specified in the parameter value when added to a portal page.
            
              </font>
  </td>
              </tr>
              </table>
                                                  <p>
          Also note that any parameter starting with a "_" will not be ignored by the default
          portlet customizer.
        </p>
                              </blockquote>
        </td></tr>
        <tr><td><br/></td></tr>
      </table>
                                                      <table border="0" cellspacing="0" cellpadding="2" width="100%">
        <tr><td bgcolor="#828DA6">
          <font color="#ffffff" face="arial,helvetica,sanserif">
            <a name="Examples"><strong>Examples</strong></a>
          </font>
        </td></tr>
        <tr><td>
          <blockquote>
                                      <p>
          The first example presents a minimal abstract type portlet definition.
          Note that it's defined as hidden to prevent the entry from showing up 
          when browsing for portlets
        </p>
                                                      <div align="left">
      <table cellspacing="4" cellpadding="0" border="0">
      <tr>
        <td bgcolor="#023264" width="1" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
        <td bgcolor="#023264" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
        <td bgcolor="#023264" width="1" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
      </tr>
      <tr>
        <td bgcolor="#023264" width="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
        <td bgcolor="#ffffff"><pre>
  &lt;portlet-entry name=&quot;Velocity&quot; type=&quot;abstract&quot; hidden=&quot;true&quot;&gt;
    &lt;classname&gt;org.apache.jetspeed.portal.portlets.VelocityPortlet&lt;/classname&gt;
  &lt;/portlet-entry&gt;
        </pre></td>
        <td bgcolor="#023264" width="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
      </tr>
      <tr>
        <td bgcolor="#023264" width="1" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
        <td bgcolor="#023264" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
        <td bgcolor="#023264" width="1" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
      </tr>
      </table>
      </div>
                                                  <p>
          The second example provides a standard instance type portlet definition.
        </p>
                                                      <div align="left">
      <table cellspacing="4" cellpadding="0" border="0">
      <tr>
        <td bgcolor="#023264" width="1" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
        <td bgcolor="#023264" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
        <td bgcolor="#023264" width="1" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
      </tr>
      <tr>
        <td bgcolor="#023264" width="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
        <td bgcolor="#ffffff"><pre>
  &lt;portlet-entry name=&quot;JetspeedContent&quot; type=&quot;instance&quot;&gt;
    &lt;meta-info&gt;
      &lt;title&gt;Jetspeed Content Example&lt;/title&gt;
      &lt;description&gt;Example of Jetspeed Content portlet.&lt;/description&gt;
    &lt;/meta-info&gt;
    &lt;classname&gt;org.apache.jetspeed.portal.portlets.JetspeedContent&lt;/classname&gt;
    &lt;parameter name=&quot;provider-name&quot; value=&quot;jetspeed&quot; hidden=&quot;false&quot;/&gt;
    &lt;media-type ref=&quot;html&quot;/&gt;
  &lt;/portlet-entry&gt;
        </pre></td>
        <td bgcolor="#023264" width="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
      </tr>
      <tr>
        <td bgcolor="#023264" width="1" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
        <td bgcolor="#023264" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
        <td bgcolor="#023264" width="1" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
      </tr>
      </table>
      </div>
                                                  <p>
          The third example shows how to reference the above abstract definition
          and add additionnal parameters that will specify the actual behavior of
          the portlet.
        </p>
                                                      <div align="left">
      <table cellspacing="4" cellpadding="0" border="0">
      <tr>
        <td bgcolor="#023264" width="1" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
        <td bgcolor="#023264" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
        <td bgcolor="#023264" width="1" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
      </tr>
      <tr>
        <td bgcolor="#023264" width="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
        <td bgcolor="#ffffff"><pre>
  &lt;portlet-entry name=&quot;SecurityExample&quot; type=&quot;ref&quot; parent=&quot;Velocity&quot;&gt;
    &lt;security-ref parent=&quot;user-view_admin-all&quot;/&gt;
    &lt;meta-info&gt;
      &lt;title&gt;SecurityExample&lt;/title&gt;
      &lt;description&gt;Simple Security Example&lt;/description&gt;
    &lt;/meta-info&gt;
    &lt;parameter name=&quot;template&quot; value=&quot;SecurityExample&quot; hidden=&quot;false&quot;/&gt;
    &lt;media-type ref=&quot;html&quot;/&gt;
    &lt;category&gt;demo&lt;/category&gt;
    &lt;category&gt;velocity.demo&lt;/category&gt;
  &lt;/portlet-entry&gt;
        </pre></td>
        <td bgcolor="#023264" width="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
      </tr>
      <tr>
        <td bgcolor="#023264" width="1" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
        <td bgcolor="#023264" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
        <td bgcolor="#023264" width="1" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
      </tr>
      </table>
      </div>
                              </blockquote>
        </td></tr>
        <tr><td><br/></td></tr>
      </table>
                              </blockquote>
          </p>
        </td></tr>
        <tr><td><br/></td></tr>
      </table>
                                                  <table border="0" cellspacing="0" cellpadding="2" width="100%">
        <tr><td bgcolor="#525D76">
          <font color="#ffffff" face="arial,helvetica,sanserif">
            <a name="Control"><strong>Control</strong></a>
          </font>
        </td></tr>
        <tr><td>
          <blockquote>
                                          <table border="0" cellspacing="0" cellpadding="2" width="100%">
        <tr><td bgcolor="#828DA6">
          <font color="#ffffff" face="arial,helvetica,sanserif">
            <a name="Overview"><strong>Overview</strong></a>
          </font>
        </td></tr>
        <tr><td>
          <blockquote>
                                      <p>
        The <code>portlet-control-entry</code> element defines 
        </p>
                              </blockquote>
        </td></tr>
        <tr><td><br/></td></tr>
      </table>
                                                      <table border="0" cellspacing="0" cellpadding="2" width="100%">
        <tr><td bgcolor="#828DA6">
          <font color="#ffffff" face="arial,helvetica,sanserif">
            <a name="DTD"><strong>DTD</strong></a>
          </font>
        </td></tr>
        <tr><td>
          <blockquote>
                                          <div align="left">
      <table cellspacing="4" cellpadding="0" border="0">
      <tr>
        <td bgcolor="#023264" width="1" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
        <td bgcolor="#023264" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
        <td bgcolor="#023264" width="1" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
      </tr>
      <tr>
        <td bgcolor="#023264" width="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
        <td bgcolor="#ffffff"><pre>
  &lt;!ELEMENT portlet-control-entry  ( security?,
                                     security-ref?,
  			           meta-info?,
  			           classname?,
  			           parameter*,
  			           media-type+ )&gt;
  &lt;!ATTLIST portlet-control-entry
            name           ID                 #REQUIRED
            hidden         ( true | false )   &quot;false&quot; &gt;
  
  &lt;!ELEMENT parameter      ( security?, security-ref?, meta-info? )&gt;
  &lt;!ATTLIST parameter
            name           CDATA              #REQUIRED
            value          CDATA              #REQUIRED
            type           (int | boolean | string | list) &quot;string&quot; &gt;
  
  &lt;!ELEMENT classname      CDATA&gt;
  
  &lt;!ELEMENT meta-info      ( title?, description?, image? ) &gt;
  &lt;!ELEMENT title          CDATA&gt;
  &lt;!ELEMENT description    CDATA&gt;
  &lt;!ELEMENT image          CDATA&gt;
  
  &lt;!ELEMENT media-type     EMPTY&gt;
  &lt;!ATTLIST media-type
            ref            IDREF               #REQUIRED &gt;
        </pre></td>
        <td bgcolor="#023264" width="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
      </tr>
      <tr>
        <td bgcolor="#023264" width="1" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
        <td bgcolor="#023264" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
        <td bgcolor="#023264" width="1" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
      </tr>
      </table>
      </div>
                              </blockquote>
        </td></tr>
        <tr><td><br/></td></tr>
      </table>
                                                      <table border="0" cellspacing="0" cellpadding="2" width="100%">
        <tr><td bgcolor="#828DA6">
          <font color="#ffffff" face="arial,helvetica,sanserif">
            <a name="Usage notes"><strong>Usage notes</strong></a>
          </font>
        </td></tr>
        <tr><td>
          <blockquote>
                  </blockquote>
        </td></tr>
        <tr><td><br/></td></tr>
      </table>
                                                      <table border="0" cellspacing="0" cellpadding="2" width="100%">
        <tr><td bgcolor="#828DA6">
          <font color="#ffffff" face="arial,helvetica,sanserif">
            <a name="Examples"><strong>Examples</strong></a>
          </font>
        </td></tr>
        <tr><td>
          <blockquote>
                  </blockquote>
        </td></tr>
        <tr><td><br/></td></tr>
      </table>
                              </blockquote>
          </p>
        </td></tr>
        <tr><td><br/></td></tr>
      </table>
                                                  <table border="0" cellspacing="0" cellpadding="2" width="100%">
        <tr><td bgcolor="#525D76">
          <font color="#ffffff" face="arial,helvetica,sanserif">
            <a name="Controller"><strong>Controller</strong></a>
          </font>
        </td></tr>
        <tr><td>
          <blockquote>
                                          <table border="0" cellspacing="0" cellpadding="2" width="100%">
        <tr><td bgcolor="#828DA6">
          <font color="#ffffff" face="arial,helvetica,sanserif">
            <a name="Overview"><strong>Overview</strong></a>
          </font>
        </td></tr>
        <tr><td>
          <blockquote>
                                      <p>
        The <code>portlet-controller-entry</code> element 
        </p>
                              </blockquote>
        </td></tr>
        <tr><td><br/></td></tr>
      </table>
                                                      <table border="0" cellspacing="0" cellpadding="2" width="100%">
        <tr><td bgcolor="#828DA6">
          <font color="#ffffff" face="arial,helvetica,sanserif">
            <a name="DTD"><strong>DTD</strong></a>
          </font>
        </td></tr>
        <tr><td>
          <blockquote>
                                          <div align="left">
      <table cellspacing="4" cellpadding="0" border="0">
      <tr>
        <td bgcolor="#023264" width="1" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
        <td bgcolor="#023264" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
        <td bgcolor="#023264" width="1" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
      </tr>
      <tr>
        <td bgcolor="#023264" width="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
        <td bgcolor="#ffffff"><pre>
  &lt;!ELEMENT portlet-controller-entry ( parameter*, media-type+ )&gt;
  &lt;!ATTLIST portlet-controller-entry
            name           ID                 #REQUIRED
            hidden         ( true | false )   &quot;false&quot; &gt;
  
  &lt;!ELEMENT parameter EMPTY&gt;
  &lt;!ATTLIST parameter
            name           CDATA              #REQUIRED
            value          CDATA              #REQUIRED
            type           (int | boolean | string | list) &quot;string&quot; &gt;
  
  &lt;!ELEMENT media-type EMPTY&gt;
  &lt;!ATTLIST media-type
            ref           IDREF              #REQUIRED &gt;
        </pre></td>
        <td bgcolor="#023264" width="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
      </tr>
      <tr>
        <td bgcolor="#023264" width="1" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
        <td bgcolor="#023264" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
        <td bgcolor="#023264" width="1" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
      </tr>
      </table>
      </div>
                              </blockquote>
        </td></tr>
        <tr><td><br/></td></tr>
      </table>
                                                      <table border="0" cellspacing="0" cellpadding="2" width="100%">
        <tr><td bgcolor="#828DA6">
          <font color="#ffffff" face="arial,helvetica,sanserif">
            <a name="Usage notes"><strong>Usage notes</strong></a>
          </font>
        </td></tr>
        <tr><td>
          <blockquote>
                  </blockquote>
        </td></tr>
        <tr><td><br/></td></tr>
      </table>
                                                      <table border="0" cellspacing="0" cellpadding="2" width="100%">
        <tr><td bgcolor="#828DA6">
          <font color="#ffffff" face="arial,helvetica,sanserif">
            <a name="Examples"><strong>Examples</strong></a>
          </font>
        </td></tr>
        <tr><td>
          <blockquote>
                  </blockquote>
        </td></tr>
        <tr><td><br/></td></tr>
      </table>
                              </blockquote>
          </p>
        </td></tr>
        <tr><td><br/></td></tr>
      </table>
                                                  <table border="0" cellspacing="0" cellpadding="2" width="100%">
        <tr><td bgcolor="#525D76">
          <font color="#ffffff" face="arial,helvetica,sanserif">
            <a name="Skin"><strong>Skin</strong></a>
          </font>
        </td></tr>
        <tr><td>
          <blockquote>
                                          <table border="0" cellspacing="0" cellpadding="2" width="100%">
        <tr><td bgcolor="#828DA6">
          <font color="#ffffff" face="arial,helvetica,sanserif">
            <a name="Overview"><strong>Overview</strong></a>
          </font>
        </td></tr>
        <tr><td>
          <blockquote>
                                      <p>
        The <code>skin-entry</code> element 
        </p>
                              </blockquote>
        </td></tr>
        <tr><td><br/></td></tr>
      </table>
                                                      <table border="0" cellspacing="0" cellpadding="2" width="100%">
        <tr><td bgcolor="#828DA6">
          <font color="#ffffff" face="arial,helvetica,sanserif">
            <a name="DTD"><strong>DTD</strong></a>
          </font>
        </td></tr>
        <tr><td>
          <blockquote>
                                          <div align="left">
      <table cellspacing="4" cellpadding="0" border="0">
      <tr>
        <td bgcolor="#023264" width="1" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
        <td bgcolor="#023264" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
        <td bgcolor="#023264" width="1" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
      </tr>
      <tr>
        <td bgcolor="#023264" width="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
        <td bgcolor="#ffffff"><pre>
  &lt;!ELEMENT skin-entry ( property+ )&gt;
  &lt;!ATTLIST skin-entry
            name           ID                 #REQUIRED
            hidden         ( true | false )   &quot;false&quot; &gt;
  
  &lt;!ELEMENT property EMPTY&gt;
  &lt;!ATTLIST property
            name           CDATA              #REQUIRED
            value          CDATA              #REQUIRED
            type           (int | boolean | string | list) &quot;string&quot; &gt;
  
        </pre></td>
        <td bgcolor="#023264" width="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
      </tr>
      <tr>
        <td bgcolor="#023264" width="1" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
        <td bgcolor="#023264" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
        <td bgcolor="#023264" width="1" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
      </tr>
      </table>
      </div>
                              </blockquote>
        </td></tr>
        <tr><td><br/></td></tr>
      </table>
                                                      <table border="0" cellspacing="0" cellpadding="2" width="100%">
        <tr><td bgcolor="#828DA6">
          <font color="#ffffff" face="arial,helvetica,sanserif">
            <a name="Usage notes"><strong>Usage notes</strong></a>
          </font>
        </td></tr>
        <tr><td>
          <blockquote>
                  </blockquote>
        </td></tr>
        <tr><td><br/></td></tr>
      </table>
                                                      <table border="0" cellspacing="0" cellpadding="2" width="100%">
        <tr><td bgcolor="#828DA6">
          <font color="#ffffff" face="arial,helvetica,sanserif">
            <a name="Examples"><strong>Examples</strong></a>
          </font>
        </td></tr>
        <tr><td>
          <blockquote>
                  </blockquote>
        </td></tr>
        <tr><td><br/></td></tr>
      </table>
                              </blockquote>
          </p>
        </td></tr>
        <tr><td><br/></td></tr>
      </table>
                                                  <table border="0" cellspacing="0" cellpadding="2" width="100%">
        <tr><td bgcolor="#525D76">
          <font color="#ffffff" face="arial,helvetica,sanserif">
            <a name="Media"><strong>Media</strong></a>
          </font>
        </td></tr>
        <tr><td>
          <blockquote>
                                          <table border="0" cellspacing="0" cellpadding="2" width="100%">
        <tr><td bgcolor="#828DA6">
          <font color="#ffffff" face="arial,helvetica,sanserif">
            <a name="Overview"><strong>Overview</strong></a>
          </font>
        </td></tr>
        <tr><td>
          <blockquote>
                                      <p>
        The <code>media-type-entry</code> element 
        </p>
                              </blockquote>
        </td></tr>
        <tr><td><br/></td></tr>
      </table>
                                                      <table border="0" cellspacing="0" cellpadding="2" width="100%">
        <tr><td bgcolor="#828DA6">
          <font color="#ffffff" face="arial,helvetica,sanserif">
            <a name="DTD"><strong>DTD</strong></a>
          </font>
        </td></tr>
        <tr><td>
          <blockquote>
                                          <div align="left">
      <table cellspacing="4" cellpadding="0" border="0">
      <tr>
        <td bgcolor="#023264" width="1" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
        <td bgcolor="#023264" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
        <td bgcolor="#023264" width="1" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
      </tr>
      <tr>
        <td bgcolor="#023264" width="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
        <td bgcolor="#ffffff"><pre>
  &lt;!ELEMENT media-type-entry ( mime-type,
                               character-set?,
                               capability-map?
                             )&gt;
  &lt;!ATTLIST media-type-entry
            name           ID                 #REQUIRED
            hidden         ( true | false )   &quot;false&quot; &gt;
  
  &lt;!ELEMENT mime-type CDATA&gt;
  &lt;!ELEMENT character-set CDATA&gt;
  
  &lt;!ELEMENT capability-map ( capability* )&gt;
  &lt;!ELEMENT capability CDATA&gt;
        </pre></td>
        <td bgcolor="#023264" width="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
      </tr>
      <tr>
        <td bgcolor="#023264" width="1" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
        <td bgcolor="#023264" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
        <td bgcolor="#023264" width="1" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
      </tr>
      </table>
      </div>
                              </blockquote>
        </td></tr>
        <tr><td><br/></td></tr>
      </table>
                                                      <table border="0" cellspacing="0" cellpadding="2" width="100%">
        <tr><td bgcolor="#828DA6">
          <font color="#ffffff" face="arial,helvetica,sanserif">
            <a name="Usage notes"><strong>Usage notes</strong></a>
          </font>
        </td></tr>
        <tr><td>
          <blockquote>
                  </blockquote>
        </td></tr>
        <tr><td><br/></td></tr>
      </table>
                                                      <table border="0" cellspacing="0" cellpadding="2" width="100%">
        <tr><td bgcolor="#828DA6">
          <font color="#ffffff" face="arial,helvetica,sanserif">
            <a name="Examples"><strong>Examples</strong></a>
          </font>
        </td></tr>
        <tr><td>
          <blockquote>
                  </blockquote>
        </td></tr>
        <tr><td><br/></td></tr>
      </table>
                              </blockquote>
          </p>
        </td></tr>
        <tr><td><br/></td></tr>
      </table>
                                                  <table border="0" cellspacing="0" cellpadding="2" width="100%">
        <tr><td bgcolor="#525D76">
          <font color="#ffffff" face="arial,helvetica,sanserif">
            <a name="Client"><strong>Client</strong></a>
          </font>
        </td></tr>
        <tr><td>
          <blockquote>
                                          <table border="0" cellspacing="0" cellpadding="2" width="100%">
        <tr><td bgcolor="#828DA6">
          <font color="#ffffff" face="arial,helvetica,sanserif">
            <a name="Overview"><strong>Overview</strong></a>
          </font>
        </td></tr>
        <tr><td>
          <blockquote>
                                      <p>
        The <code>client-entry</code> element 
        </p>
                              </blockquote>
        </td></tr>
        <tr><td><br/></td></tr>
      </table>
                                                      <table border="0" cellspacing="0" cellpadding="2" width="100%">
        <tr><td bgcolor="#828DA6">
          <font color="#ffffff" face="arial,helvetica,sanserif">
            <a name="DTD"><strong>DTD</strong></a>
          </font>
        </td></tr>
        <tr><td>
          <blockquote>
                                          <div align="left">
      <table cellspacing="4" cellpadding="0" border="0">
      <tr>
        <td bgcolor="#023264" width="1" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
        <td bgcolor="#023264" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
        <td bgcolor="#023264" width="1" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
      </tr>
      <tr>
        <td bgcolor="#023264" width="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
        <td bgcolor="#ffffff"><pre>
  &lt;!ELEMENT client-entry ( user-agent-pattern,
                           manufacturer,
                           model,
                           version,
                           mimetype-map,
                           capability-map?
                         )&gt;
  &lt;!ATTLIST client-entry 
            name           ID                 #REQUIRED
            hidden         ( true | false )   &quot;false&quot; &gt;
  
  &lt;!ELEMENT user-agent-pattern CDATA&gt;
  &lt;!ELEMENT manufacturer CDATA&gt;
  &lt;!ELEMENT model CDATA&gt;
  &lt;!ELEMENT version CDATA&gt;
  
  &lt;!ELEMENT mimetype-map ( mimetype+ )&gt;
  &lt;!ELEMENT mimetype CDATA&gt;
  
  &lt;!ELEMENT capability-map ( capability* )&gt;
  &lt;!ELEMENT capability CDATA&gt;
        </pre></td>
        <td bgcolor="#023264" width="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
      </tr>
      <tr>
        <td bgcolor="#023264" width="1" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
        <td bgcolor="#023264" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
        <td bgcolor="#023264" width="1" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
      </tr>
      </table>
      </div>
                              </blockquote>
        </td></tr>
        <tr><td><br/></td></tr>
      </table>
                                                      <table border="0" cellspacing="0" cellpadding="2" width="100%">
        <tr><td bgcolor="#828DA6">
          <font color="#ffffff" face="arial,helvetica,sanserif">
            <a name="Usage notes"><strong>Usage notes</strong></a>
          </font>
        </td></tr>
        <tr><td>
          <blockquote>
                  </blockquote>
        </td></tr>
        <tr><td><br/></td></tr>
      </table>
                                                      <table border="0" cellspacing="0" cellpadding="2" width="100%">
        <tr><td bgcolor="#828DA6">
          <font color="#ffffff" face="arial,helvetica,sanserif">
            <a name="Examples"><strong>Examples</strong></a>
          </font>
        </td></tr>
        <tr><td>
          <blockquote>
                  </blockquote>
        </td></tr>
        <tr><td><br/></td></tr>
      </table>
                              </blockquote>
          </p>
        </td></tr>
        <tr><td><br/></td></tr>
      </table>
                                                  <table border="0" cellspacing="0" cellpadding="2" width="100%">
        <tr><td bgcolor="#525D76">
          <font color="#ffffff" face="arial,helvetica,sanserif">
            <a name="Security"><strong>Security</strong></a>
          </font>
        </td></tr>
        <tr><td>
          <blockquote>
                                          <table border="0" cellspacing="0" cellpadding="2" width="100%">
        <tr><td bgcolor="#828DA6">
          <font color="#ffffff" face="arial,helvetica,sanserif">
            <a name="Overview"><strong>Overview</strong></a>
          </font>
        </td></tr>
        <tr><td>
          <blockquote>
                                      <p>
        The <code>security-entry</code> element is used to describe standard sets 
        of access rules that can be used to protect portal elements or actions.
        These security entry are referenced by the other types of registry entries
        by using the <code>security-ref</code> element.
        </p>
                              </blockquote>
        </td></tr>
        <tr><td><br/></td></tr>
      </table>
                                                      <table border="0" cellspacing="0" cellpadding="2" width="100%">
        <tr><td bgcolor="#828DA6">
          <font color="#ffffff" face="arial,helvetica,sanserif">
            <a name="DTD"><strong>DTD</strong></a>
          </font>
        </td></tr>
        <tr><td>
          <blockquote>
                                          <div align="left">
      <table cellspacing="4" cellpadding="0" border="0">
      <tr>
        <td bgcolor="#023264" width="1" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
        <td bgcolor="#023264" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
        <td bgcolor="#023264" width="1" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
      </tr>
      <tr>
        <td bgcolor="#023264" width="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
        <td bgcolor="#ffffff"><pre>
  &lt;!ELEMENT security-entry ( meta-info?, access+ )&gt;
  &lt;!ATTLIST security-entry
            name           ID      #REQUIRED &gt;
  
  &lt;!ELEMENT access (allow-if*, allow-if-owner? )&gt;
  &lt;!ATTLIST access
            action         CDATA   #REQUIRED &gt;
  
  &lt;!ELEMENT allow-if EMPTY&gt;
  &lt;!ATTLIST allow-if
            role           CDATA   #REQUIRED &gt;
  
  &lt;!ELEMENT allow-if-owner EMPTY&gt;
        </pre></td>
        <td bgcolor="#023264" width="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
      </tr>
      <tr>
        <td bgcolor="#023264" width="1" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
        <td bgcolor="#023264" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
        <td bgcolor="#023264" width="1" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
      </tr>
      </table>
      </div>
                              </blockquote>
        </td></tr>
        <tr><td><br/></td></tr>
      </table>
                                                      <table border="0" cellspacing="0" cellpadding="2" width="100%">
        <tr><td bgcolor="#828DA6">
          <font color="#ffffff" face="arial,helvetica,sanserif">
            <a name="Usage notes"><strong>Usage notes</strong></a>
          </font>
        </td></tr>
        <tr><td>
          <blockquote>
                  </blockquote>
        </td></tr>
        <tr><td><br/></td></tr>
      </table>
                                                      <table border="0" cellspacing="0" cellpadding="2" width="100%">
        <tr><td bgcolor="#828DA6">
          <font color="#ffffff" face="arial,helvetica,sanserif">
            <a name="Examples"><strong>Examples</strong></a>
          </font>
        </td></tr>
        <tr><td>
          <blockquote>
                                          <div align="left">
      <table cellspacing="4" cellpadding="0" border="0">
      <tr>
        <td bgcolor="#023264" width="1" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
        <td bgcolor="#023264" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
        <td bgcolor="#023264" width="1" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
      </tr>
      <tr>
        <td bgcolor="#023264" width="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
        <td bgcolor="#ffffff"><pre>
  &lt;security-entry name=&quot;user-view_admin-all&quot;&gt;
    &lt;meta-info&gt;
      &lt;title&gt;Users+V and Admin+C&lt;/title&gt;
      &lt;description&gt;Users view, Admin full access.&lt;/description&gt;
    &lt;/meta-info&gt;
    &lt;access action=&quot;*&quot;&gt;
      &lt;allow-if role=&quot;admin&quot;/&gt;
    &lt;/access&gt;
    &lt;access action=&quot;view&quot;&gt;
      &lt;allow-if role=&quot;user&quot;/&gt;
    &lt;/access&gt;
  &lt;/security-entry&gt;
        </pre></td>
        <td bgcolor="#023264" width="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
      </tr>
      <tr>
        <td bgcolor="#023264" width="1" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
        <td bgcolor="#023264" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
        <td bgcolor="#023264" width="1" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
      </tr>
      </table>
      </div>
                              </blockquote>
        </td></tr>
        <tr><td><br/></td></tr>
      </table>
                              </blockquote>
          </p>
        </td></tr>
        <tr><td><br/></td></tr>
      </table>
                                          </td>
                  </tr>
  
                  <!-- FOOTER -->
                  <tr><td colspan="2">
                      <hr noshade="" size="1"/>
                  </td></tr>
                  <tr><td colspan="2">
                      <div align="center"><font color="#525D76" size="-1"><em>
                      Copyright &#169; 1999-2002, Apache Software Foundation
                      </em></font></div>
                  </td></tr>
              </table>
          </body>
      </html>
  <!-- end the processing -->
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  1.1                  jakarta-jetspeed/docs/site/registry_xml.html
  
  Index: registry_xml.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  
  <!-- Content Stylesheet for Site -->
  
          
  <!-- start the processing -->
      <!-- ====================================================================== -->
      <!-- Main Page Section -->
      <!-- ====================================================================== -->
      <html>
          <head>
              <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
  
                          
             
                                      
              <title>Jetspeed - XML Registry</title>
          </head>
  
          <body bgcolor="#ffffff" text="#000000" link="#525D76">        
              <table border="0" width="100%" cellspacing="0">
                  <!-- TOP IMAGE -->
                  <tr>
                      <td align="left">
  <a href="http://jakarta.apache.org"><img src="http://jakarta.apache.org/images/jakarta-logo.gif" border="0"/></a>
  </td>
  <td align="right">
  <a href="http://jakarta.apache.org/jetspeed/"><img src="./images/logo.gif" alt="Jetspeed" border="0"/></a>
  </td>
                  </tr>
              </table>
              <table border="0" width="100%" cellspacing="4">
                  <tr><td colspan="2">
                      <hr noshade="" size="1"/>
                  </td></tr>
                  
                  <tr>
                      <!-- LEFT SIDE NAVIGATION -->
                      <td width="20%" valign="top" nowrap="true">
                                  <p><strong>Essentials</strong></p>
          <ul>
                      <li>    <a href="./index.html">Overview</a>
  </li>
                      <li>    <a href="./features.html">Features</a>
  </li>
                      <li>    <a href="./license.html">License</a>
  </li>
                      <li>    <a href="./install.html">Installation</a>
  </li>
                      <li>    <a href="./faq.html">FAQ</a>
  </li>
                      <li>    <a href="./usejetspeed.html">Sample Sites</a>
  </li>
                      <li>    <a href="./resources.html">Resources</a>
  </li>
                      <li>    <a href="./todo.html">Todo</a>
  </li>
                      <li>    <a href="./changes.html">Changes</a>
  </li>
                  </ul>
              <p><strong>Download</strong></p>
          <ul>
                      <li>    <a href="http://jakarta.apache.org/site/binindex.html">Binaries</a>
  </li>
                      <li>    <a href="http://jakarta.apache.org/site/sourceindex.html">Source Code</a>
  </li>
                      <li>    <a href="./supporting-projects.html">Supporting Projects</a>
  </li>
                  </ul>
              <p><strong>Documentation</strong></p>
          <ul>
                      <li>    <a href="./config_guide.html">Configuration Guide</a>
  </li>
                      <li>    <a href="http://jakarta.apache.org/jetspeed/api/index.html">Javadocs</a>
  </li>
                      <li>    <a href="./application-development.html">Development</a>
  </li>
                      <li>    <a href="http://www.bluesunrise.com/jetspeed-docs/PortletHowTo.htm">Portlet Howto</a>
  </li>
                      <li>    <a href="./catalog.html">Portlet Catalog</a>
  </li>
                      <li>    <a href="http://mml.hpl.hp.com:9090/jetspeed/trailmap/index.html">Jetspeed Trailmap</a>
  </li>
                  </ul>
              <p><strong>Components</strong></p>
          <ul>
                      <li>    <a href="./registry.html">Registry</a>
  </li>
                      <li>    <a href="./security.html">Security</a>
  </li>
                      <li>    <a href="./content-syndication.html">Syndication</a>
  </li>
                      <li>    <a href="./wap.html">WAP</a>
  </li>
                      <li>    <a href="./customizer.html">Customization</a>
  </li>
                      <li>    <a href="./diskcache.html">Cache</a>
  </li>
                      <li>    <a href="./psml.html">PSML</a>
  </li>
                  </ul>
              <p><strong>Get Involved</strong></p>
          <ul>
                      <li>    <a href="./contributors.html">Contributors</a>
  </li>
                      <li>    <a href="http://jakarta.apache.org/site/cvsindex.html">CVS Repository</a>
  </li>
                      <li>    <a href="./branches.html">CVS Branches</a>
  </li>
                      <li>    <a href="./code-standards.html">Coding Spec</a>
  </li>
                      <li>    <a href="http://nagoya.apache.org/bugzilla/query.cgi?product=Jetspeed">Bug Database</a>
  </li>
                  </ul>
                          </td>
                      <td width="80%" align="left" valign="top">
                                                                      <table border="0" cellspacing="0" cellpadding="2" width="100%">
        <tr><td bgcolor="#525D76">
          <font color="#ffffff" face="arial,helvetica,sanserif">
            <a name="XML Registry implementation"><strong>XML Registry implementation</strong></a>
          </font>
        </td></tr>
        <tr><td>
          <blockquote>
                                      <p>
          This document presents information related to the default XML Registry service 
          configuration and operation.
        </p>
                                                  <p>
          For a general description of the Registry usage and API, check the default
          <a href="registry.html">Registry</a> presentation.
        </p>
                                                  <p>
          For a complete description of the XML syntax of the Registry, check the 
          <a href="registry_syntax.html">Registry XML Syntax</a> documentation.
        </p>
                              </blockquote>
          </p>
        </td></tr>
        <tr><td><br/></td></tr>
      </table>
                                                  <table border="0" cellspacing="0" cellpadding="2" width="100%">
        <tr><td bgcolor="#525D76">
          <font color="#ffffff" face="arial,helvetica,sanserif">
            <a name="Overview"><strong>Overview</strong></a>
          </font>
        </td></tr>
        <tr><td>
          <blockquote>
                                      <p>
          The XML Registry uses disk based XML files, called "Registry fragments", to store
          its different entries. Upon startup, it will load all the fragments it can
          find as referenced by its configuration and populate dynamic memory based Registries
          of elements taht can be accessed through the Registry Service interface.
        </p>
                                                  <p>
          It will also periodically monitor the configured directory for any changes in 
          the registry fragments or new fragments to load.
        </p>
                                                  <p>
          Finally, if any memory based Registries are changed because of some entries are
          added, set or removed programmatically, it will automatically save these changes
          <strong>before</strong> loading any fragments modified on disk. It will also always save the
          Registry state on shutdown.
        </p>
                              </blockquote>
          </p>
        </td></tr>
        <tr><td><br/></td></tr>
      </table>
                                                  <table border="0" cellspacing="0" cellpadding="2" width="100%">
        <tr><td bgcolor="#525D76">
          <font color="#ffffff" face="arial,helvetica,sanserif">
            <a name="Usage recommendation"><strong>Usage recommendation</strong></a>
          </font>
        </td></tr>
        <tr><td>
          <blockquote>
                                      <p>
          This registry is very easy to use because you can simply modify the XML files on disk
          and they will be automatically loaded without stopping Jetspeed. It's also fast because
          most of the work is entirely done is memory.
        </p>
                                                  <p>
          However, this implementation has 2 main limitations:
          <ul>
            <li>
              it uses a lot of memory, especially if you define many entries through 
              syndication
            </li>
            <li>
              it works only with a granularity of fragments and so may have some issues if you
              deal with  online and offline entry simulatenous modifications that affect the
              same fragment.
            </li>
          </ul>
        </p>
                                                  <p>
          If any of these 2 limitations are a concern for you, we suggest that you use the
          SQL based OJB implementation.
        </p>
                              </blockquote>
          </p>
        </td></tr>
        <tr><td><br/></td></tr>
      </table>
                                                  <table border="0" cellspacing="0" cellpadding="2" width="100%">
        <tr><td bgcolor="#525D76">
          <font color="#ffffff" face="arial,helvetica,sanserif">
            <a name="Configuration"><strong>Configuration</strong></a>
          </font>
        </td></tr>
        <tr><td>
          <blockquote>
                                      <p>
          The configuration of this implementation is very simple. Here's a copy of the
          default configuration values in the JetspeedResources.properties file and a detailed
          table of configuration options.
        </p>
                                                      <div align="left">
      <table cellspacing="4" cellpadding="0" border="0">
      <tr>
        <td bgcolor="#023264" width="1" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
        <td bgcolor="#023264" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
        <td bgcolor="#023264" width="1" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
      </tr>
      <tr>
        <td bgcolor="#023264" width="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
        <td bgcolor="#ffffff"><pre>
  #########################################
  # Registry Service                      #
  #########################################
  services.Registry.classname=
    org.apache.jetspeed.services.registry.CastorRegistryService
  services.Registry.directory=/WEB-INF/conf/
  services.Registry.mapping=/WEB-INF/conf/registry.xml
  services.Registry.default.Portlet=local-portlets
  services.Registry.default.PortletControl=local-managers
  services.Registry.default.PortletController=local-managers
  services.Registry.default.MediaType=local-medias
  services.Registry.default.Skin=local-skins
  services.Registry.default.Security=local-security
  services.Registry.default.Client=local-clients
  services.Registry.extension=.xreg
  # Refresh rate, in seconds.  0 = no refresh.  Min value = 60
  services.Registry.refreshRate=300
        </pre></td>
        <td bgcolor="#023264" width="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
      </tr>
      <tr>
        <td bgcolor="#023264" width="1" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
        <td bgcolor="#023264" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
        <td bgcolor="#023264" width="1" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
      </tr>
      </table>
      </div>
                                                  <table>
                          <tr>
                          <td bgcolor="#039acc" colspan="" rowspan="" valign="top" align="left">
      <font color="#000000" size="-1" face="arial,helvetica,sanserif">
                  Option
              </font>
  </td>
                                  <td bgcolor="#039acc" colspan="" rowspan="" valign="top" align="left">
      <font color="#000000" size="-1" face="arial,helvetica,sanserif">
                  Descrption
              </font>
  </td>
              </tr>
                                  <tr>
                          <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
      <font color="#000000" size="-1" face="arial,helvetica,sanserif">
                  services.Registry.classname
              </font>
  </td>
                                  <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
      <font color="#000000" size="-1" face="arial,helvetica,sanserif">
                  
              <p><strong>Required</strong></p>
              The name of the implementation to use for the Registry service
            
              </font>
  </td>
              </tr>
                                  <tr>
                          <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
      <font color="#000000" size="-1" face="arial,helvetica,sanserif">
                  services.Registry.directory
              </font>
  </td>
                                  <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
      <font color="#000000" size="-1" face="arial,helvetica,sanserif">
                  
              <p><strong>Required</strong></p>
              The directory where the registry needs to look for fragments
            
              </font>
  </td>
              </tr>
                                  <tr>
                          <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
      <font color="#000000" size="-1" face="arial,helvetica,sanserif">
                  services.Registry.extension
              </font>
  </td>
                                  <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
      <font color="#000000" size="-1" face="arial,helvetica,sanserif">
                  
              <p><strong>Optional</strong><br /><strong>Default:</strong> .xreg</p>
              All fragments that have this extension will be recognized by this
              instance and loaded by the registry.
            
              </font>
  </td>
              </tr>
                                  <tr>
                          <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
      <font color="#000000" size="-1" face="arial,helvetica,sanserif">
                  services.Registry.refreshRate
              </font>
  </td>
                                  <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
      <font color="#000000" size="-1" face="arial,helvetica,sanserif">
                  
              <p><strong>Optional</strong><br /><strong>Default:</strong> 300</p>
              The number of seconds between disk refreshes. A value of 0 would mean that
              there will be no refresh. A hard coded minimum of 10 seconds has been
              implemented to avoid unnecessary disk usage.
            
              </font>
  </td>
              </tr>
                                  <tr>
                          <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
      <font color="#000000" size="-1" face="arial,helvetica,sanserif">
                  services.Registry.mapping
              </font>
  </td>
                                  <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
      <font color="#000000" size="-1" face="arial,helvetica,sanserif">
                  
              <p>
                <strong>Optional</strong><br />
                <strong>Default:</strong> ${webapp}/WEB-INF/conf/mapping.xml
              </p>
              The Castor mapping file that is used to load and save the XML files.<br />
              <strong>
                Do not change this file if you are unsure of what you are doing,
                this may break your Jetspeed installation
              </strong>
            
              </font>
  </td>
              </tr>
                                  <tr>
                          <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
      <font color="#000000" size="-1" face="arial,helvetica,sanserif">
                  services.Registry.default.Portlet
              </font>
  </td>
                                  <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
      <font color="#000000" size="-1" face="arial,helvetica,sanserif">
                  
              <p><strong>Required</strong></p>
              The fragment that will store new Portlet entries that have been added
              programmatically.
            
              </font>
  </td>
              </tr>
                                  <tr>
                          <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
      <font color="#000000" size="-1" face="arial,helvetica,sanserif">
                  services.Registry.default.PortletControl
              </font>
  </td>
                                  <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
      <font color="#000000" size="-1" face="arial,helvetica,sanserif">
                  
              <p><strong>Required</strong></p>
              The fragment that will store new Control entries that have been added
              programmatically.
            
              </font>
  </td>
              </tr>
                                  <tr>
                          <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
      <font color="#000000" size="-1" face="arial,helvetica,sanserif">
                  services.Registry.default.PortletController
              </font>
  </td>
                                  <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
      <font color="#000000" size="-1" face="arial,helvetica,sanserif">
                  
              <p><strong>Required</strong></p>
              The fragment that will store new Controller entries that have been added
              programmatically.
            
              </font>
  </td>
              </tr>
                                  <tr>
                          <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
      <font color="#000000" size="-1" face="arial,helvetica,sanserif">
                  services.Registry.default.Skin
              </font>
  </td>
                                  <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
      <font color="#000000" size="-1" face="arial,helvetica,sanserif">
                  
              <p><strong>Required</strong></p>
              The fragment that will store new skin entries that have been added
              programmatically.
            
              </font>
  </td>
              </tr>
                                  <tr>
                          <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
      <font color="#000000" size="-1" face="arial,helvetica,sanserif">
                  services.Registry.default.MediaType
              </font>
  </td>
                                  <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
      <font color="#000000" size="-1" face="arial,helvetica,sanserif">
                  
              <p><strong>Required</strong></p>
              The fragment that will store new media type entries that have been added
              programmatically.
            
              </font>
  </td>
              </tr>
                                  <tr>
                          <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
      <font color="#000000" size="-1" face="arial,helvetica,sanserif">
                  services.Registry.default.Client
              </font>
  </td>
                                  <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
      <font color="#000000" size="-1" face="arial,helvetica,sanserif">
                  
              <p><strong>Required</strong></p>
              The fragment that will store new client entries that have been added
              programmatically.
            
              </font>
  </td>
              </tr>
                                  <tr>
                          <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
      <font color="#000000" size="-1" face="arial,helvetica,sanserif">
                  services.Registry.default.Security
              </font>
  </td>
                                  <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
      <font color="#000000" size="-1" face="arial,helvetica,sanserif">
                  
              <p><strong>Required</strong></p>
              The fragment that will store new security entries that have been added
              programmatically.
            
              </font>
  </td>
              </tr>
                                  <tr>
                          <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
      <font color="#000000" size="-1" face="arial,helvetica,sanserif">
                  services.Registry.verbose
              </font>
  </td>
                                  <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
      <font color="#000000" size="-1" face="arial,helvetica,sanserif">
                  
              <p><strong>Optional</strong><br /><strong>Default:</strong> 0</p>
              This option controls the amount of debugging output generated by the
              regsitry if DEBUG logging mode is activated. 0 is minimum level and 3
              is maximum verbosity. This is only useful for debugging purposes.
            
              </font>
  </td>
              </tr>
              </table>
                              </blockquote>
          </p>
        </td></tr>
        <tr><td><br/></td></tr>
      </table>
                                                  <table border="0" cellspacing="0" cellpadding="2" width="100%">
        <tr><td bgcolor="#525D76">
          <font color="#ffffff" face="arial,helvetica,sanserif">
            <a name="Working with the registry"><strong>Working with the registry</strong></a>
          </font>
        </td></tr>
        <tr><td>
          <blockquote>
                                      <p>
          This section presents some advices, tips and useful info for working with 
          the XML registry implementation.
        </p>
                                                  <dl>
          <dt><strong>Do not add new portlets to the standard files</strong></dt>
          <dd>
            <p>You should always create your own fragments, like the local-* fragments
            defined in the configuration file. This will guarantee that your changes
            won't be forgotten if you upgrade your installation.</p>
          </dd>
          <dt>
            <strong>If you have both online and offline entry creations...</strong>
          </dt>
          <dd>
            <p>You will save you a lot of headache by creating 2 local fragments, one for 
            storing the entries added online, like the local-* fragments, and the other
            for manual update, like manual-* fragments. This will greatly minimize the
            risk of change collisions.</p>
          </dd>
          <dt>
            <strong>Always shut down properly your application server</strong>
          </dt>
          <dd>
            <p>Since the registry is auto-saved on shutdown, you should ensure that it
            completes properly or risk registry corruption and data loss.
            For production environment, a daily backup of the configuration files through
            a scheduled job is recommended to mitigate such risks.</p>
          </dd>
          <dt>
            <strong>Fragments created by the feed daemon</strong>
          </dt>
          <dd>
            <p>When using OCS syndication, the feed daemon will automatically create and 
            rewrite fragments that with the syndicated entries.</p>
            <p>These fragments have the following name convention: feed_&lt;feedname&gt;</p>
            <p>Do not edit or modify these files as any changes will be lost when the feed
            daemon will next update the feed</p>
          </dd>
        </dl>
                              </blockquote>
          </p>
        </td></tr>
        <tr><td><br/></td></tr>
      </table>
                                          </td>
                  </tr>
  
                  <!-- FOOTER -->
                  <tr><td colspan="2">
                      <hr noshade="" size="1"/>
                  </td></tr>
                  <tr><td colspan="2">
                      <div align="center"><font color="#525D76" size="-1"><em>
                      Copyright &#169; 1999-2002, Apache Software Foundation
                      </em></font></div>
                  </td></tr>
              </table>
          </body>
      </html>
  <!-- end the processing -->
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  

--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>