This is the XML Schema for the Portlet 2.0 deployment descriptor. The following conventions apply to all J2EE deployment descriptor elements unless indicated otherwise. - In elements that specify a pathname to a file within the same JAR file, relative filenames (i.e., those not starting with "/") are considered relative to the root of the JAR file's namespace. Absolute filenames (i.e., those starting with "/") also specify names in the root of the JAR file's namespace. In general, relative names are preferred. The exception is .war files where absolute names are preferred for consistency with the Servlet API. The portlet-app element is the root of the deployment descriptor for a portlet application. This element has a required attribute version to specify to which version of the schema the deployment descriptor conforms. In order to be a valid JSR 286 portlet application the version must have the value "2.0". The portlet element contains the name of a portlet. This name must be unique within the portlet application. The custom-portlet-mode element contains the portlet-mode. This portlet mode must be unique within the portlet application. The custom-window-state element contains the window-state. This window state must be unique within the portlet application. The user-attribute element contains the name the attribute. This name must be unique within the portlet application. The filter element contains the name of a filter. The name must be unique within the portlet application. The init-param element contains the name the attribute. This name must be unique within the portlet. The supports element contains the supported mime-type. This mime type must be unique within the portlet. The preference element contains the name the preference. This name must be unique within the portlet. The security-role-ref element contains the role-name. This role name must be unique within the portlet. Caching scope, allowed values are "private" indicating that the content should not be shared across users and "public" indicating that the content may be shared across users. The default value if not present is "private". Used in: caching A custom portlet mode that one or more portlets in this portlet application supports. If the portal does not need to provide some management functionality for this portlet mode, the portal-managed element needs to be set to "false", otherwise to "true". Default is "true". If the portlet provides a decoration-name for this portlet mode the portal is encouraged to use the provided name as key under which in the portlet resource bundle the localized value of the decoration name is available. If the portlet does not provide a resource bundle the portal should use the name provided with the decoration-name tag. decorations. Used in: portlet-app A custom window state that one or more portlets in this portlet application supports. Used in: portlet-app Expriation-cache defines expiration-based caching for this portlet. Used in: portlet Expriation-time defines the time in seconds after which the portlet output expires. -1 indicates that the output never expires. Used in: caching The init-param element contains a name/value pair as an initialization param of the portlet Used in:portlet Locale specific keywords associated with this portlet. The kewords are separated by commas. Used in: portlet-info MIME type name, e.g. "text/html". The MIME type may also contain the wildcard character '*', like "text/*" or "*/*". Used in: supports The name element contains the name of a parameter. Used in: init-param, ... The portlet element contains the declarative data of a portlet. Used in: portlet-app The portlet-class element contains the fully qualified class name of the portlet. Used in: portlet The container-runtime-option element contains settings for the portlet container that the portlet expects to be honored at runtime. These settings may re-define default portlet container behavior, like the javax.portlet.escapeXml setting that disables XML encoding of URLs produced by the portlet tag library as default. Names with the javax.portlet prefix are reserved for the Java Portlet Specification. Used in: portlet-app, portlet Declaration of the filter mappings in this portlet application is done by using filter-mappingType. The container uses the filter-mapping declarations to decide which filters to apply to a request, and in what order. To determine which filters to apply it matches filter-mapping declarations on the portlet-name and the lifecyle phase defined in the filter element. The order in which filters are invoked is the order in which filter-mapping declarations that match appear in the list of filter-mapping elements. Used in: portlet-app The filter element specifies a filter that can transform the content of portlet requests and portlet responses. Filters can access the initialization parameters declared in the deployment descriptor at runtime via the FilterConfig interface. A filter can be restricted to one or more lifecycle phases of the portlet. Valid entries for lifecycle are: ACTION_PHASE, EVENT_PHASE, RENDER_PHASE, RESOURCE_PHASE Used in: portlet-app The portlet-collectionType is used to identify a subset of portlets within a portlet application to which a security constraint applies. Used in: security-constraint The event-definitionType is used to declare events the portlet can either receive or emit. The name must be unique and must be the one the portlet is using in its code for referencing this event. Used in: portlet-app portal-managed indicates if a custom portlet mode needs to be managed by the portal or not. Per default all custom portlet modes are portal managed. Valid values are: - true for portal-managed - false for not portal managed Used in: custom-portlet-modes Portlet modes. The specification pre-defines the following values as valid portlet mode constants: "edit", "help", "view". Portlet mode names are not case sensitive. Used in: custom-portlet-mode, supports The portlet-name element contains the canonical name of the portlet. Each portlet name is unique within the portlet application. Used in: portlet, filter-mapping Portlet persistent preference store. Used in: portlet Persistent preference values that may be used for customization and personalization by the portlet. Used in: portlet-preferences The class specified under preferences-validator implements the PreferencesValidator interface to validate the preferences settings. Used in: portlet-preferences read-only indicates that a setting cannot be changed in any of the standard portlet modes ("view","edit" or "help"). Per default all preferences are modifiable. Valid values are: - true for read-only - false for modifiable Used in: preferences Filename of the resource bundle containing the language specific portlet informations in different languages. Used in: portlet-info The role-link element is a reference to a defined security role. The role-link element must contain the name of one of the security roles defined in the security-role elements. Used in: security-role-ref The security-constraintType is used to associate intended security constraints with one or more portlets. Used in: portlet-app The security-role-ref element contains the declaration of a security role reference in the code of the web application. The declaration consists of an optional description, the security role name used in the code, and an optional link to a security role. If the security role is not specified, the Deployer must choose an appropriate security role. The value of the role name element must be the String used as the parameter to the EJBContext.isCallerInRole(String roleName) method or the HttpServletRequest.isUserInRole(String role) method. Used in: portlet The public-render-parameters defines a render parameter that is allowed to be public and thus be shared with other portlets. The identifier must be used for referencing this public render parameter in the portlet code. Used in: portlet-app Locale specific short version of the static title. Used in: portlet-info Supports indicates the portlet modes a portlet supports for a specific content type. All portlets must support the view mode. Used in: portlet Indicated the locales the portlet supports. Used in: portlet Locale specific static title for this portlet. Used in: portlet-info The transport-guaranteeType specifies that the communication between client and portlet should be NONE, INTEGRAL, or CONFIDENTIAL. NONE means that the portlet does not require any transport guarantees. A value of INTEGRAL means that the portlet requires that the data sent between the client and portlet be sent in such a way that it can't be changed in transit. CONFIDENTIAL means that the portlet requires that the data be transmitted in a fashion that prevents other entities from observing the contents of the transmission. In most cases, the presence of the INTEGRAL or CONFIDENTIAL flag will indicate that the use of SSL is required. Used in: user-data-constraint User attribute defines a user specific attribute that the portlet application needs. The portlet within this application can access this attribute via the request parameter USER_INFO map. Used in: portlet-app The user-data-constraintType is used to indicate how data communicated between the client and portlet should be protected. Used in: security-constraint The value element contains the value of a parameter. Used in: init-param Portlet window state. Window state names are not case sensitive. Used in: custom-window-state The description element is used to provide text describing the parent element. The description element should include any information that the portlet application war file producer wants to provide to the consumer of the portlet application war file (i.e., to the Deployer). Typically, the tools used by the portlet application war file consumer will display the description when processing the parent element that contains the description. It has an optional attribute xml:lang to indicate which language is used in the description according to RFC 1766 (http://www.ietf.org/rfc/rfc1766.txt). The default value of this attribute is English(“en”). Used in: init-param, portlet, portlet-app, security-role The display-name type contains a short name that is intended to be displayed by tools. It is used by display-name elements. The display name need not be unique. Example: ... Employee Self Service It has an optional attribute xml:lang to indicate which language is used in the description according to RFC 1766 (http://www.ietf.org/rfc/rfc1766.txt). The default value of this attribute is English(“en”). The elements that use this type designate the name of a Java class or interface. The role-nameType designates the name of a security role. The name must conform to the lexical rules for an NMTOKEN. This is a special string datatype that is defined by J2EE as a base type for defining collapsed strings. When schemas require trailing/leading space elimination as well as collapsing the existing whitespace, this base type may be used. The logical name of the filter is declare by using filter-nameType. This name is used to map the filter. Each filter name is unique within the portlet application. Used in: filter, filter-mapping