<?xml version="1.0" encoding="UTF-8" ?>
<!--
        Licensed to the Apache Software Foundation (ASF) under one or more
        contributor license agreements.  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.  For additional information regarding
        copyright in this work,please see the NOTICE file in the top level
        directory of this distribution.
-->
<!DOCTYPE struts PUBLIC
        "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
        "http://struts.apache.org/dtds/struts-2.5.dtd">
<struts>

    <!-- Weblogger default package -->
    <package name="weblogger" namespace="/roller-ui" extends="struts-default">

        <!-- Define Tiles result type -->
        <result-types>
            <result-type name="tiles" class="org.apache.struts2.views.tiles.TilesResult" />
        </result-types>
        
        <!-- define our own interceptors and a custom interceptor stack -->
        <interceptors>
            <interceptor name="UIActionInterceptor" 
                         class="org.apache.roller.weblogger.ui.struts2.util.UIActionInterceptor" />
            <interceptor name="UISecurityInterceptor" 
                         class="org.apache.roller.weblogger.ui.struts2.util.UISecurityInterceptor" />
            <interceptor name="UIActionPrepareInterceptor" 
                         class="org.apache.roller.weblogger.ui.struts2.util.UIActionPrepareInterceptor" />
                         
            <!-- Define a custom interceptor stack for Roller so that we can 
                 add in our own custom interceptors.  We basically copy the 
                 default stack from struts2 rather than extend it because we
                 need to have our custom interceptors go in the middle of the
                 default stack -->
            <interceptor-stack name="rollerStack">
                <interceptor-ref name="exception"/>
                <!-- <interceptor-ref name="alias"/> -->
                <interceptor-ref name="servletConfig"/>
                <!-- <interceptor-ref name="prepare"/> -->
                <interceptor-ref name="i18n"/>
                <interceptor-ref name="chain"/>
                <!-- <interceptor-ref name="debugging"/> -->
                <!-- <interceptor-ref name="profiling"/> -->
                <!-- <interceptor-ref name="scopedModelDriven"/> -->
                <!-- <interceptor-ref name="modelDriven"/> -->
                <interceptor-ref name="fileUpload"/>
                <interceptor-ref name="checkbox"/>
                <interceptor-ref name="multiselect"/>
                <interceptor-ref name="staticParams"/>
                <interceptor-ref name="actionMappingParams"/>
                <interceptor-ref name="params">
                    <param name="excludeParams">^action:.*,^method:.*</param>
                </interceptor-ref>
                <interceptor-ref name="conversionError"/>
                
                <!-- custom Roller interceptors -->
                <interceptor-ref name="UIActionInterceptor">
                    <param name="excludeMethods">cancel</param>
                </interceptor-ref>
                <interceptor-ref name="UISecurityInterceptor">
                    <param name="excludeMethods">cancel</param>
                </interceptor-ref>
                <interceptor-ref name="UIActionPrepareInterceptor">
                    <param name="excludeMethods">cancel</param>
                </interceptor-ref>
                
                <!-- validation interceptors,MUST come after our custom interceptors -->
                <interceptor-ref name="validation">
                    <param name="excludeMethods">input,back,cancel,browse</param>
                </interceptor-ref>
                <interceptor-ref name="workflow">
                    <param name="excludeMethods">input,back,cancel,browse</param>
                </interceptor-ref>
                
            </interceptor-stack>
        </interceptors>
        
        <!-- use our own interceptor stack which extends the default stack -->
        <default-interceptor-ref name="rollerStack"/>
        
        <!-- results made available to all actions -->
        <global-results>
            <result name="access-denied" type="tiles">.denied</result>
        </global-results>

        <!-- Simple actions which basically just replace the global-forwards from
             the old struts 1 config.  this is the only way to do it in struts 2 -->
        <action name="home">
            <result type="redirect">/</result>
        </action>
        
        <action name="login-redirect">
            <result>/roller-ui/login-redirect.jsp</result>
        </action>
        
        <action name="logout">
            <result>/roller-ui/logout-redirect.jsp</result>
        </action>
        
        <action name="setup"
                class="org.apache.roller.weblogger.ui.struts2.core.Setup">
            <result name="success" type="tiles">.Setup</result>
            <result name="home" type="redirectAction">home</result>
            <allowed-methods>activate,execute,save</allowed-methods>
        </action>
                        
        <action name="login"
                class="org.apache.roller.weblogger.ui.struts2.core.Login">
            <result type="tiles">.Login</result>
            <allowed-methods>execute</allowed-methods>
        </action>
        
        <action name="register"
                class="org.apache.roller.weblogger.ui.struts2.core.Register">
            <result name="input" type="tiles">.Register</result>
            <result name="disabled" type="tiles">.GenericError</result>
            <result name="success" type="tiles">.Welcome</result>
            <allowed-methods>activate,execute,save</allowed-methods>
        </action>
        
        <action name="profile"
                class="org.apache.roller.weblogger.ui.struts2.core.Profile">
            <result name="input" type="tiles">.Profile</result>
            <result name="cancel" type="redirectAction">menu</result>
            <result name="success" type="tiles">.MainMenu</result>
            <allowed-methods>execute,save</allowed-methods>
        </action>

        <action name="oauthKeys"
                class="org.apache.roller.weblogger.ui.struts2.core.OAuthKeys">
            <result name="success" type="tiles">.OAuthKeys</result>
            <allowed-methods>execute</allowed-methods>
        </action>

        <action name="oauthAuthorize"
                class="org.apache.roller.weblogger.ui.struts2.core.OAuthAuthorize">
            <result name="success" type="tiles">.OAuthAuthorize</result>
            <allowed-methods>execute</allowed-methods>
        </action>

        <action name="createWeblog"
                class="org.apache.roller.weblogger.ui.struts2.core.CreateWeblog">
            <result name="input" type="tiles">.CreateWeblog</result>
            <result name="disabled" type="tiles">.GenericError</result>
            <result name="success" type="chain">menu</result>
            <allowed-methods>cancel,execute,save</allowed-methods>
        </action>
        
        <action name="menu"
                class="org.apache.roller.weblogger.ui.struts2.core.MainMenu">
            <result type="tiles">.MainMenu</result>
            <allowed-methods>accept,decline,execute</allowed-methods>
        </action>

    </package>
    
    
    <!-- Weblogger install/bootstrap actions -->
    <package name="weblogger-install" namespace="/roller-ui/install" extends="weblogger" >

        <global-allowed-methods>
            execute,
            create,
            update,
            upgrade,
            bootstrap
        </global-allowed-methods>

        <action name="install"
                class="org.apache.roller.weblogger.ui.struts2.core.Install">
            <result name="database_error" type="tiles">.DatabaseError</result>
            <result name="create_database" type="tiles">.CreateDatabase</result>
            <result name="upgrade_database" type="tiles">.UpgradeDatabase</result>
            <result name="bootstrap" type="tiles">.Bootstrap</result>
            <result name="success" type="chain">
                <param name="actionName">home</param>
                <param name="namespace">/roller-ui</param>
            </result>
            <allowed-methods>execute,create,upgrade,bootstrap</allowed-methods>
        </action>
            
    </package>
    
    
    <!-- Weblogger Admin UI (includes planet) -->
    <package name="weblogger-admin" namespace="/roller-ui/admin" extends="weblogger" >

        <action name="globalConfig"
                class="org.apache.roller.weblogger.ui.struts2.admin.GlobalConfig">
            <result name="success" type="tiles">.GlobalConfig</result>
            <result name="error" type="tiles">.GlobalConfig</result>
            <allowed-methods>execute,save</allowed-methods>
        </action>
               
        <action name="userAdmin"
                class="org.apache.roller.weblogger.ui.struts2.admin.UserAdmin">
            <result name="success" type="tiles">.UserAdmin</result>
            <result name="error" type="tiles">.UserAdmin</result>
            <result name="input" type="tiles">.UserAdmin</result>
            <result name="edit" type="redirectAction">
                <param name="actionName">modifyUser</param>
                <param name="bean.userName">${bean.userName}</param>
            </result>
            <allowed-methods>edit,execute</allowed-methods>
        </action>
        
        <action name="createUser"
                class="org.apache.roller.weblogger.ui.struts2.admin.UserEdit">
            <param name="actionName">createUser</param>
            <param name="pageTitle">userAdmin.title.createNewUser</param>
            <result name="input" type="tiles">.UserEdit</result>
            <result name="success" type="tiles">.UserAdmin</result>
            <result name="cancel" type="redirectAction">
                <param name="actionName">userAdmin</param>
            </result>
            <allowed-methods>execute,firstSave,save</allowed-methods>
        </action>

        <action name="modifyUser"
                class="org.apache.roller.weblogger.ui.struts2.admin.UserEdit">
            <param name="actionName">modifyUser</param>
            <param name="pageTitle">userAdmin.title.editUser</param>
            <result name="input" type="tiles">.UserEdit</result>
            <result name="error" type="chain">userAdmin</result>
            <result name="cancel" type="redirectAction">
                <param name="actionName">userAdmin</param>
            </result>
            <result name="success" type="tiles">.UserAdmin</result>
            <allowed-methods>execute,firstSave,save</allowed-methods>
        </action>
        
        <action name="globalCommentManagement"
                class="org.apache.roller.weblogger.ui.struts2.admin.GlobalCommentManagement">
            <result name="list" type="tiles">.GlobalCommentManagement</result>
            <allowed-methods>execute,delete,query,update</allowed-methods>
        </action>
        
        <action name="commonPingTargets"
                class="org.apache.roller.weblogger.ui.struts2.admin.PingTargets">
            <result name="list" type="tiles">.PingTargets</result>
            <result name="confirm" type="tiles">.PingTargetConfirm</result>
            <allowed-methods>delete,deleteConfirm,disable,enable,execute</allowed-methods>
        </action>
        
        <action name="commonPingTargetAdd"
                class="org.apache.roller.weblogger.ui.struts2.admin.PingTargetEdit">
            <param name="actionName">commonPingTargetAdd</param>
            <param name="pageTitle">pingTarget.addTarget</param>
            <result name="input" type="tiles">.PingTargetEdit</result>
            <result name="success" type="chain">commonPingTargets</result>
            <allowed-methods>execute</allowed-methods>
        </action>
        
        <action name="commonPingTargetEdit"
                class="org.apache.roller.weblogger.ui.struts2.admin.PingTargetEdit">
            <param name="actionName">commonPingTargetEdit</param>
            <param name="pageTitle">pingTarget.editTarget</param>
            <result name="input" type="tiles">.PingTargetEdit</result>
            <result name="success" type="chain">commonPingTargets</result>
            <result name="error" type="chain">commonPingTargets</result>
            <allowed-methods>execute</allowed-methods>
        </action>
        
        <action name="cacheInfo"
                class="org.apache.roller.weblogger.ui.struts2.admin.CacheInfo">
            <result name="success" type="tiles">.CacheInfo</result>
            <allowed-methods>execute,clear</allowed-methods>
        </action>

        <action name="planetConfig"
                class="org.apache.roller.weblogger.planet.ui.PlanetConfig">
            <result name="input" type="tiles">.PlanetConfig</result>
            <allowed-methods>execute,save</allowed-methods>
        </action>
        
        <action name="planetGroupSubs"
                class="org.apache.roller.weblogger.planet.ui.PlanetGroupSubs">
            <result name="list" type="tiles">.PlanetGroupSubs</result>
            <allowed-methods>execute,deleteSubscription,saveGroup,saveSubscription</allowed-methods>
        </action>
        
        <action name="planetGroups"
                class="org.apache.roller.weblogger.planet.ui.PlanetGroups">
            <result name="list" type="tiles">.PlanetGroups</result>
            <allowed-methods>delete,execute</allowed-methods>
        </action>
    </package>
    
    
    <!-- Weblogger Authoring UI -->
    <package name="weblogger-authoring" namespace="/roller-ui/authoring" extends="weblogger" >

        <action name="mediaFileAdd"
                class="org.apache.roller.weblogger.ui.struts2.editor.MediaFileAdd">
            <result name="input" type="tiles">.MediaFileAdd</result>
            <result name="success" type="tiles">.MediaFileAddSuccess</result>
            <result name="error" type="tiles">.MediaFileAdd</result>
            <result name="cancel" type="redirectAction">
                <param name="actionName">mediaFileView</param>
                <param name="weblog">${weblog}</param>
            </result>
            <allowed-methods>execute,save</allowed-methods>
        </action>

        <action name="mediaFileEdit"
                class="org.apache.roller.weblogger.ui.struts2.editor.MediaFileEdit">
            <result name="input" type="tiles">.MediaFileEdit</result>
            <result name="success" type="tiles">.MediaFileEditSuccess</result>
            <allowed-methods>execute,save</allowed-methods>
        </action>

        <action name="mediaFileAddExternalInclude"
                class="org.apache.roller.weblogger.ui.struts2.editor.MediaFileEdit">
            <result name="input" type="tiles">.MediaFileAddExternalInclude</result>
            <result name="success" type="tiles">.MediaFileAddExternalInclude</result>
            <result name="error" type="tiles">.MediaFileAddExternalInclude</result>
            <allowed-methods>execute,save</allowed-methods>
        </action>

	    <action name="mediaFileView"
                class="org.apache.roller.weblogger.ui.struts2.editor.MediaFileView">
            <result name="success" type="tiles">.MediaFileView</result>
            <result name="success.json" type="dispatcher">/WEB-INF/jsps/editor/MediaFileViewLight.jsp</result>
            <allowed-methods>
                delete,execute,createNewDirectory,deleteFolder,deleteSelected,fetchDirectoryContentLight,includeInGallery,moveSelected,search,view
            </allowed-methods>
        </action>

	    <action name="mediaFileImageDim"
                class="org.apache.roller.weblogger.ui.struts2.editor.MediaFileImageDim">
            <result name="success" type="tiles">.MediaFileImageDimension</result>
            <allowed-methods>execute</allowed-methods>
        </action>

        <action name="entryAddWithMediaFile"
                class="org.apache.roller.weblogger.ui.struts2.editor.EntryAddWithMediaFile">
            <result name="success" type="chain">entryAdd</result>
            <allowed-methods>execute</allowed-methods>
        </action>

        <action name="entryAdd"
                class="org.apache.roller.weblogger.ui.struts2.editor.EntryEdit">
            <param name="actionName">entryAdd</param>
            <param name="pageTitle">weblogEdit.title.newEntry</param>
            <result name="input" type="tiles">.EntryEdit</result>
            <result name="success" type="redirectAction">
                <param name="actionName">entryEdit!firstSave</param>
                <param name="weblog">${weblog}</param>
                <param name="bean.id">${bean.id}</param>
            </result>
            <allowed-methods>execute,firstSave,publish,saveDraft,trackback</allowed-methods>
        </action>

        <action name="entryEdit"
                class="org.apache.roller.weblogger.ui.struts2.editor.EntryEdit">
            <param name="actionName">entryEdit</param>
            <param name="pageTitle">weblogEdit.title.editEntry</param>
            <result name="input" type="tiles">.EntryEdit</result>
            <result name="error" type="chain">
                <param name="actionName">menu</param>
                <param name="namespace">/roller-ui</param>
            </result>
            <allowed-methods>execute,firstSave,publish,saveDraft,trackback</allowed-methods>
        </action>
        
        <action name="entryRemove"
                class="org.apache.roller.weblogger.ui.struts2.editor.EntryRemove">
            <param name="actionName">entryRemove</param>
            <result name="input" type="tiles">.EntryRemove</result>
            <result name="error" type="chain">
                <param name="actionName">menu</param>
                <param name="namespace">/roller-ui</param>
            </result>
            <result name="success" type="chain">entryAdd</result>
            <allowed-methods>execute,remove</allowed-methods>
        </action>

        <!-- Below activated by Entries.jsp and EntryRemove.jsp,kept separate from
        entryRemove above as return pages are different,both in the confirm delete
        and cancel delete scenarios.

        Note the different actionName parameters.  The actionName is used to determine
        which menu item to highlight as configured in editor-menu.xml (and MenuHelper).
        It's also used in EntryRemove.jsp to code the confirm delete and cancel buttons
        to return to the appropriate pages based on the actionName.  See Struts2
        StaticParametersInterceptor javadoc for more info on static parameters.
        -->
        <action name="entryRemoveViaList"
              class="org.apache.roller.weblogger.ui.struts2.editor.EntryRemove">
          <param name="actionName">entryRemoveViaList</param>
          <result name="input" type="tiles">.EntryRemove</result>
            <result name="error" type="chain">
                <param name="actionName">menu</param>
                <param name="namespace">/roller-ui</param>
            </result>
          <result name="success" type="chain">entries</result>
            <allowed-methods>execute,remove</allowed-methods>
        </action>

        <action name="entries"
                class="org.apache.roller.weblogger.ui.struts2.editor.Entries">
            <result name="list" type="tiles">.Entries</result>
            <allowed-methods>execute</allowed-methods>
        </action>

        <action name="comments"
                class="org.apache.roller.weblogger.ui.struts2.editor.Comments">
            <result name="list" type="tiles">.Comments</result>
            <allowed-methods>delete,execute,query,update</allowed-methods>
        </action>

        <action name="categories"
                class="org.apache.roller.weblogger.ui.struts2.editor.Categories">
            <result name="list" type="tiles">.Categories</result>
            <allowed-methods>execute,move</allowed-methods>
        </action>

        <action name="categoryAdd"
                class="org.apache.roller.weblogger.ui.struts2.editor.CategoryEdit">
            <param name="actionName">categoryAdd</param>
            <param name="pageTitle">categoryForm.add.title</param>
            <result name="input" type="tiles">.CategoryEdit</result>
            <result name="success" type="chain">categories</result>
            <result name="error" type="chain">categories</result>
            <allowed-methods>execute,save</allowed-methods>
        </action>

        <action name="categoryEdit"
                class="org.apache.roller.weblogger.ui.struts2.editor.CategoryEdit">
            <param name="actionName">categoryEdit</param>
            <param name="pageTitle">categoryForm.edit.title</param>
            <result name="input" type="tiles">.CategoryEdit</result>
            <result name="success" type="chain">categories</result>
            <result name="cancel" type="redirectAction">
                <param name="actionName">categories</param>
                <param name="weblog">${weblog}</param>
            </result>
            <allowed-methods>execute,save</allowed-methods>
        </action>

        <action name="categoryRemove"
                class="org.apache.roller.weblogger.ui.struts2.editor.CategoryRemove">
            <result name="input" type="tiles">.CategoryRemove</result>
            <result name="cancel" type="redirectAction">
                <param name="actionName">categories</param>
                <param name="weblog">${weblog}</param>
            </result>
            <result name="success" type="chain">categories</result>
            <allowed-methods>execute,remove</allowed-methods>
        </action>

        <action name="bookmarks"
                class="org.apache.roller.weblogger.ui.struts2.editor.Bookmarks">
            <result name="list" type="tiles">.Bookmarks</result>
            <allowed-methods>delete,deleteFolder,execute,folderCreated,move,view</allowed-methods>
        </action>

        <action name="bookmarkAdd"
                class="org.apache.roller.weblogger.ui.struts2.editor.BookmarkEdit">
            <param name="actionName">bookmarkAdd</param>
            <param name="pageTitle">bookmarkForm.add.title</param>
            <result name="input" type="tiles">.BookmarkEdit</result>
            <result name="success" type="chain">bookmarks</result>
            <result name="error" type="chain">bookmarks</result>
            <allowed-methods>execute,save</allowed-methods>
        </action>

        <action name="bookmarkEdit"
                class="org.apache.roller.weblogger.ui.struts2.editor.BookmarkEdit">
            <param name="actionName">bookmarkEdit</param>
            <param name="pageTitle">bookmarkForm.edit.title</param>
            <result name="input" type="tiles">.BookmarkEdit</result>
            <result name="success" type="chain">bookmarks</result>
            <result name="cancel" type="redirectAction">
                <param name="actionName">bookmarks</param>
                <param name="weblog">${weblog}</param>
                <param name="folderId">${folderId}</param>
            </result>
            <result name="error" type="chain">bookmarkEdit</result>
            <allowed-methods>execute,save</allowed-methods>
        </action>

        <action name="bookmarksImport"
                class="org.apache.roller.weblogger.ui.struts2.editor.BookmarksImport">
            <result name="input" type="tiles">.BookmarksImport</result>
            <result name="success" type="chain">bookmarks</result>
            <allowed-methods>execute,save</allowed-methods>
        </action>

        <action name="folderAdd"
                class="org.apache.roller.weblogger.ui.struts2.editor.FolderEdit">
            <param name="actionName">folderAdd</param>
            <param name="pageTitle">folderForm.add.title</param>
            <result name="input" type="tiles">.FolderEdit</result>
            <!-- redirect because switching to the newly created bookmarks folder -->
            <result name="success" type="redirectAction">
                <param name="actionName">bookmarks!folderCreated</param>
                <param name="weblog">${weblog}</param>
                <param name="folderId">${folderId}</param>
            </result>
            <result name="error" type="chain">bookmarks</result>
            <allowed-methods>execute,save</allowed-methods>
        </action>

        <action name="folderEdit"
                class="org.apache.roller.weblogger.ui.struts2.editor.FolderEdit">
            <param name="actionName">folderEdit</param>
            <param name="pageTitle">folderForm.edit.title</param>
            <result name="input" type="tiles">.FolderEdit</result>
            <result name="success" type="chain">bookmarks</result>
            <result name="cancel" type="redirectAction">
                <param name="actionName">bookmarks</param>
                <param name="weblog">${weblog}</param>
                <param name="folderId">${folderId}</param>
            </result>
            <result name="error" type="chain">bookmarks</result>
            <allowed-methods>execute,save</allowed-methods>
        </action>

        <action name="weblogConfig"
                class="org.apache.roller.weblogger.ui.struts2.editor.WeblogConfig">
            <result name="input" type="tiles">.WeblogConfig</result>
            <allowed-methods>execute,save</allowed-methods>
        </action>
        
        <action name="weblogRemove"
                class="org.apache.roller.weblogger.ui.struts2.editor.WeblogRemove">
            <result name="confirm" type="tiles">.WeblogRemoveConfirm</result>
            <result name="success" type="chain">
                <param name="actionName">menu</param>
                <param name="namespace">/roller-ui</param>
            </result>
            <allowed-methods>execute,remove</allowed-methods>
        </action>
        
        <action name="themeEdit"
                class="org.apache.roller.weblogger.ui.struts2.editor.ThemeEdit">
            <result name="input" type="tiles">.ThemeEdit</result>
            <allowed-methods>execute,save</allowed-methods>
        </action>
        
        <action name="stylesheetEdit"
                class="org.apache.roller.weblogger.ui.struts2.editor.StylesheetEdit">
            <result name="input" type="tiles">.StylesheetEdit</result>
            <allowed-methods>copyStylesheet,delete,execute,revert,save</allowed-methods>
        </action>
        
        <action name="templates"
                class="org.apache.roller.weblogger.ui.struts2.editor.Templates">
            <result name="list" type="tiles">.Templates</result>
            <allowed-methods>add,remove,execute</allowed-methods>
        </action>

        <action name="templateEdit"
                class="org.apache.roller.weblogger.ui.struts2.editor.TemplateEdit">
            <result name="list" type="chain">templates</result>
            <result name="input" type="tiles">.TemplateEdit</result>
            <allowed-methods>execute,save</allowed-methods>
        </action>

        <action name="members"
                class="org.apache.roller.weblogger.ui.struts2.editor.Members">
            <result name="list" type="tiles">.Members</result>
            <allowed-methods>execute,save</allowed-methods>
        </action>
        
        <action name="invite"
                class="org.apache.roller.weblogger.ui.struts2.editor.MembersInvite">
            <result name="input" type="tiles">.MembersInvite</result>
            <!-- <result name="disabled" type="tiles">.disabled</result> -->
            <result name="success" type="chain">members</result>
            <result name="cancel" type="redirectAction">
                <param name="actionName">members</param>
                <param name="weblog">${weblog}</param>
            </result>
            <allowed-methods>execute,save</allowed-methods>
        </action>

        <action name="memberResign"
                class="org.apache.roller.weblogger.ui.struts2.editor.MemberResign">
            <result name="input" type="tiles">.MemberResign</result>
            <result name="error" type="chain">
                <param name="actionName">menu</param>
                <param name="namespace">/roller-ui</param>
            </result>
            <result name="success" type="chain">
                <param name="actionName">menu</param>
                <param name="namespace">/roller-ui</param>
            </result>
            <allowed-methods>execute,resign</allowed-methods>
        </action>

        <action name="pings"
                class="org.apache.roller.weblogger.ui.struts2.editor.Pings">
            <result name="list" type="tiles">.Pings</result>
            <allowed-methods>disable,enable,execute,pingNow</allowed-methods>
        </action>

        <action name="maintenance"
                class="org.apache.roller.weblogger.ui.struts2.editor.Maintenance">
            <result name="success" type="tiles">.Maintenance</result>
            <allowed-methods>execute,flushCache,reset</allowed-methods>
        </action>

    </package>

    <!-- Weblogger Authoring UI - overlay pages-->
    
    <package name="weblogger-authoring-overlay" namespace="/roller-ui/authoring/overlay" extends="weblogger-authoring" >

        <action name="mediaFileAdd"
                class="org.apache.roller.weblogger.ui.struts2.editor.MediaFileAdd">
            <param name="overlayMode">true</param>
            <result name="input" type="tiles">.MediaFileAddInclude</result>
            <result name="success" type="tiles">.MediaFileAddSuccessInclude</result>
            <result name="error" type="tiles">.MediaFileAddInclude</result>
            <allowed-methods>execute,save</allowed-methods>
        </action>

	    <action name="mediaFileImageChooser"
                class="org.apache.roller.weblogger.ui.struts2.editor.MediaFileImageChooser">
            <param name="overlayMode">true</param>
            <result name="input" type="tiles">.MediaFileImageChooser</result>
            <result name="error" type="tiles">.MediaFileImageChooser</result>
            <result name="success" type="tiles">.MediaFileImageChooser</result>
            <allowed-methods>execute,save</allowed-methods>
        </action>

    </package>

</struts>
