diff --git a/config/alfresco/web-client-config-dialogs.xml b/config/alfresco/web-client-config-dialogs.xml index eb6f5946e3..c68e1ab4f7 100644 --- a/config/alfresco/web-client-config-dialogs.xml +++ b/config/alfresco/web-client-config-dialogs.xml @@ -283,11 +283,11 @@ description-id="monitor_deployment_desc" show-ok-button="false" /> + + + + + + diff --git a/source/web/images/icons/delete_deploy_reports.gif b/source/web/images/icons/delete_deploy_reports.gif index 65f6ff07b7..d07eaf6e15 100644 Binary files a/source/web/images/icons/delete_deploy_reports.gif and b/source/web/images/icons/delete_deploy_reports.gif differ diff --git a/source/web/images/icons/delete_deploy_reports_large.gif b/source/web/images/icons/delete_deploy_reports_large.gif new file mode 100644 index 0000000000..576b17f23b Binary files /dev/null and b/source/web/images/icons/delete_deploy_reports_large.gif differ diff --git a/source/web/images/icons/release_server.gif b/source/web/images/icons/release_server.gif index 9342b3ed4e..46f7402299 100644 Binary files a/source/web/images/icons/release_server.gif and b/source/web/images/icons/release_server.gif differ diff --git a/source/web/images/icons/release_server_large.gif b/source/web/images/icons/release_server_large.gif new file mode 100644 index 0000000000..32065f0654 Binary files /dev/null and b/source/web/images/icons/release_server_large.gif differ diff --git a/source/web/jsp/admin/avm-console-help.txt b/source/web/jsp/admin/avm-console-help.txt new file mode 100644 index 0000000000..551e98cbfd --- /dev/null +++ b/source/web/jsp/admin/avm-console-help.txt @@ -0,0 +1,281 @@ +Help For The AVM Console. +------------------------- + +Basic Syntax: +Enter commands into the Command box of the form: + + command, arg1, arg2, arg3, ... argn + +Enter further data into the Optional Data box for +command like write, create that require input data. + +Click Execute to run the command. + +Individual Commands: + +ls - Lists the contents of the given directory. + +ls, avmpath, #versionnumber# + +avmpath is a valid avm path which are of the form: + + storename:/name/name/name.../name + + The root of the store is simply + storename:/ + +#versionnumber# is an integer constant indicating +the version number. -1 is used to reference the 'HEAD' +version. + +------ + +lsr - Lists the contents of the given directory recursively. + +lsr, avmpath, #versionnumber# + +avmpath and #versionnumber# as above. + +------ + +lsrep - Lists all the avmstores. + +lsrep + +------ + +lsver - Lists the versions in a given store. + +lsver, storename + +storename is the name of the store (alphanumeric). + +------ + +mkrep - Create a new store. + +mkrep, storename + +storename as above. + +------ + +load - Loads content recursively into an avm directory. + +load, fspath, avmpath + +fspath is a local filesystem path. Use '/'s to +be safe, even on windows. +avmpath as above and must be a path to a directory. + +------ + +mkdir - Create a new directory + +mkdir, avmpath, name + +avmpath is as above and must point to a directory. +name must be a valid Alfresco path component name. + +------ + +mkbr - Create a branch + +mkbr, srcavmpath, dstavmpath, name, #versionnumber# + +srcavmpath is a valid avmpath +dstavmpath is a valid avmpath to a directory +name is a valid path component name. + +------ + +mkldir - Create a new layered directory + +mkldir, targetavmpath, avmpath, name + +targetavmpath is a valid avmpath to a directory which + will be what the new layered directory is transparent to. +avmpath is and avmpath to the directory which will contain + the new layered directory. +name is a valid path component name. + +------ + +rename - Renames a node from one place to another. + +rename, srcdiravmpath, srcname, dstdiravmpath, dstname + +srcdiravmpath is the avm directory that contains the node + to be renamed. +srcname is the name of the node to rename. +dstdiravmpath is the avm directory that the renamed + node will live in. +dstname is the name of the renamed node. + +------ + +cp - Copies a file from one place to another. + +cp, avmpath, #versionnumber#, diravmpath, name + +avmpath is the path to the file to copy. +#versionnumber# is as above. +diravmpath is the directory in which the copy will +reside. +name is the name of the copy. + +------ + +snap - Creates a snapshot (a new version of an +avmstore). + +snap, storename + +storename is the name of the store to snapshot. + +------ + +cat - Shows the textual content of a node. Sorry no binary +viewing. + +cat, avmpath, #versionnumber# + +avmpath as above. +#versionnumber# as above. + +------ + +rm - Remove a node. + +rm, avmpath, name + +avmpath is a pointer to a directory. +name is the name of the node in that directory +to remove. + +------ + +rmrep - Purges a store, i.e. makes it truly go away. + +rmrep, name + +name is the name of the store to purge. + +------ + +rmver - Purges a particular version of a store. + +rmver, name, #versionnumber# + +name is the name of the store. + +#versionnmber# is the version to purge. + +------ + +write - Writes content to an existing file. + +write, avmpath + +avmpath is a path to a file. + +This command expects the content to be written in +the Optional Data box. + +------ + +create - Create a new file. + +create, avmpath, name + +avmpath is a path to a directory. +name is the name to give the new file. + +This command expects the content to be written in +the Optional Data box. + +------ + +stat - Get information on a node. + +stat, avmpath, #versionnumber# + +avmpath as above. + +#versionnumber# as above. + +------ + +getnodeproperties - List all properties of a node. + +getnodeproperties, avmpath, #versionnumber# + +avmpath as above. + +#versionnumber# as above. + +------ + +descnode - Describes a node (including lock information). + +descnode, avmpath, #versionnumber# + +avmpath as above. + +#versionnumber# as above. + +------ + +deletenodeproperty - Delete a property of a node. + +deletenodeproperty, avmpath, #versionnumber#, qname + +avmpath as above. + +#versionnumber# as above. + +qname - a property name in the form {namespaceURI}localName + +------ + +history - Get a list of the previous versions +of a node. + +history, avmpath, #versionnumber#, #count# + +avmpath as above. +#versionnumber# as above. +#count# The number of versions into the past to list. +-1 means all. + +------ + +statstore - Show information about a store. + +statstore, storename + +storename The name of the store. + +------ + +compare - Compares two trees. + +compare, avmpath, #versionnumber#, avmpath, #versionnumber# + +------ + +update - Promotes a node from one tree to another. + +update, avmpath, #versionnumber#, avmpath + +------ + +resetLayer - Resets a layer. + +resetLayer, avmpath + +______ + +flatten - Flattens a layer against a target tree. + +flatten, avmpath, avmpath diff --git a/source/web/jsp/admin/avm-console.jsp b/source/web/jsp/admin/avm-console.jsp new file mode 100644 index 0000000000..93f251c773 --- /dev/null +++ b/source/web/jsp/admin/avm-console.jsp @@ -0,0 +1,129 @@ +<%-- + * Copyright (C) 2005-2007 Alfresco Software Limited. + + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + + * As a special exception to the terms and conditions of version 2.0 of + * the GPL, you may redistribute this Program in connection with Free/Libre + * and Open Source Software ("FLOSS") applications as described in Alfresco's + * FLOSS exception. You should have recieved a copy of the text describing + * the FLOSS exception, and it is also available here: + * http://www.alfresco.com/legal/licensing" +--%> +<%@ taglib uri="/WEB-INF/repo.tld" prefix="r" %> +<%@ page import="java.util.*,java.io.*,org.alfresco.repo.avm.*,org.alfresco.repo.avm.util.*,org.alfresco.service.cmr.avm.*,org.alfresco.service.cmr.repository.*,org.alfresco.repo.security.authentication.*,org.alfresco.service.cmr.avmsync.*,org.alfresco.service.cmr.security.*,org.alfresco.service.cmr.avm.locking.*" %> + +<%! + static AVMService fgService; + static BulkLoader fgLoader; + static AVMInterpreter fgInterpreter; + + static + { + fgService = (AVMService)RawServices.Instance().getContext().getBean("AVMService"); + fgLoader = new BulkLoader(); + fgLoader.setAvmService(fgService); + fgInterpreter = new AVMInterpreter(); + fgInterpreter.setAvmService(fgService); + fgInterpreter.setAvmSyncService( + (AVMSyncService)RawServices.Instance().getContext().getBean("AVMSyncService")); + fgInterpreter.setAvmLockingService( + (AVMLockingService)RawServices.Instance().getContext().getBean("AVMLockingService")); + fgInterpreter.setBulkLoader(fgLoader); + } + + static String EscapeForHTML(String data) + { + StringBuilder builder = new StringBuilder(); + int count = data.length(); + for (int i = 0; i < count; i++) + { + char c = data.charAt(i); + switch (c) + { + case '<' : + builder.append("<"); + break; + case '>' : + builder.append(">"); + break; + case '"' : + builder.append("""); + break; + case '&' : + builder.append("&"); + break; + case '\'' : + builder.append("'"); + break; + case '\\' : + builder.append("\"); + break; + default : + builder.append(c); + break; + } + } + return builder.toString(); + } +%> + + + + + + + + + AVM Console + + + + + <% + String command = request.getParameter("command"); + if (command != null) + { + long start = System.currentTimeMillis(); + String data = request.getParameter("data"); + data = data + "\n\n"; + BufferedReader in = new BufferedReader(new StringReader(data)); + String result = fgInterpreter.interpretCommand(command, in); + out.println("Output:"); + out.println(EscapeForHTML(command)); + out.println(); + out.println(EscapeForHTML(result)); + out.println((System.currentTimeMillis() - start) + "ms"); + out.println(""); + } + else + { + command = ""; + } + %> + + + Command: + Optional Data: + + + Help! + + + + +
Output:"); + out.println(EscapeForHTML(command)); + out.println(); + out.println(EscapeForHTML(result)); + out.println((System.currentTimeMillis() - start) + "ms"); + out.println("
Command:
Optional Data: