<?xml version="1.0" encoding="UTF-8"?>
<!--
    Licensed to the Apache Software Foundation (ASF) under one
    or more contributor license agreements.  See the NOTICE file
    distributed with this work for additional information
    regarding copyright ownership.  The ASF licenses this file
    to you under the Apache License, Version 2.0 (the
    "License"); you may not use this file except in compliance
    with the License.  You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

    Unless required by applicable law or agreed to in writing,
    software distributed under the License is distributed on an
    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
    KIND, either express or implied.  See the License for the
    specific language governing permissions and limitations
    under the License.
-->
<entity-engine-xml>
    <PortalPage portalPageId="_NA_" sequenceNum="000" portalPageName="For portlet attribute default value" description="To be able to have parameters at the portlet level, not PortletPage level" ownerUserLoginId="_NA_"/>
  <!--#Bam# portletWidget -->
  <PortletType portletTypeId="Decorator" screenName="portletUiLabelDecorator" description="use screen and screen location in the portletDecorator" screenLocation="component://common/widget/PortletTypeScreens.xml"/>
  <PortletType portletTypeId="Screenlet" screenName="Screenlet" description="depending of scriptName, menuName and screenName exist a screen with call (or not) scriptName in action and include a screenlet with include formName (or screenName) and include (or not) menuName" screenLocation="component://common/widget/PortletTypeScreens.xml"/>
  <PortletType portletTypeId="ScreenletList" screenName="ScreenletList" description="include a list type form (do not use screenName) and an editing area, depending of scriptName and menuName exist a screen with call (or not) scriptName in action and include a screenlet with include formName and include (or not) menuName" screenLocation="component://common/widget/PortletTypeScreens.xml"/>
  <PortletType portletTypeId="Empty" screenName="Empty" description="a empty screen, used to define a areaId" screenLocation="component://common/widget/PortletTypeScreens.xml"/>
  <!--#Eam# portletWidget -->
  <!--#Bam# portletExample can be use for all portal page build like exampleMgmt-->
  <PortalPortlet portalPortletId="CommonDetail" portletName="Common detail portlet place" description="Use this portlet to say where detail portlet call from a menu will be show" portletTypeId="Empty" component="common" subComponent="Common" securityServiceName="" securityMainAction="VIEW"/>
  <!--#Eam# portletExample -->
</entity-engine-xml>
