<?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>
    
    <PortletCategory portletCategoryId="PRODUCTS" description="Product Management Portlets"/>
    <PortalPortlet portalPortletId="BestSellingProducts"
        portletName="List of Days Best Selling Products"
        screenName="BestSellingProducts"
        screenLocation="component://product/widget/catalog/ProductScreens.xml"
        description="List of best selling products of the day"/>
    <PortletPortletCategory portalPortletId="BestSellingProducts" portletCategoryId="PRODUCTS"/>

    <PortletCategory portletCategoryId="PRODUCTSTORE" description="ProductStore Management"/>
    <PortalPortlet portalPortletId="PrdStoreFacilityMgmt"
        portletName="Facility associated to ProductStore management"
        screenName="ListProductStoreFacility"
        screenLocation="component://product/widget/catalog/StoreScreens.xml"
        description="List of best selling products of the day"/>
    <PortletPortletCategory portalPortletId="PrdStoreFacilityMgmt" portletCategoryId="PRODUCTSTORE"/>
    <PortalPage portalPageId="ProductStoreFacility" sequenceNum="100" portalPageName="ProductStore Facility Management"
                description="The page to manage productStoreFacility data" ownerUserLoginId="_NA_" />
      <PortalPageColumn portalPageId="ProductStoreFacility" columnSeqId="00001"/>
        <PortalPagePortlet portalPageId="ProductStoreFacility" portalPortletId="PrdStoreFacilityMgmt" portletSeqId="00001" columnSeqId="00001" sequenceNum="0"/>

</entity-engine-xml>
