<?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"/>

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

    <!-- Temporal expression security -->
    <SecurityPermission description="Temporal expression admin" permissionId="TEMPEXPR_ADMIN"/>
    
    <!-- exception for SUPER user and group shoul be loaded as seed-->
    <SecurityGroupPermission groupId="SUPER" permissionId="COMMON_ADMIN"/>
    <SecurityGroupPermission groupId="SUPER" permissionId="PORTALPAGE_ADMIN"/>
    <SecurityGroupPermission groupId="SUPER" permissionId="VISUALTHEME_ADMIN"/>
    <SecurityGroupPermission groupId="SUPER" permissionId="USERPREF_ADMIN"/>
    <SecurityGroupPermission groupId="SUPER" permissionId="TEMPEXPR_ADMIN"/>
    
</entity-engine-xml>
