<?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>
    <!-- Common Services security -->
    <SecurityPermission description="View operations in the Common Component." permissionId="COMMON_VIEW"/>
    <SecurityPermission description="Admin operations in the Common Component." permissionId="COMMON_ADMIN"/>
    <SecurityPermission description="Create operations in the Common Component." permissionId="COMMON_CREATE"/>
    <SecurityPermission description="Update operations in the Common Component." permissionId="COMMON_UPDATE"/>
    <SecurityPermission description="Delete operations in the Common Component." permissionId="COMMON_DELETE"/>
    <SecurityPermission description="Create Visual Themes and Visual Theme Resources." permissionId="VISUALTHEME_CREATE"/>
    <SecurityPermission description="Update Visual Themes and Visual Theme Resources." permissionId="VISUALTHEME_UPDATE"/>
    <SecurityPermission description="Delete Visual Themes and Visual Theme Resources." permissionId="VISUALTHEME_DELETE"/>
    <SecurityPermission description="ALL operations on Visual Themes and Visual Theme Resources." permissionId="VISUALTHEME_ADMIN"/>
    <SecurityPermission description="Admin operations on Portal Pages." permissionId="PORTALPAGE_ADMIN"/>

    <SecurityGroupPermission groupId="FLEXADMIN" permissionId="COMMON_CREATE"/>
    <SecurityGroupPermission groupId="FLEXADMIN" permissionId="COMMON_DELETE"/>
    <SecurityGroupPermission groupId="FLEXADMIN" permissionId="COMMON_UPDATE"/>
    <SecurityGroupPermission groupId="FLEXADMIN" permissionId="COMMON_VIEW"/>
    <SecurityGroupPermission groupId="FLEXADMIN" permissionId="VISUALTHEME_CREATE"/>
    <SecurityGroupPermission groupId="FLEXADMIN" permissionId="VISUALTHEME_UPDATE"/>
    <SecurityGroupPermission groupId="FLEXADMIN" permissionId="VISUALTHEME_DELETE"/>
    <SecurityGroupPermission groupId="FLEXADMIN" permissionId="PORTALPAGE_ADMIN"/>

    <SecurityGroupPermission groupId="FULLADMIN" permissionId="VISUALTHEME_ADMIN"/>
    <SecurityGroupPermission groupId="FULLADMIN" permissionId="COMMON_ADMIN"/>
    <SecurityGroupPermission groupId="FULLADMIN" permissionId="PORTALPAGE_ADMIN"/>

    <SecurityGroupPermission groupId="VIEWADMIN" permissionId="COMMON_VIEW"/>

    <!-- User preferences security -->
    <SecurityPermission description="User preferences admin" permissionId="USERPREF_ADMIN"/>
    <SecurityGroupPermission groupId="FULLADMIN" permissionId="USERPREF_ADMIN"/>

    <!-- Temporal expression security -->
    <SecurityPermission description="Temporal expression admin" permissionId="TEMPEXPR_ADMIN"/>
    <SecurityGroupPermission groupId="FULLADMIN" permissionId="TEMPEXPR_ADMIN"/>
</entity-engine-xml>
