<?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 -->
    <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 -->
    <SecurityGroupPermission groupId="FULLADMIN" permissionId="USERPREF_ADMIN"/>

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