+ * The node to show workflow information on.
+ *
+ * @author gavinc
+ */
+public class UILinkValidationProgress extends SelfRenderingComponent
+{
+ // ------------------------------------------------------------------------------
+ // Component Impl
+
+ @Override
+ public String getFamily()
+ {
+ return "org.alfresco.faces.LinkValidationProgress";
+ }
+
+ @Override
+ public void restoreState(FacesContext context, Object state)
+ {
+ Object values[] = (Object[])state;
+ // standard component attributes are restored by the super class
+ super.restoreState(context, values[0]);
+ }
+
+ @Override
+ public Object saveState(FacesContext context)
+ {
+ Object values[] = new Object[1];
+ // standard component attributes are saved by the super class
+ values[0] = super.saveState(context);
+ return values;
+ }
+
+ @Override
+ @SuppressWarnings("unchecked")
+ public void encodeBegin(FacesContext context) throws IOException
+ {
+ if (!isRendered()) return;
+
+ ResponseWriter out = context.getResponseWriter();
+
+ // render the hidden action used to close the dialog
+ UIActionLink action = findOrCreateHiddenAction(context);
+ Utils.encodeRecursive(context, action);
+
+ // output the script
+ out.write("\n");
+
+ // output the HTML
+ out.write("
)getChildren())
+ {
+ if (actionId.equals(component.getId()))
+ {
+ action = (UIActionLink)component;
+ break;
+ }
+ }
+
+ if (action == null)
+ {
+ javax.faces.application.Application facesApp = fc.getApplication();
+ action = (UIActionLink)facesApp.createComponent(UIActions.COMPONENT_ACTIONLINK);
+
+ action.setRendererType(UIActions.RENDERER_ACTIONLINK);
+ action.setId(actionId);
+ action.setValue("Callback");
+ action.setShowLink(false);
+ MethodBinding callback = facesApp.createMethodBinding(
+ "#{DialogManager.bean.linkCheckCompleted}", new Class[] {});
+ action.setAction(callback);
+ action.getAttributes().put("style", "display:none;");
+
+ this.getChildren().add(action);
+ }
+
+ return action;
+ }
+}
diff --git a/source/java/org/alfresco/web/ui/wcm/component/UILinkValidationSummary.java b/source/java/org/alfresco/web/ui/wcm/component/UILinkValidationSummary.java
new file mode 100644
index 0000000000..afcae3b3d1
--- /dev/null
+++ b/source/java/org/alfresco/web/ui/wcm/component/UILinkValidationSummary.java
@@ -0,0 +1,115 @@
+/*
+ * 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
+ */
+package org.alfresco.web.ui.wcm.component;
+
+import java.io.IOException;
+import java.text.MessageFormat;
+import java.util.ResourceBundle;
+
+import javax.faces.context.FacesContext;
+import javax.faces.context.ResponseWriter;
+
+import org.alfresco.web.app.Application;
+import org.alfresco.web.bean.wcm.LinkValidationState;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+/**
+ * JSF component that shows the summary information for a link
+ * validation report.
+ *
+ * @author gavinc
+ */
+public class UILinkValidationSummary extends AbstractLinkValidationReportComponent
+{
+ private static Log logger = LogFactory.getLog(UILinkValidationSummary.class);
+
+ // ------------------------------------------------------------------------------
+ // Component implementation
+
+ @Override
+ public String getFamily()
+ {
+ return "org.alfresco.faces.LinkValidationSummary";
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public void encodeBegin(FacesContext context) throws IOException
+ {
+ if (isRendered() == false)
+ {
+ return;
+ }
+
+ // get the link validation state object to get the data from
+ ResponseWriter out = context.getResponseWriter();
+ LinkValidationState linkState = getValue();
+
+ if (logger.isDebugEnabled())
+ logger.debug("Rendering summary from state object: " + linkState);
+
+ // resolve all the strings holding data
+ ResourceBundle bundle = Application.getBundle(context);
+ String pattern = bundle.getString("files_links_checked");
+ String initialCheckSummary = MessageFormat.format(pattern,
+ new Object[] {linkState.getInitialNumberFilesChecked(), linkState.getInitialNumberLinksChecked()});
+ pattern = bundle.getString("files_links_broken");
+ String initialBrokenSummary = MessageFormat.format(pattern,
+ new Object[] {linkState.getInitialNumberBrokenFiles(), linkState.getInitialNumberBrokenLinks()});
+ pattern = bundle.getString("files_links_still_broken");
+ String stillBroken = MessageFormat.format(pattern,
+ new Object[] {linkState.getNumberBrokenFiles(), linkState.getNumberBrokenLinks()});
+ pattern = bundle.getString("broken_links_fixed");
+ String linksFixed = MessageFormat.format(pattern,
+ new Object[] {linkState.getNumberFixedLinks()});
+
+ // render the summary area
+ out.write("");
+ out.write(bundle.getString("summary"));
+ out.write("
");
+ out.write("");
+ out.write(bundle.getString("initial_check"));
+ out.write(": | ");
+ out.write(initialCheckSummary);
+ out.write(" ;
+ out.write(context.getExternalContext().getRequestContextPath());
+ out.write("/images/icons/warning.gif) ");
+ out.write(initialBrokenSummary);
+ out.write(" |
");
+ out.write("");
+ out.write(bundle.getString("current_status"));
+ out.write(": | ;
+ out.write(context.getExternalContext().getRequestContextPath());
+ out.write("/images/icons/warning.gif) ");
+ out.write(stillBroken);
+ out.write(" ;
+ out.write(context.getExternalContext().getRequestContextPath());
+ out.write("/images/icons/fixed_link.gif) ");
+ out.write(linksFixed);
+ out.write(" |
");
+ out.write("
");
+ }
+}
diff --git a/source/java/org/alfresco/web/ui/wcm/tag/LinkValidationBrokenFilesTag.java b/source/java/org/alfresco/web/ui/wcm/tag/LinkValidationBrokenFilesTag.java
new file mode 100644
index 0000000000..d223a1657e
--- /dev/null
+++ b/source/java/org/alfresco/web/ui/wcm/tag/LinkValidationBrokenFilesTag.java
@@ -0,0 +1,82 @@
+/*
+ * 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"
+ */
+package org.alfresco.web.ui.wcm.tag;
+
+import javax.faces.component.UIComponent;
+
+import org.alfresco.web.ui.common.tag.HtmlComponentTag;
+
+/**
+ * Tag class for adding the UILinkValidationBrokenFiles component to a JSP page.
+ *
+ * @author gavinc
+ */
+public class LinkValidationBrokenFilesTag extends HtmlComponentTag
+{
+ private String value;
+
+ /**
+ * @see javax.faces.webapp.UIComponentTag#getComponentType()
+ */
+ public String getComponentType()
+ {
+ return "org.alfresco.faces.LinkValidationBrokenFiles";
+ }
+
+ /**
+ * @see javax.faces.webapp.UIComponentTag#getRendererType()
+ */
+ public String getRendererType()
+ {
+ return null;
+ }
+
+ /**
+ * @see javax.faces.webapp.UIComponentTag#setProperties(javax.faces.component.UIComponent)
+ */
+ protected void setProperties(UIComponent component)
+ {
+ super.setProperties(component);
+
+ setStringProperty(component, "value", this.value);
+ }
+
+ /**
+ * @see org.alfresco.web.ui.common.tag.HtmlComponentTag#release()
+ */
+ public void release()
+ {
+ super.release();
+ this.value = null;
+ }
+
+ /**
+ * @param value the value (the list of servers to deploy to)
+ */
+ public void setValue(String value)
+ {
+ this.value = value;
+ }
+}
diff --git a/source/java/org/alfresco/web/ui/wcm/tag/LinkValidationFixedFilesTag.java b/source/java/org/alfresco/web/ui/wcm/tag/LinkValidationFixedFilesTag.java
new file mode 100644
index 0000000000..094efeca57
--- /dev/null
+++ b/source/java/org/alfresco/web/ui/wcm/tag/LinkValidationFixedFilesTag.java
@@ -0,0 +1,82 @@
+/*
+ * 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"
+ */
+package org.alfresco.web.ui.wcm.tag;
+
+import javax.faces.component.UIComponent;
+
+import org.alfresco.web.ui.common.tag.HtmlComponentTag;
+
+/**
+ * Tag class for adding the UILinkValidationFixedFiles component to a JSP page.
+ *
+ * @author gavinc
+ */
+public class LinkValidationFixedFilesTag extends HtmlComponentTag
+{
+ private String value;
+
+ /**
+ * @see javax.faces.webapp.UIComponentTag#getComponentType()
+ */
+ public String getComponentType()
+ {
+ return "org.alfresco.faces.LinkValidationFixedFiles";
+ }
+
+ /**
+ * @see javax.faces.webapp.UIComponentTag#getRendererType()
+ */
+ public String getRendererType()
+ {
+ return null;
+ }
+
+ /**
+ * @see javax.faces.webapp.UIComponentTag#setProperties(javax.faces.component.UIComponent)
+ */
+ protected void setProperties(UIComponent component)
+ {
+ super.setProperties(component);
+
+ setStringProperty(component, "value", this.value);
+ }
+
+ /**
+ * @see org.alfresco.web.ui.common.tag.HtmlComponentTag#release()
+ */
+ public void release()
+ {
+ super.release();
+ this.value = null;
+ }
+
+ /**
+ * @param value the value (the list of servers to deploy to)
+ */
+ public void setValue(String value)
+ {
+ this.value = value;
+ }
+}
diff --git a/source/java/org/alfresco/web/ui/wcm/tag/LinkValidationProgressTag.java b/source/java/org/alfresco/web/ui/wcm/tag/LinkValidationProgressTag.java
new file mode 100644
index 0000000000..d08c967cac
--- /dev/null
+++ b/source/java/org/alfresco/web/ui/wcm/tag/LinkValidationProgressTag.java
@@ -0,0 +1,51 @@
+/*
+ * 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"
+ */
+package org.alfresco.web.ui.wcm.tag;
+
+import org.alfresco.web.ui.common.tag.HtmlComponentTag;
+
+/**
+ * Tag class for adding the UILinkValidationProgress component to a JSP page.
+ *
+ * @author gavinc
+ */
+public class LinkValidationProgressTag extends HtmlComponentTag
+{
+ /**
+ * @see javax.faces.webapp.UIComponentTag#getComponentType()
+ */
+ public String getComponentType()
+ {
+ return "org.alfresco.faces.LinkValidationProgress";
+ }
+
+ /**
+ * @see javax.faces.webapp.UIComponentTag#getRendererType()
+ */
+ public String getRendererType()
+ {
+ return null;
+ }
+}
diff --git a/source/java/org/alfresco/web/ui/wcm/tag/LinkValidationSummaryTag.java b/source/java/org/alfresco/web/ui/wcm/tag/LinkValidationSummaryTag.java
new file mode 100644
index 0000000000..225833ae06
--- /dev/null
+++ b/source/java/org/alfresco/web/ui/wcm/tag/LinkValidationSummaryTag.java
@@ -0,0 +1,82 @@
+/*
+ * 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"
+ */
+package org.alfresco.web.ui.wcm.tag;
+
+import javax.faces.component.UIComponent;
+
+import org.alfresco.web.ui.common.tag.HtmlComponentTag;
+
+/**
+ * Tag class for adding the UILinkValidationSummary component to a JSP page.
+ *
+ * @author gavinc
+ */
+public class LinkValidationSummaryTag extends HtmlComponentTag
+{
+ private String value;
+
+ /**
+ * @see javax.faces.webapp.UIComponentTag#getComponentType()
+ */
+ public String getComponentType()
+ {
+ return "org.alfresco.faces.LinkValidationSummary";
+ }
+
+ /**
+ * @see javax.faces.webapp.UIComponentTag#getRendererType()
+ */
+ public String getRendererType()
+ {
+ return null;
+ }
+
+ /**
+ * @see javax.faces.webapp.UIComponentTag#setProperties(javax.faces.component.UIComponent)
+ */
+ protected void setProperties(UIComponent component)
+ {
+ super.setProperties(component);
+
+ setStringProperty(component, "value", this.value);
+ }
+
+ /**
+ * @see org.alfresco.web.ui.common.tag.HtmlComponentTag#release()
+ */
+ public void release()
+ {
+ super.release();
+ this.value = null;
+ }
+
+ /**
+ * @param value the value (the list of servers to deploy to)
+ */
+ public void setValue(String value)
+ {
+ this.value = value;
+ }
+}
diff --git a/source/web/WEB-INF/faces-config-beans.xml b/source/web/WEB-INF/faces-config-beans.xml
index 5910222c97..40a15854f0 100644
--- a/source/web/WEB-INF/faces-config-beans.xml
+++ b/source/web/WEB-INF/faces-config-beans.xml
@@ -3414,6 +3414,44 @@
nodeService
#{NodeService}
+
+
+
+
+ The bean that backs up the Run Link Validation Dialog
+
+ LinkValidationRunDialog
+ org.alfresco.web.bean.wcm.LinkValidationRunDialog
+ session
+
+ avmBrowseBean
+ #{AVMBrowseBean}
+
+
+ actionService
+ #{ActionService}
+
+
+ avmService
+ #{AVMService}
+
+
+
+
+
+ The bean that backs up the Link Validation Report Dialog
+
+ LinkValidationReportDialog
+ org.alfresco.web.bean.wcm.LinkValidationReportDialog
+ session
+
+ avmBrowseBean
+ #{AVMBrowseBean}
+
+
+ avmService
+ #{AVMService}
+
@@ -3753,5 +3791,18 @@
DeploymentProgressBean
org.alfresco.web.bean.wcm.DeploymentProgressBean
request
+
+
+
+
+ Bean that returns link validation progress status
+
+ LinkValidationProgressBean
+ org.alfresco.web.bean.wcm.LinkValidationProgressBean
+ session
+
+ avmBrowseBean
+ #{AVMBrowseBean}
+
diff --git a/source/web/WEB-INF/faces-config-wcm.xml b/source/web/WEB-INF/faces-config-wcm.xml
index 55b00e15ff..dc680cc2bd 100644
--- a/source/web/WEB-INF/faces-config-wcm.xml
+++ b/source/web/WEB-INF/faces-config-wcm.xml
@@ -39,6 +39,26 @@
org.alfresco.web.ui.wcm.component.UIPendingSubmissions
+
+ org.alfresco.faces.LinkValidationProgress
+ org.alfresco.web.ui.wcm.component.UILinkValidationProgress
+
+
+
+ org.alfresco.faces.LinkValidationSummary
+ org.alfresco.web.ui.wcm.component.UILinkValidationSummary
+
+
+
+ org.alfresco.faces.LinkValidationBrokenFiles
+ org.alfresco.web.ui.wcm.component.UILinkValidationBrokenFiles
+
+
+
+ org.alfresco.faces.LinkValidationFixedFiles
+ org.alfresco.web.ui.wcm.component.UILinkValidationFixedFiles
+
+
diff --git a/source/web/WEB-INF/wcm.tld b/source/web/WEB-INF/wcm.tld
index 212e18ce28..3f31e3df83 100644
--- a/source/web/WEB-INF/wcm.tld
+++ b/source/web/WEB-INF/wcm.tld
@@ -267,4 +267,112 @@
+
+ linkValidationProgress
+ org.alfresco.web.ui.wcm.tag.LinkValidationProgressTag
+ Link Validation Progress
+ JSP
+ Monitors the progress of the current link validation check being executed.
+
+
+ id
+ false
+ true
+
+
+
+ rendered
+ false
+ true
+ Flag to determine whether component should be rendered
+
+
+
+
+ linkValidationSummary
+ org.alfresco.web.ui.wcm.tag.LinkValidationSummaryTag
+ JSP
+ Link Validation Sumary
+ Displays summary information for a link validation report
+
+
+ value
+ true
+ true
+ The link validation state object holding the report data
+
+
+
+ id
+ false
+ true
+ The component identifier for this component
+
+
+
+ rendered
+ false
+ true
+ Flag to determine whether component should be rendered
+
+
+
+
+ linkValidationBrokenFiles
+ org.alfresco.web.ui.wcm.tag.LinkValidationBrokenFilesTag
+ JSP
+ Link Validation Broken Files
+ Displays broken file information for a link validation report
+
+
+ value
+ true
+ true
+ The link validation state object holding the report data
+
+
+
+ id
+ false
+ true
+ The component identifier for this component
+
+
+
+ rendered
+ false
+ true
+ Flag to determine whether component should be rendered
+
+
+
+
+ linkValidationFixedFiles
+ org.alfresco.web.ui.wcm.tag.LinkValidationFixedFilesTag
+ JSP
+ Link Validation Fixed Files
+ Displays the list of files fixed since the initial run of a link validation report
+
+
+ value
+ true
+ true
+ The link validation state object holding the report data
+
+
+
+ id
+ false
+ true
+ The component identifier for this component
+
+
+
+ rendered
+ false
+ true
+ Flag to determine whether component should be rendered
+
+
+
diff --git a/source/web/css/main.css b/source/web/css/main.css
index 9dd3d077e4..cc1db08499 100644
--- a/source/web/css/main.css
+++ b/source/web/css/main.css
@@ -718,3 +718,81 @@ a.sidebarButtonLink, a.sidebarButtonLink:link, a.sidebarButtonLink:visited
{
white-space: nowrap;
}
+
+.linkValidationProgressPanel
+{
+ width: 100%;
+ margin: 30px;
+}
+
+.linkValidationProgressWait
+{
+ font-size: 14px;
+ padding-bottom: 6px;
+}
+
+.linkValidationProgressStatus
+{
+ font-size: 11px;
+}
+
+.linkValidationReportTitle
+{
+ color: #004488;
+ font-size: 14px;
+ font-weight: bold;
+ padding-bottom: 8px;
+}
+
+.linkValidationReportSubTitle
+{
+ color: #004488;
+ font-weight: bold;
+ font-size: 11px;
+ padding-right: 8px;
+}
+
+.linkValidationSummaryPanel
+{
+ margin: 6px;
+ padding: 8px;
+ background-color: white;
+ /* border: 1px solid #babfc5; */
+}
+
+.linkValidationBrokenFilesPanel
+{
+ margin: 6px;
+ margin-top: 10px;
+ padding: 8px;
+ background-color: white;
+ /* border: 1px solid #babfc5; */
+}
+
+.linkValidationFixedFilesPanel
+{
+ margin: 6px;
+ margin-top: 10px;
+ padding: 8px;
+ background-color: white;
+ /* border: 1px solid #babfc5; */
+}
+
+.linkValidationList
+{
+ overflow: auto;
+ height: 150px;
+ border: 1px solid #aaa;
+}
+
+.linkValidationListOddRow
+{
+ background-color: white;
+}
+
+.linkValidationListEvenRow
+{
+ background-color: #f1f1f1;
+}
+
+
diff --git a/source/web/images/icons/fixed_link.gif b/source/web/images/icons/fixed_link.gif
new file mode 100644
index 0000000000..43c5ec63dd
Binary files /dev/null and b/source/web/images/icons/fixed_link.gif differ
diff --git a/source/web/images/icons/link_validation_report.gif b/source/web/images/icons/link_validation_report.gif
new file mode 100644
index 0000000000..43c5ec63dd
Binary files /dev/null and b/source/web/images/icons/link_validation_report.gif differ
diff --git a/source/web/images/icons/link_validation_report_large.gif b/source/web/images/icons/link_validation_report_large.gif
new file mode 100644
index 0000000000..9f5293b446
Binary files /dev/null and b/source/web/images/icons/link_validation_report_large.gif differ
diff --git a/source/web/images/icons/placeholder.gif b/source/web/images/icons/placeholder.gif
new file mode 100644
index 0000000000..43c5ec63dd
Binary files /dev/null and b/source/web/images/icons/placeholder.gif differ
diff --git a/source/web/images/icons/placeholder_large.gif b/source/web/images/icons/placeholder_large.gif
new file mode 100644
index 0000000000..9f5293b446
Binary files /dev/null and b/source/web/images/icons/placeholder_large.gif differ
diff --git a/source/web/images/icons/run_link_validation.gif b/source/web/images/icons/run_link_validation.gif
new file mode 100644
index 0000000000..43c5ec63dd
Binary files /dev/null and b/source/web/images/icons/run_link_validation.gif differ
diff --git a/source/web/images/icons/run_link_validation_large.gif b/source/web/images/icons/run_link_validation_large.gif
new file mode 100644
index 0000000000..9f5293b446
Binary files /dev/null and b/source/web/images/icons/run_link_validation_large.gif differ
diff --git a/source/web/jsp/wcm/browse-website.jsp b/source/web/jsp/wcm/browse-website.jsp
index af64dc725c..26df609723 100644
--- a/source/web/jsp/wcm/browse-website.jsp
+++ b/source/web/jsp/wcm/browse-website.jsp
@@ -139,6 +139,11 @@
|
+
+
+
+
diff --git a/source/web/jsp/wcm/link-validation-report.jsp b/source/web/jsp/wcm/link-validation-report.jsp
new file mode 100644
index 0000000000..8a7a5a221c
--- /dev/null
+++ b/source/web/jsp/wcm/link-validation-report.jsp
@@ -0,0 +1,46 @@
+<%--
+ * 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="http://java.sun.com/jsf/html" prefix="h" %>
+<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
+<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
+<%@ taglib uri="/WEB-INF/alfresco.tld" prefix="a" %>
+<%@ taglib uri="/WEB-INF/repo.tld" prefix="r" %>
+<%@ taglib uri="/WEB-INF/wcm.tld" prefix="w" %>
+
+<%@ page buffer="32kb" contentType="text/html;charset=UTF-8" %>
+<%@ page isELIgnored="false" %>
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/source/web/jsp/wcm/run-link-validation.jsp b/source/web/jsp/wcm/run-link-validation.jsp
new file mode 100644
index 0000000000..108d679e8f
--- /dev/null
+++ b/source/web/jsp/wcm/run-link-validation.jsp
@@ -0,0 +1,35 @@
+<%--
+ * 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="http://java.sun.com/jsf/html" prefix="h" %>
+<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
+<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
+<%@ taglib uri="/WEB-INF/alfresco.tld" prefix="a" %>
+<%@ taglib uri="/WEB-INF/repo.tld" prefix="r" %>
+<%@ taglib uri="/WEB-INF/wcm.tld" prefix="w" %>
+
+<%@ page buffer="32kb" contentType="text/html;charset=UTF-8" %>
+<%@ page isELIgnored="false" %>
+
+
\ No newline at end of file
diff --git a/source/web/scripts/ajax/link-validation-progress.js b/source/web/scripts/ajax/link-validation-progress.js
new file mode 100644
index 0000000000..061d38daf0
--- /dev/null
+++ b/source/web/scripts/ajax/link-validation-progress.js
@@ -0,0 +1,61 @@
+Alfresco.LinkValidationMonitor = function()
+{
+ this.url = getContextPath() + '/ajax/invoke/LinkValidationProgressBean.getStatus';
+ this.failedMsg = '';
+ this.successMsg = '';
+}
+
+Alfresco.LinkValidationMonitor.prototype = {
+ url: null,
+ failedMsg: null,
+ successMsg: null,
+ retrieveLinkValidationStatus: function() {
+ YAHOO.util.Connect.asyncRequest('GET', this.url,
+ {
+ success: this.processResults,
+ failure: this.handleError,
+ scope: this
+ },
+ null);
+ },
+ processResults: function(ajaxResponse) {
+ var xml = ajaxResponse.responseXML.documentElement;
+ var finished = xml.getAttribute('finished');
+ var fileCount = xml.getAttribute('file-count');
+ var linkCount = xml.getAttribute('link-count');
+
+ var fileCountElem = document.getElementById('file-count');
+ if (fileCountElem != null) {
+ fileCountElem.innerHTML = fileCount;
+ }
+ var linkCountElem = document.getElementById('link-count');
+ if (linkCountElem != null) {
+ linkCountElem.innerHTML = linkCount;
+ }
+
+ if (finished == 'true') {
+ var linkOnclick = document.getElementById('validation-callback-link').onclick;
+ linkOnclick();
+ } else {
+ setTimeout('Alfresco.linkMonitor.retrieveLinkValidationStatus()', 2000);
+ }
+ },
+ handleError: function(ajaxResponse) {
+ handleErrorYahoo(ajaxResponse.status + ' ' + ajaxResponse.statusText);
+ }
+}
+
+Alfresco.initLinkValidationMonitor = function() {
+ Alfresco.linkMonitor = new Alfresco.LinkValidationMonitor();
+ Alfresco.linkMonitor.retrieveLinkValidationStatus();
+}
+
+Alfresco.linkMonitor = null;
+window.onload = Alfresco.initLinkValidationMonitor;
+
+
+
+
+
+
+
|