Commit dd68f512 authored by Emilien Bondu's avatar Emilien Bondu

WEBLAB-982, WEBLAB-1087, WEBLAB-466. Version 2.1.0. Use weblab taglib for...

WEBLAB-982, WEBLAB-1087, WEBLAB-466. Version 2.1.0. Use weblab taglib for retrieving + rendering RDF properties values. Code cleaning.

git-svn-id: svn://svn.forge.objectweb.org/svnroot/weblab/trunk/WebLabServices/Portlets/metadata-portlet@3759 a803c184-d8de-4a0e-a52b-d3eef88212b6
parent ad1e2b9a
......@@ -4,12 +4,12 @@
<parent>
<groupId>org.ow2.weblab.portlets</groupId>
<artifactId>parent</artifactId>
<version>1.2.5</version>
<version>1.2.6</version>
</parent>
<groupId>org.ow2.weblab.portlets</groupId>
<artifactId>weblab-metaview</artifactId>
<version>2.0.0</version>
<version>2.1.0</version>
<packaging>war</packaging>
<name>WebLab Metaview</name>
......@@ -51,6 +51,16 @@
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
</dependency>
<dependency>
<groupId>org.ow2.weblab.components</groupId>
<artifactId>weblab-taglib</artifactId>
<version>0.0.1</version>
</dependency>
<dependency>
<groupId>org.ow2.weblab.core</groupId>
<artifactId>annotator</artifactId>
<version>1.2.7</version>
</dependency>
</dependencies>
<description>This portlet displays WebLab resources metadata.</description>
......
package org.ow2.weblab.portlet.business.bean;
/**
* WEBLAB: Service oriented integration platform for media mining and intelligence applications
*
* Copyright (C) 2004 - 2012 Cassidian, an EADS company
*
*
* Copyright (C) 2004 - 2014 Airbus Defence and Space
*
* This library is free software; you can redistribute it and/or modify it under the terms of
* the GNU Lesser General Public License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
*
* This library 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 Lesser General Public License for more details.
*
*
* You should have received a copy of the GNU Lesser General Public License along with this
* library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
* Floor, Boston, MA 02110-1301 USA
*/
package org.ow2.weblab.portlet.business.bean;
import java.util.Map;
import java.util.TreeMap;
......
package org.ow2.weblab.portlet.business.bean;
/**
* WEBLAB: Service oriented integration platform for media mining and intelligence applications
*
* Copyright (C) 2004 - 2012 Cassidian, an EADS company
*
*
* Copyright (C) 2004 - 2014 Airbus Defence and Space
*
* This library is free software; you can redistribute it and/or modify it under the terms of
* the GNU Lesser General Public License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
*
* This library 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 Lesser General Public License for more details.
*
*
* You should have received a copy of the GNU Lesser General Public License along with this
* library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
* Floor, Boston, MA 02110-1301 USA
*/
package org.ow2.weblab.portlet.business.bean;
import java.util.Map;
/**
......
/**
* WEBLAB: Service oriented integration platform for media mining and intelligence applications
*
* Copyright (C) 2004 - 2013 Cassidian, an EADS company
*
*
* Copyright (C) 2004 - 2014 Airbus Defence and Space
*
* This library is free software; you can redistribute it and/or modify it under the terms of
* the GNU Lesser General Public License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
*
* This library 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 Lesser General Public License for more details.
*
*
* You should have received a copy of the GNU Lesser General Public License along with this
* library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
* Floor, Boston, MA 02110-1301 USA
......@@ -20,22 +20,8 @@ package org.ow2.weblab.portlet.business.bean;
public class ServiceConfBean {
private String wsdlURL;
private String serviceURL;
private String serviceURI;
public String getWsdlURL() {
return wsdlURL;
}
public void setWsdlURL(String wsdlURL) {
this.wsdlURL = wsdlURL;
}
public String getServiceURL() {
return serviceURL;
}
public void setServiceURL(String serviceURL) {
this.serviceURL = serviceURL;
}
public String getServiceURI() {
return serviceURI;
}
......
/**
* WEBLAB: Service oriented integration platform for media mining and intelligence applications
*
* Copyright (C) 2004 - 2012 Cassidian, an EADS company
*
*
* Copyright (C) 2004 - 2014 Airbus Defence and Space
*
* This library is free software; you can redistribute it and/or modify it under the terms of
* the GNU Lesser General Public License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
*
* This library 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 Lesser General Public License for more details.
*
*
* You should have received a copy of the GNU Lesser General Public License along with this
* library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
* Floor, Boston, MA 02110-1301 USA
......@@ -18,14 +18,13 @@
package org.ow2.weblab.portlet.business.service;
import java.util.List;
import java.util.Map;
import org.ow2.weblab.core.model.PieceOfKnowledge;
import org.ow2.weblab.core.model.Resource;
import org.ow2.weblab.core.services.ContentNotAvailableException;
public interface MetaViewBusinessServices {
public Map<String, List<String>> getResourceDescription(Resource resource, String remoteUser, String[] properties) throws ContentNotAvailableException;
public Resource getWLResource(String docURI, String remoteUser) throws ContentNotAvailableException;
public String getURIFromPoK(PieceOfKnowledge pok);
}
/**
* WEBLAB: Service oriented integration platform for media mining and intelligence applications
*
* Copyright (C) 2004 - 2012 Cassidian, an EADS company
*
* This library is free software; you can redistribute it and/or modify it under the terms of
* the GNU Lesser General Public License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library 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 Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License along with this
* library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
* Floor, Boston, MA 02110-1301 USA
*/
package org.ow2.weblab.portlet.business.service.impl;
import java.util.List;
import java.util.Map;
import org.ow2.weblab.core.model.Resource;
import org.ow2.weblab.core.services.ContentNotAvailableException;
import org.ow2.weblab.portlet.business.service.MetaViewBusinessServices;
public class SPARQLBusinessServicesImpl implements MetaViewBusinessServices {
@Override
public Map<String, List<String>> getResourceDescription(Resource resource, String remoteUser, String[] properties)
throws ContentNotAvailableException {
// TODO Auto-generated method stub
return null;
}
}
/**
* WEBLAB: Service oriented integration platform for media mining and intelligence applications
*
* Copyright (C) 2004 - 2012 Cassidian, an EADS company
*
*
* Copyright (C) 2004 - 2014 Airbus Defence and Space
*
* This library is free software; you can redistribute it and/or modify it under the terms of
* the GNU Lesser General Public License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
*
* This library 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 Lesser General Public License for more details.
*
*
* You should have received a copy of the GNU Lesser General Public License along with this
* library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
* Floor, Boston, MA 02110-1301 USA
*/
package org.ow2.weblab.portlet.business.service.impl;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
package org.ow2.weblab.portlet.business.service.impl;
import javax.portlet.PortletContext;
......@@ -33,8 +29,6 @@ import org.ow2.weblab.core.extended.ontologies.WebLabRetrieval;
import org.ow2.weblab.core.helper.impl.AdvancedSelector;
import org.ow2.weblab.core.helper.impl.RDFSelectorFactory;
import org.ow2.weblab.core.helper.impl.Statements;
import org.ow2.weblab.core.helper.impl.WTriple;
import org.ow2.weblab.core.model.MediaUnit;
import org.ow2.weblab.core.model.PieceOfKnowledge;
import org.ow2.weblab.core.model.Resource;
import org.ow2.weblab.core.services.ContentNotAvailableException;
......@@ -63,43 +57,8 @@ public class WSBusinessServicesImpl implements MetaViewBusinessServices {
@Autowired
private PortletContext context;
@SuppressWarnings("unchecked")
public Map<String, List<String>> getResourceDescription(Resource resource, String remoteUser, String[] properties) throws ContentNotAvailableException {
if (resource instanceof PieceOfKnowledge) {
// getting the document URI from pok using RDFSelector
String docURI = getURIFromPoK((PieceOfKnowledge)resource);
if (docURI != null) {
// loading resource
logger.info("context :"+context+" configuration:"+configuration);
resource = getWLResource(docURI, remoteUser);
}
}
if (resource instanceof MediaUnit) {
// getting rdf description map using selector
Statements mediaUnitWTMap = null;
HashMap<String, List<String>> resourceDescMap = new HashMap<String, List<String>>();
AdvancedSelector rdfSelector = RDFSelectorFactory.getSelector(true);
rdfSelector.limitToFirstLevelAnnotation(true);
mediaUnitWTMap = rdfSelector.searchFor(resource, properties);
// filling result map
for (WTriple statement : mediaUnitWTMap.get(resource.getUri()).getStatements()) {
LinkedList<String> l = new LinkedList<String>();
if (mediaUnitWTMap.get(resource.getUri()).getValue(statement.getPredicate()) instanceof List<?>) {
l.addAll((List<String>)mediaUnitWTMap.get(resource.getUri()).getValue(statement.getPredicate()));
} else {
l.add((String) mediaUnitWTMap.get(resource.getUri()).getValue(statement.getPredicate()));
}
resourceDescMap.put(statement.getPredicate(), l);
}
return resourceDescMap;
}
return null;
}
private Resource getWLResource(String docURI, String remoteUser) throws ContentNotAvailableException {
public Resource getWLResource(String docURI, String remoteUser) throws ContentNotAvailableException {
// getting resource from repository
LoadResourceArgs args = new LoadResourceArgs();
args.setResourceId(docURI);
......@@ -144,7 +103,7 @@ public class WSBusinessServicesImpl implements MetaViewBusinessServices {
* @param pok
* @return URI if exist null otherwise
*/
private static String getURIFromPoK(PieceOfKnowledge pok) {
public String getURIFromPoK(PieceOfKnowledge pok) {
if (pok != null) {
AdvancedSelector rdfSelector = RDFSelectorFactory.getSelector(true);
Statements map = rdfSelector.searchFor(pok, WebLabRetrieval.IS_LINKED_TO);
......
/**
* WEBLAB: Service oriented integration platform for media mining and intelligence applications
*
* Copyright (C) 2004 - 2012 Cassidian, an EADS company
*
*
* Copyright (C) 2004 - 2014 Airbus Defence and Space
*
* This library is free software; you can redistribute it and/or modify it under the terms of
* the GNU Lesser General Public License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
*
* This library 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 Lesser General Public License for more details.
*
*
* You should have received a copy of the GNU Lesser General Public License along with this
* library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
* Floor, Boston, MA 02110-1301 USA
*/
package org.ow2.weblab.portlet.mvc.spring.controller;
import java.net.URL;
......@@ -65,7 +66,7 @@ import org.springframework.web.portlet.bind.annotation.ResourceMapping;
@Controller
@RequestMapping(value="VIEW")
@SessionAttributes({"resource", "resourceDesc", "isEmptyModel", "isLoadedMap", "rdfProperties", "metaDisplay"})
@SessionAttributes({"resource", "isEmptyModel", "isLoadedResource", "rdfProperties", "metaDisplay"})
public class MetaViewContoller {
// attributes
......@@ -114,7 +115,7 @@ public class MetaViewContoller {
model.addAttribute("resource", (Document) request.getEvent().getValue());
model.addAttribute("resourceDesc", new HashMap<String, List<String>>());
model.addAttribute("isLoadedMap", false);
model.addAttribute("isLoadedResource", false);
model.addAttribute("isEmptyModel", false);
}
......@@ -126,7 +127,7 @@ public class MetaViewContoller {
model.addAttribute("resource", (PieceOfKnowledge) request.getEvent().getValue());
model.addAttribute("resourceDesc", new HashMap<String, List<String>>());
model.addAttribute("isLoadedMap", false);
model.addAttribute("isLoadedResource", false);
model.addAttribute("isEmptyModel", false);
//response.setEvent(QName.valueOf("{http://weblab.ow2.org/portlet/metaview/action}sendUnloadedDocument"), (PieceOfKnowledge)model.get("resource"));
......@@ -148,18 +149,21 @@ public class MetaViewContoller {
logger.debug("serving the metadata content table from resource :"+resource.getUri());
// loading map if needed
boolean isLoadedMap = false;
if (model != null && model.containsAttribute("isLoadedMap")) {
isLoadedMap = (Boolean)model.get("isLoadedMap");
boolean isLoadedDocument = false;
if (model != null && model.containsAttribute("isLoadedResource")) {
isLoadedDocument = (Boolean)model.get("isLoadedResource");
}
// adding map to model
if (!isLoadedMap) {
mav.getModelMap().addAttribute("resourceDesc",
metaviewBusinessService.getResourceDescription(resource,
request.getRemoteUser(),
rdfProperties.getDisctinctAnnotationsNS()));
mav.getModelMap().addAttribute("isLoadedMap", true);
if (!isLoadedDocument) {
// loading resource from pok by calling service
mav.getModelMap().addAttribute("resource",
metaviewBusinessService.getWLResource(
metaviewBusinessService.getURIFromPoK((PieceOfKnowledge) resource),
request.getRemoteUser()));
mav.getModelMap().addAttribute("isLoadedResource", true);
}
return mav;
}
......
javax.portlet.title= Metadata view Portlet
javax.portlet.description= Powered By WebLab
portlet.title = Metadata view
portlet.warning.session_expired = Session expired
meta.defaultTitle = Title unavailable
meta.metadata = meta-data
meta.hasNativeContent = Native Content
meta.hasNormalisedContent = Normalised Content
meta.isGeneratedFrom = Generated from
meta.isProducedFrom = Produced from
meta.isResultOf = Result of
meta.hasNumberOfResults = Number of results
meta.isExposedAs = Exposed as
meta.title = Title
meta.creator = Creator
meta.abstract = Summary
meta.catego = Category
meta.subject = Subject
meta.description = Description
meta.publisher = Publisher
meta.contibutor = Contributor
meta.date = Date
meta.type = Type
meta.format = Format
meta.identifier = Identifier
meta.source = Source
meta.language = Language
meta.relation = Relation
meta.coverage = Coverage
meta.right = Right
meta.modified = Modification date
meta.created = Creation date
meta.hasRank = Rank
meta.hasDescription = Description
meta.hasScore = Score
meta.gatheringDate = Gathering date
meta.extent = Media extension
meta.projectName = Crawling project name
meta.hasOriginalFileSize = Original file size
meta.refersTo = Refers to
meta.seeAlso = See also
portlet.not_sortable_results = Warning, results are not sortable but are displayed as a list!
meta.hasNativeContent = Native Content&nbsp;:
meta.hasNormalisedContent = Normalised Content&nbsp;:
meta.isGeneratedFrom = Generated from&nbsp;:
meta.isProducedFrom = Produced from&nbsp;:
meta.isResultOf = Result of&nbsp;:
meta.hasNumberOfResults = Number of results&nbsp;:
meta.isExposedAs = Exposed as&nbsp;:
meta.title = Title&nbsp;:
meta.creator = Creator&nbsp;:
meta.abstract = Summary&nbsp;:
meta.catego = Category&nbsp;:
meta.subject = Subject&nbsp;:
meta.description = Description&nbsp;:
meta.publisher = Publisher&nbsp;:
meta.contibutor = Contributor&nbsp;:
meta.date = Date&nbsp;:
meta.type = Type&nbsp;:
meta.format = Format&nbsp;:
meta.identifier = Identifier&nbsp;:
meta.source = Source&nbsp;:
meta.language = Language&nbsp;:
meta.relation = Relation&nbsp;:
meta.coverage = Coverage&nbsp;:
meta.right = Right&nbsp;:
meta.modified = Modification date&nbsp;:
meta.created = Creation date&nbsp;:
meta.hasRank = Rank&nbsp;:
meta.hasDescription = Description&nbsp;:
meta.hasScore = Score&nbsp;:
meta.gatheringDate = Gathering date&nbsp;:
meta.extent = Media extension&nbsp;:
meta.projectName = Crawling project name&nbsp;:
meta.hasOriginalFileSize = Original file size&nbsp;:
meta.refersTo = Refers to&nbsp;:
meta.seeAlso = See also&nbsp;:
portlet.meta.configuration = Displayed meta-data
meta.save_config = Save
portlet.no_meta = No meta-data to display
portlet.leave = You are going to leave the WebLab Platform, are you sure you want to access external networks ?
meta.language.en = English
meta.language.fr = French
meta.language.de = German
meta.language.ar = Arabic
meta.language.es = Spanish
meta.language.gr = Greek
meta.language.ir = Iranian
meta.language.in = Indian
meta.language.hr = Croate
meta.language.it = Italian
meta.language.jp = Japanese
meta.language.ko = Korea
meta.language.nl = Nederland
meta.language.pt = Portugais
meta.language.ru = Russian
meta.language.ch = Chinese
\ No newline at end of file
portlet.leave = You are going to leave the WebLab Platform, are you sure you want to access external networks ?
\ No newline at end of file
......@@ -2,61 +2,43 @@ javax.portlet.title = Meta-Daten Ansicht Portlet
portlet.title = Meta-Daten Ansicht
portlet.warning.session_expired = Sitzung abgelaufen
meta.defaultTitle = Titel nicht verfgbar
meta.metadata = Metadaten
meta.hasNativeContent = Native Inhalt
meta.hasNormalisedContent = Normalisierter Inhalt
meta.isGeneratedFrom = Generiert aus
meta.isProducedFrom = Verarbeitet aus
meta.isResultOf = Ergebnis von
meta.hasNumberOfResults = Anzahl der Ergebnisse
meta.isExposedAs = Dargestellt als
meta.title = Titel
meta.creator = Verfasser
meta.abstract = Zusammenfassung
meta.catego = Kategorie
meta.subject = Thema
meta.description = Beschreibung
meta.publisher = Verffentlicht bei
meta.contibutor = Beitrag
meta.date = Datum
meta.type = Art
meta.format = Format
meta.identifier = Identifizierung
meta.source = Quelle
meta.language = Sprache
meta.relation = Verhltnis
meta.coverage = Berichterstattung
meta.right = Recht
meta.modified = nderungsdatum
meta.created = Verfassungsdatum
meta.hasRank = Rang
meta.hasDescription = Beschreibung
meta.hasScore = Ergebnis
meta.gatheringDate = Sammlungsdatum
meta.extent = Medien Verbreitung
meta.projectName = Bestehender Projektname
meta.hasOriginalFileSize = Originale Verzeichnisgre
meta.refersTo = Bezieht sich auf
meta.seeAlso = Siehe auch
portlet.not_sortable_results = Achtung, Ergebnisse sind nicht sortierbar, werden aber als Liste dargestellt!
meta.metadata = Metadaten&nbsp;:
meta.hasNativeContent = Native Inhalt&nbsp;:
meta.hasNormalisedContent = Normalisierter Inhalt&nbsp;:
meta.isGeneratedFrom = Generiert aus&nbsp;:
meta.isProducedFrom = Verarbeitet aus&nbsp;:
meta.isResultOf = Ergebnis von&nbsp;:
meta.hasNumberOfResults = Anzahl der Ergebnisse&nbsp;:
meta.isExposedAs = Dargestellt als&nbsp;:
meta.title = Titel&nbsp;:
meta.creator = Verfasser&nbsp;:
meta.abstract = Zusammenfassung&nbsp;:
meta.catego = Kategorie&nbsp;:
meta.subject = Thema&nbsp;:
meta.description = Beschreibung&nbsp;:
meta.publisher = Verffentlicht bei&nbsp;:
meta.contibutor = Beitrag&nbsp;:
meta.date = Datum&nbsp;:
meta.type = Art&nbsp;:
meta.format = Format&nbsp;:
meta.identifier = Identifizierung&nbsp;:
meta.source = Quelle&nbsp;:
meta.language = Sprache&nbsp;:
meta.relation = Verhltnis&nbsp;:
meta.coverage = Berichterstattung&nbsp;:
meta.right = Recht&nbsp;:
meta.modified = nderungsdatum&nbsp;:
meta.created = Verfassungsdatum&nbsp;:
meta.hasRank = Rang&nbsp;:
meta.hasDescription = Beschreibung&nbsp;:
meta.hasScore = Ergebnis&nbsp;:
meta.gatheringDate = Sammlungsdatum&nbsp;:
meta.extent = Medien Verbreitung&nbsp;:
meta.projectName = Bestehender Projektname&nbsp;:
meta.hasOriginalFileSize = Originale Verzeichnisgre&nbsp;:
meta.refersTo = Bezieht sich auf&nbsp;:
meta.seeAlso = Siehe auch&nbsp;:
portlet.meta.configuration = Dargestellte Meta-Daten
meta.save_config = Speichern
portlet.no_meta = Keine Meta-Daten zum Darstellen
meta.language.en = Englisch
meta.language.fr = Franzsisch
meta.language.de = Deutsch
meta.language.ar = Arabisch
meta.language.es = Spanisch
meta.language.gr = Griechisch
meta.language.ir = Iranisch
meta.language.in = Indisch
meta.language.hr = Kroatisch
meta.language.it = Italienisch
meta.language.jp = Japanisch
meta.language.ko = Koreanisch
meta.language.nl = Niederlndisch
meta.language.pt = Portugiesisch
meta.language.ru = Russisch
meta.language.ch = Chinesisch
\ No newline at end of file
portlet.no_meta = Keine Meta-Daten zum Darstellen
\ No newline at end of file
......@@ -4,61 +4,43 @@ portlet.title = Metadata view
portlet.warning.session_expired = Session expired
meta.defaultTitle = Title unavailable
meta.metadata = meta-data
meta.hasNativeContent = Native Content
meta.hasNormalisedContent = Normalised Content
meta.isGeneratedFrom = Generated from
meta.isProducedFrom = Produced from
meta.isResultOf = Result of
meta.hasNumberOfResults = Number of results
meta.isExposedAs = Exposed as
meta.title = Title
meta.creator = Creator
meta.abstract = Summary
meta.catego = Category
meta.subject = Subject
meta.description = Description
meta.publisher = Publisher
meta.contibutor = Contributor
meta.date = Date
meta.type = Type
meta.format = Format
meta.identifier = Identifier
meta.source = Source
meta.language = Language
meta.relation = Relation
meta.coverage = Coverage
meta.right = Right
meta.modified = Modification date
meta.created = Creation date
meta.hasRank = Rank
meta.hasDescription = Description
meta.hasScore = Score
meta.gatheringDate = Gathering date
meta.extent = Media extension
meta.projectName = Crawling project name
meta.hasOriginalFileSize = Original file size
meta.refersTo = Refers to
meta.seeAlso = See also
portlet.not_sortable_results = Warning, results are not sortable but are displayed as a list!
meta.hasNativeContent = Native Content&nbsp;:
meta.hasNormalisedContent = Normalised Content&nbsp;:
meta.isGeneratedFrom = Generated from&nbsp;:
meta.isProducedFrom = Produced from&nbsp;:
meta.isResultOf = Result of&nbsp;:
meta.hasNumberOfResults = Number of results&nbsp;:
meta.isExposedAs = Exposed as&nbsp;:
meta.title = Title&nbsp;: