Index: SRUAggregator/trunk/pom.xml
===================================================================
--- SRUAggregator/trunk/pom.xml	(revision 7030)
+++ SRUAggregator/trunk/pom.xml	(revision 7034)
@@ -8,5 +8,5 @@
 	<groupId>eu.clarin.sru.fcs</groupId>
 	<artifactId>aggregator</artifactId>
-	<version>2.0.0-beta-54</version>
+	<version>2.9.90-alpha-56</version>
 	<name>FCS Aggregator</name>
 
@@ -109,4 +109,5 @@
 		    <artifactId>language-detector</artifactId>
 			<version>0.4</version>
+			<!-- version 0.5 is using java 8 features? -->
 			<exclusions>
 				<exclusion>
@@ -120,5 +121,5 @@
 			<groupId>org.apache.poi</groupId>
 			<artifactId>poi-ooxml</artifactId>
-			<version>3.11-beta2</version>
+			<version>3.15-beta2</version>
 		</dependency>
 		<dependency>
Index: SRUAggregator/trunk/src/main/java/eu/clarin/sru/fcs/aggregator/rest/RestService.java
===================================================================
--- SRUAggregator/trunk/src/main/java/eu/clarin/sru/fcs/aggregator/rest/RestService.java	(revision 7030)
+++ SRUAggregator/trunk/src/main/java/eu/clarin/sru/fcs/aggregator/rest/RestService.java	(revision 7034)
@@ -53,5 +53,5 @@
 public class RestService {
 
-	private static final String EXPORT_FILENAME_PREFIX = "ClarinDFederatedContentSearch-";
+	private static final String EXPORT_FILENAME_PREFIX = "ClarinFederatedContentSearch-";
 	private static final String TCF_MEDIA_TYPE = "text/tcf+xml";
 	private static final String EXCEL_MEDIA_TYPE = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
Index: SRUAggregator/trunk/src/main/resources/assets/js/main.jsx
===================================================================
--- SRUAggregator/trunk/src/main/resources/assets/js/main.jsx	(revision 7030)
+++ SRUAggregator/trunk/src/main/resources/assets/js/main.jsx	(revision 7034)
@@ -3,5 +3,5 @@
 "use strict";
 
-var VERSION = window.MyAggregator.VERSION = "v.2.0.0-beta-54";
+var VERSION = window.MyAggregator.VERSION = "v.2.9.90-alpha-56";
 
 var URLROOT = window.MyAggregator.URLROOT =
@@ -411,8 +411,9 @@
 				<div className="top-gap">
 					<h1>Help</h1>
-					<h3>Performing search in FCS corpora</h3>
-					<p>To perform simple keyword search in all CLARIN-D Federated Content Search centres
+					<h3>Performing search in Federated Content Search corpora</h3>
+					<p>To perform a simple keyword search in all CLARIN Federated Content Search centres
 					and their corpora, go to the search field at the top of the page,
-					enter your query, and click 'search' button or press the 'Enter' key.</p>
+					enter your query, and click the 'search' button or press the 'Enter' key.</p>
+					<p>To perform an advanced search on multiple annotation layers in CLARIN Federated Content Search centres that support this, switch to Multi-layer Federated Content Search (FCS) in the dropdown list, enter a FCS query in the search field at the top of the page, and click the 'search' button or press the 'Enter' key.</p>
 
 					<p>When the search starts, the page will start filling in with the corpora responses.
@@ -433,5 +434,5 @@
 					right below the search fiels on the main page. The current options are
 					to filter resources based on their language, to select specific resources, and
-					to set the maximum number of hits.</p>
+					to set the maximum number of hits. In the multi-layer FCS search the supported layers filter on the supported features like, e. g. part of speech or lemma in addition to the other filter options.</p>
 
 
Index: SRUAggregator/trunk/src/main/resources/assets/js/search.jsx
===================================================================
--- SRUAggregator/trunk/src/main/resources/assets/js/search.jsx	(revision 7030)
+++ SRUAggregator/trunk/src/main/resources/assets/js/search.jsx	(revision 7034)
@@ -467,4 +467,5 @@
 			hits: this.nohits,
 			searchId: null,
+		        displayADV: layerId == "fcs" ? true : false,
 			corpora: this.state.corpora, // === this.state.corpora.update();
 		});
@@ -501,4 +502,10 @@
 							       langCode === null;
 						}),
+					advancedLayers: noLangFiltering ? corpusHit.advancedLayers :
+					 	corpusHit.advancedLayers.filter(function(layer) {
+					 		return layer.language === langCode ||
+					 		       langCode === multipleLanguageCode ||
+					 		       langCode === null;
+					 	}),
 				};
 			});
@@ -784,4 +791,5 @@
 		return {
 			displayKwic: false,
+			displayADV: false,
 		};
 	},
@@ -789,4 +797,8 @@
 	toggleKwic: function() {
 		this.setState({displayKwic:!this.state.displayKwic});
+	},
+
+	toggleADV: function() {
+	 	this.setState({displayADV:!this.state.displayADV});
 	},
 
@@ -824,14 +836,18 @@
 	},
 
-	renderRowsAsAdv: function(hit,i) {
-		var sleft={textAlign:"left", verticalAlign:"top", width:"50%"};
-		var scenter={textAlign:"center", verticalAlign:"top", maxWidth:"50%"};
-		var sright={textAlign:"right", verticalAlign:"top", maxWidth:"50%"};
-		return	<tr key={i} className="hitrow">
-					<td>{this.renderRowLanguage(hit)}</td>
-					<td style={sright}>{hit.left}</td>
-					<td style={scenter} className="keyword">{hit.keyword}</td>
-					<td style={sleft}>{hit.right}</td>
-				</tr>;
+	renderRowsAsADV: function(hit,i) {
+	    var sleft={textAlign:"left", verticalAlign:"top", width:"50%"};
+	    var scenter={textAlign:"center", verticalAlign:"top", maxWidth:"50%"};
+	    var sright={textAlign:"right", verticalAlign:"top", maxWidth:"50%"};
+	    
+	    function renderSpans(span, idx) {
+		return <td key={idx} className={span.hit?"keyword":""}>{span.text}</td>;
+	    }
+	    return <tr key={i} className="hitrow">
+	              {this.renderRowLanguage(hit)}
+	              <td style={sleft}>{hit.pid}</td>
+	              <td style={sleft}>{hit.reference}</td>
+	              {hit.spans.map(renderSpans)}
+	           </tr>;
 	},
 
@@ -866,20 +882,29 @@
 
 	renderPanelBody: function(corpusHit) {
-		var fulllength = {width:"100%"};
-		if (this.state.displayKwic) {
-			return 	<div>
-						{this.renderErrors(corpusHit)}
-						{this.renderDiagnostics(corpusHit)}
-						<table className="table table-condensed table-hover" style={fulllength}>
-							<tbody>{corpusHit.kwics.map(this.renderRowsAsKwic)}</tbody>
-						</table>
-					</div>;
-		} else {
-			return	<div>
-						{this.renderErrors(corpusHit)}
-						{this.renderDiagnostics(corpusHit)}
-						{corpusHit.kwics.map(this.renderRowsAsHits)}
-					</div>;
-		}
+	    var fulllength = {width:"100%"};
+
+            if (this.state.displayADV) {
+		return 	<div>
+			    {this.renderErrors(corpusHit)}
+			    {this.renderDiagnostics(corpusHit)}
+			    <table className="table table-condensed table-hover" style={fulllength}>
+				<tbody>{corpusHit.advancedLayers.map(this.renderRowsAsADV)}</tbody>
+			    </table>
+		</div>;
+	    } else if (this.state.displayKwic) {
+		return 	<div>
+		    {this.renderErrors(corpusHit)}
+		    {this.renderDiagnostics(corpusHit)}
+		    <table className="table table-condensed table-hover" style={fulllength}>
+			<tbody>{corpusHit.kwics.map(this.renderRowsAsKwic)}</tbody>
+		    </table>
+		</div>;
+	    } else  {
+		return	<div>
+		    {this.renderErrors(corpusHit)}
+		    {this.renderDiagnostics(corpusHit)}
+		    {corpusHit.kwics.map(this.renderRowsAsHits)}
+		</div>;
+	    }
 	},
 
@@ -898,14 +923,14 @@
 
 	renderDisplayADV: function() {
-		return 	<div className="inline btn-group" style={{display:"inline-block"}}>
-					<label forHtml="inputKwic" className="btn btn-flat">
-						{ this.state.displayKwic ?
-							<input id="inputKwic" type="checkbox" value="kwic" checked onChange={this.toggleKwic} /> :
-							<input id="inputKwic" type="checkbox" value="kwic" onChange={this.toggleKwic} />
-						}
-						&nbsp;
-						Display as AdvancedDataView
-					</label>
-				</div>;
+	 	return 	<div className="inline btn-group" style={{display:"inline-block"}}>
+	 				<label forHtml="inputADV" className="btn btn-flat">
+	 					{ this.state.displayADV ?
+	 						<input id="inputADV" type="checkbox" value="adv" checked onChange={this.toggleADV} /> :
+	 						<input id="inputADV" type="checkbox" value="adv" onChange={this.toggleADV} />
+	 					}
+	 					&nbsp;
+	 					Display as AdvancedDataView (ADV)
+	 				</label>
+	 			</div>;
 	},
 
@@ -1041,5 +1066,6 @@
 							<div className="float-right">
 								<div>
-									{ this.renderDisplayKWIC() }
+									{this.renderDisplayKWIC()}
+									{this.renderDisplayADV()}
 									<div className="inline"> {this.renderDownloadLinks(corpusHit.corpus.id)} </div>
 									<div className="inline"> {this.renderToWeblichtLinks(corpus.id, forceLanguage, wlerror)} </div>
@@ -1136,5 +1162,6 @@
 								<div className="float-right">
 									<div>
-										{ this.renderDisplayKWIC() }
+										{this.renderDisplayKWIC()}
+										{this.renderDisplayADV()}
 										{ collhits.inProgress === 0 ?
 											<div className="inline"> {this.renderDownloadLinks()} </div>
