diff --git a/config/alfresco/templates/webscripts/org/alfresco/portlets/doclist.get.html.ftl b/config/alfresco/templates/webscripts/org/alfresco/portlets/doclist.get.html.ftl
index ce3aa4835a..166e9237bb 100644
--- a/config/alfresco/templates/webscripts/org/alfresco/portlets/doclist.get.html.ftl
+++ b/config/alfresco/templates/webscripts/org/alfresco/portlets/doclist.get.html.ftl
@@ -186,6 +186,10 @@ a.docfilterLinkSelected:link, a.docfilterLinkSelected:visited
vertical-align: top;
}
+.docHeader th
+{
+ text-align: center;
+}
.docFooter
{
diff --git a/config/alfresco/templates/webscripts/org/alfresco/portlets/myspaces.get.html.ftl b/config/alfresco/templates/webscripts/org/alfresco/portlets/myspaces.get.html.ftl
index 60795833b0..b096c6c026 100644
--- a/config/alfresco/templates/webscripts/org/alfresco/portlets/myspaces.get.html.ftl
+++ b/config/alfresco/templates/webscripts/org/alfresco/portlets/myspaces.get.html.ftl
@@ -132,6 +132,8 @@ a.spacefilterLink:hover
{
color: #168ECE;
background-color: #EEF7FB;
+ font-weight: bold;
+ text-decoration: none;
}
a.spacefilterLinkSelected:link, a.spacefilterLinkSelected:visited, .spaceCurrentSpace
@@ -164,6 +166,11 @@ a.spacefilterLinkSelected:link, a.spacefilterLinkSelected:visited, .spaceCurrent
background-image: url(${url.context}/images/parts/doclist_headerbg.png);
height: 30px;
}
+.spaceHeader table
+{
+ border-collapse: separate;
+ border-spacing: 6px 6px;
+}
#spacePanel
{
diff --git a/config/alfresco/templates/webscripts/org/alfresco/portlets/myspacespanel.get.html.ftl b/config/alfresco/templates/webscripts/org/alfresco/portlets/myspacespanel.get.html.ftl
index 6051b9a32e..183be2436d 100644
--- a/config/alfresco/templates/webscripts/org/alfresco/portlets/myspacespanel.get.html.ftl
+++ b/config/alfresco/templates/webscripts/org/alfresco/portlets/myspacespanel.get.html.ftl
@@ -18,7 +18,7 @@
<#else>
<#-- the component parts need to build up an encoded url to the outer webscript -->
<#-- the client-side url encoder method of the outer webscript runtime will be used -->
- ${url.serviceContext}/ui/myspaces?f=${args.f}&p=${args.p}/${d.name}
+ ${url.serviceContext}/ui/myspaces?f=${args.f}&p=${args.p?url}%2F${d.name?url}
#if>

diff --git a/config/alfresco/web-client-config.xml b/config/alfresco/web-client-config.xml
index f333a3b826..ef1917266d 100644
--- a/config/alfresco/web-client-config.xml
+++ b/config/alfresco/web-client-config.xml
@@ -85,6 +85,11 @@
2
3
+
+
+
diff --git a/source/java/org/alfresco/web/bean/NavigationBean.java b/source/java/org/alfresco/web/bean/NavigationBean.java
index 1a12dccfb8..b59053797a 100644
--- a/source/java/org/alfresco/web/bean/NavigationBean.java
+++ b/source/java/org/alfresco/web/bean/NavigationBean.java
@@ -826,9 +826,15 @@ public class NavigationBean
String serverName = this.cifsServer.getConfiguration().getServerName();
if (serverName != null && serverName.length() != 0)
{
- buf.append("\\\\")
- .append(serverName)
- .append("\\");
+ buf.append("\\\\");
+ buf.append(serverName);
+
+ // Check if there is a suffix to apply to the host name
+
+ if ( clientConfig != null && clientConfig.getCifsURLSuffix() != null)
+ buf.append(clientConfig.getCifsURLSuffix());
+
+ buf.append("\\");
buf.append(diskShare.getName());
}
diff --git a/source/java/org/alfresco/web/bean/SpaceDetailsBean.java b/source/java/org/alfresco/web/bean/SpaceDetailsBean.java
index 82242c918b..329eb870da 100644
--- a/source/java/org/alfresco/web/bean/SpaceDetailsBean.java
+++ b/source/java/org/alfresco/web/bean/SpaceDetailsBean.java
@@ -411,7 +411,7 @@ public class SpaceDetailsBean extends BaseDetailsBean
// add the mimetype=text/xml URL parameter - required to return correct stream type
return GuestTemplateContentServlet.generateURL(space.getNodeRef(),
(NodeRef)space.getProperties().get(ApplicationModel.PROP_FEEDTEMPLATE))
- + "/rss.xml?mimetype=text%2Fxml";
+ + "/rss.xml?mimetype=text%2Fxml%3Bcharset=utf-8";
}
/**
diff --git a/source/java/org/alfresco/web/config/ClientConfigElement.java b/source/java/org/alfresco/web/config/ClientConfigElement.java
index 0f89251af0..a902186e4e 100644
--- a/source/java/org/alfresco/web/config/ClientConfigElement.java
+++ b/source/java/org/alfresco/web/config/ClientConfigElement.java
@@ -74,6 +74,7 @@ public class ClientConfigElement extends ConfigElementAdapter
private List simpleSearchAdditionalAttributes = null;
private int minUsernameLength = 2;
private int minPasswordLength = 3;
+ private String cifsURLSuffix;
/**
* Default Constructor
@@ -232,6 +233,12 @@ public class ClientConfigElement extends ConfigElementAdapter
combinedElement.setMinPasswordLength(newElement.getMinPasswordLength());
}
+ if ( newElement.getCifsURLSuffix() != null &&
+ newElement.getCifsURLSuffix().equals(combinedElement.getCifsURLSuffix()) == false)
+ {
+ combinedElement.setCifsURLSuffix(newElement.getCifsURLSuffix());
+ }
+
return combinedElement;
}
@@ -623,4 +630,24 @@ public class ClientConfigElement extends ConfigElementAdapter
{
this.minPasswordLength = minPasswordLength;
}
+
+ /**
+ * Get the CIFs URL suffix
+ *
+ * @return String
+ */
+ public final String getCifsURLSuffix()
+ {
+ return cifsURLSuffix;
+ }
+
+ /**
+ * Set the CIFS URL suffix
+ *
+ * @param suffix String
+ */
+ void setCifsURLSuffix(String suffix)
+ {
+ cifsURLSuffix = suffix;
+ }
}
diff --git a/source/java/org/alfresco/web/config/ClientElementReader.java b/source/java/org/alfresco/web/config/ClientElementReader.java
index 7f7481671d..699cef93d5 100644
--- a/source/java/org/alfresco/web/config/ClientElementReader.java
+++ b/source/java/org/alfresco/web/config/ClientElementReader.java
@@ -63,6 +63,7 @@ public class ClientElementReader implements ConfigElementReader
public static final String ELEMENT_SIMPLESEARCHADDITIONALATTRSQNAME = "qname";
public static final String ELEMENT_MINUSERNAMELENGTH = "username-min-length";
public static final String ELEMENT_MINPASSWORDLENGTH = "password-min-length";
+ public static final String ELEMENT_CIFSURLSUFFIX = "cifs-url-suffix";
/**
* @see org.alfresco.config.xml.elementreader.ConfigElementReader#parse(org.dom4j.Element)
@@ -244,6 +245,16 @@ public class ClientElementReader implements ConfigElementReader
{
configElement.setMinPasswordLength(Integer.parseInt(minPassword.getTextTrim()));
}
+
+ // Get the CIFS URL suffix
+ Element cifsSuffix = element.element(ELEMENT_CIFSURLSUFFIX);
+ if ( cifsSuffix != null)
+ {
+ String suffix = cifsSuffix.getTextTrim();
+ if ( suffix.startsWith( ".") == false)
+ suffix = "." + suffix;
+ configElement.setCifsURLSuffix( suffix);
+ }
}
return configElement;
diff --git a/source/web/scripts/ajax/doclist.js b/source/web/scripts/ajax/doclist.js
index 3e80dd0814..4cd9725e0b 100644
--- a/source/web/scripts/ajax/doclist.js
+++ b/source/web/scripts/ajax/doclist.js
@@ -18,7 +18,7 @@ var MyDocs = {
{
$('docPanelOverlay').setStyle('opacity', 0);
// show AJAX loading overlay
- $('docPanelOverlayAjax').setStyle('visibility', 'visible');
+ $('docPanelOverlayAjax').setStyle('display', 'block');
$('docPanel').setStyle('visibility', 'hidden');
var messagePanel = $('docMessagePanel');
@@ -48,7 +48,7 @@ var MyDocs = {
$('docPanel').setHTML("Sorry, data currently unavailable.");
// hide the ajax wait panel and show the main doc panel
- $('docPanelOverlayAjax').setStyle('visibility', 'hidden');
+ $('docPanelOverlayAjax').setStyle('display', 'none');
$('docPanel').setStyle('visibility', 'visible');
}
}
@@ -61,7 +61,7 @@ var MyDocs = {
MyDocs.parseDocPanels();
// hide the ajax wait panel and show the main doc panel
$('docPanel').setStyle('visibility', 'visible');
- $('docPanelOverlayAjax').setStyle('visibility', 'hidden');
+ $('docPanelOverlayAjax').setStyle('display', 'none');
if (MyDocs.postInit)
{
@@ -741,7 +741,7 @@ var MyDocs = {
var docPanel = $('docPanel');
docPanel.setStyle('visibility', 'hidden');
// show the ajax wait panel
- $('docPanelOverlayAjax').setStyle('visibility', 'visible');
+ $('docPanelOverlayAjax').setStyle('display', 'block');
// Stop all the animation effects
MyDocs.FxAll.each(function(fx, i)
diff --git a/source/web/scripts/ajax/mootools.v1.11.js b/source/web/scripts/ajax/mootools.v1.11.js
index 2bd1502995..b1553d39a5 100644
--- a/source/web/scripts/ajax/mootools.v1.11.js
+++ b/source/web/scripts/ajax/mootools.v1.11.js
@@ -20,7 +20,7 @@ return array?hex:'#'+hex.join('');},hexToRgb:function(array){if(this.length!=3)r
return array?rgb:'rgb('+rgb.join(',')+')';}});Function.extend({create:function(options){var fn=this;options=$merge({'bind':fn,'event':false,'arguments':null,'delay':false,'periodical':false,'attempt':false},options);if($chk(options.arguments)&&$type(options.arguments)!='array')options.arguments=[options.arguments];return function(event){var args;if(options.event){event=event||window.event;args=[(options.event===true)?event:new options.event(event)];if(options.arguments)args.extend(options.arguments);}
else args=options.arguments||arguments;var returns=function(){return fn.apply($pick(options.bind,fn),args);};if(options.delay)return setTimeout(returns,options.delay);if(options.periodical)return setInterval(returns,options.periodical);if(options.attempt)try{return returns();}catch(err){return false;};return returns();};},pass:function(args,bind){return this.create({'arguments':args,'bind':bind});},attempt:function(args,bind){return this.create({'arguments':args,'bind':bind,'attempt':true})();},bind:function(bind,args){return this.create({'bind':bind,'arguments':args});},bindAsEventListener:function(bind,args){return this.create({'bind':bind,'event':true,'arguments':args});},delay:function(delay,bind,args){return this.create({'delay':delay,'bind':bind,'arguments':args})();},periodical:function(interval,bind,args){return this.create({'periodical':interval,'bind':bind,'arguments':args})();}});Number.extend({toInt:function(){return parseInt(this);},toFloat:function(){return parseFloat(this);},limit:function(min,max){return Math.min(max,Math.max(min,this));},round:function(precision){precision=Math.pow(10,precision||0);return Math.round(this*precision)/precision;},times:function(fn){for(var i=0;i';}
el=document.createElement(el);}
-el=$(el);return(!props||!el)?el:el.set(props);}});var Elements=new Class({initialize:function(elements){return(elements)?$extend(elements,this):this;}});Elements.extend=function(props){for(var prop in props){this.prototype[prop]=props[prop];this[prop]=$native.generic(prop);}};function $(el){if(!el)return null;if(el.htmlElement)return Garbage.collect(el);if([window,document].contains(el))return el;var type=$type(el);if(type=='string'){el=document.getElementById(el);type=(el)?'element':false;}
+el=$(el);return(!props||!el)?el:el.set(props);}});var Elements=new Class({initialize:function(elements){return(elements)?$extend(elements,this):this;}});Elements.extend=function(props){for(var prop in props){this.prototype[prop]=props[prop];this[prop]=$native.generic(prop);}};function $(el){if(!el)return null;if(el.htmlElement)return Garbage.collect(el);/* if([window,document].contains(el))return el; */ var type=$type(el);if(type=='string'){el=document.getElementById(el);type=(el)?'element':false;}
if(type!='element')return null;if(el.htmlElement)return Garbage.collect(el);if(['object','embed'].contains(el.tagName.toLowerCase()))return el;$extend(el,Element.prototype);el.htmlElement=function(){};return Garbage.collect(el);};document.getElementsBySelector=document.getElementsByTagName;function $$(){var elements=[];for(var i=0,j=arguments.length;i\<\?\/\:\|]+.*)|(.*[\.]?.*[\.]+$)|(.*[ ]+$)/i))
{
- // Different object access methods to workaround MSIE7 problem
- panel.getElementsBySelector('#space-name').addClass("spaceFormItemError");
- panel.getElementById("space-name").focus();
+ var spaceName = $E("#space-name", panel);
+ spaceName.addClass("spaceFormItemError");
+ spaceName.focus();
}
else
{
@@ -905,7 +905,7 @@ var MySpaces = {
var spacePanel = $('spacePanel');
spacePanel.setStyle('visibility', 'hidden');
// show the ajax wait panel
- $('spacePanelOverlayAjax').setStyle('visibility', 'visible');
+ $('spacePanelOverlayAjax').setStyle('display', 'block');
// Stop all the animation effects
MySpaces.FxAll.each(function(fx, i)
@@ -923,7 +923,9 @@ var MySpaces = {
*/
applyModal: function()
{
- $("spacePanelOverlay").setStyle('opacity', MySpaces.OVERLAY_OPACITY);
+ var overlay = $('spacePanelOverlay')
+ overlay.setStyle('opacity', MySpaces.OVERLAY_OPACITY);
+ overlay.setStyle('display', 'block');
},
/**
@@ -931,7 +933,10 @@ var MySpaces = {
*/
removeModal: function()
{
- $("spacePanelOverlay").setStyle('opacity', 0);
+ var overlay = $('spacePanelOverlay')
+ overlay.setStyle('opacity', 0);
+ overlay.setStyle('display', 'none');
+ overlay.setStyle('visibility', 'visible');
},
/**