diff --git a/harvesters/src/main/java/org/fao/geonet/kernel/harvest/harvester/AbstractHarvester.java b/harvesters/src/main/java/org/fao/geonet/kernel/harvest/harvester/AbstractHarvester.java index 13f4913424c..8871f48a2b0 100644 --- a/harvesters/src/main/java/org/fao/geonet/kernel/harvest/harvester/AbstractHarvester.java +++ b/harvesters/src/main/java/org/fao/geonet/kernel/harvest/harvester/AbstractHarvester.java @@ -491,7 +491,7 @@ protected synchronized OperResult harvest() { this.log.info("Starting harvesting of " + this.getParams().name); error = null; errors.clear(); - final Logger logger = Log.createLogger(Geonet.HARVESTER); + final Logger logger = this.log; final String nodeName = getParams().name + " (" + getClass().getSimpleName() + ")"; final String lastRun = new DateTime().withZone(DateTimeZone.forID("UTC")).toString(); try { @@ -562,7 +562,8 @@ private void logHarvest(String logfile, Logger logger, String nodeName, String l .setHarvesterUuid(getParams().uuid) .setElapsedTime((int) elapsedTime) .setHarvestDate(new ISODate(lastRun)) - .setParams(getParams().node); + .setParams(getParams().node) + .setInfo(result); historyRepository.save(history); diff --git a/harvesters/src/main/java/org/fao/geonet/kernel/harvest/harvester/geonet/Harvester.java b/harvesters/src/main/java/org/fao/geonet/kernel/harvest/harvester/geonet/Harvester.java index 0fa055bb35c..ff17a3d3fd7 100644 --- a/harvesters/src/main/java/org/fao/geonet/kernel/harvest/harvester/geonet/Harvester.java +++ b/harvesters/src/main/java/org/fao/geonet/kernel/harvest/harvester/geonet/Harvester.java @@ -256,11 +256,14 @@ private Element doSearch(XmlRequest request, Search s) throws OperationAbortedEx harvestError.setHint("Check with your administrator."); this.errors.add(harvestError); throw new OperationAbortedEx("Raised exception when searching", e); - } - catch(Exception e) - { - log.warning("Raised exception when searching : "+ e); - throw new OperationAbortedEx("Raised exception when searching", e); + } catch(Exception e) { + HarvestError harvestError = new HarvestError(e, log); + harvestError.setDescription("Error while searching on " + + params.name + ". "); + harvestError.setHint("Check with your administrator."); + this.errors.add(harvestError); + log.warning("Raised exception when searching : "+ e); + return new Element("response"); } } diff --git a/harvesters/src/main/java/org/fao/geonet/kernel/harvest/harvester/geonet/Search.java b/harvesters/src/main/java/org/fao/geonet/kernel/harvest/harvester/geonet/Search.java index f1c167a97c7..fa37ca4bef6 100644 --- a/harvesters/src/main/java/org/fao/geonet/kernel/harvest/harvester/geonet/Search.java +++ b/harvesters/src/main/java/org/fao/geonet/kernel/harvest/harvester/geonet/Search.java @@ -23,11 +23,19 @@ package org.fao.geonet.kernel.harvest.harvester.geonet; +import com.google.common.base.Splitter; +import org.fao.geonet.Logger; import org.fao.geonet.Util; +import org.fao.geonet.constants.Geonet; import org.fao.geonet.exceptions.BadParameterEx; +import org.fao.geonet.exceptions.OperationAbortedEx; import org.fao.geonet.lib.Lib; +import org.fao.geonet.utils.Log; +import org.fao.geonet.utils.Xml; import org.jdom.Element; +import java.util.Iterator; + //============================================================================= class Search @@ -37,8 +45,8 @@ class Search //--- Constructor //--- //--------------------------------------------------------------------------- - - public Search() {} + public Search() { + } //--------------------------------------------------------------------------- @@ -94,7 +102,24 @@ public Element createRequest() add(req, "abstract", abstrac); add(req, "themekey", keywords); add(req, "siteId", sourceUuid); - add(req, anyField, anyValue); + + try { + Iterable fields = Splitter.on(';').split(anyField); + Iterable values = Splitter.on(';').split(anyValue); + Iterator valuesIterator = values.iterator(); + for (String field : fields) { + String value = valuesIterator.next(); + if (field != null && value != null) { + add(req, field, value); + } + } + } catch (Exception e) { + throw new OperationAbortedEx("Search request criteria error. " + + "Check that the free criteria fields '" + + anyField + "' and values '" + + anyValue + "' are correct. You MUST have the same " + + "number of criteria and values.", e); + } if (digital) Lib.element.add(req, "digital", "on"); diff --git a/web-ui/src/main/resources/catalog/components/utility/UtilityDirective.js b/web-ui/src/main/resources/catalog/components/utility/UtilityDirective.js index 22172016eb0..22564b3f278 100644 --- a/web-ui/src/main/resources/catalog/components/utility/UtilityDirective.js +++ b/web-ui/src/main/resources/catalog/components/utility/UtilityDirective.js @@ -224,4 +224,107 @@ } }; }); + + + /** + * @ngdoc directive + * @name gn_utility_directive.directive:gnPaginationList + * @function + * + * @description + * Adjust textarea size onload and when text change. + * + * Source: http://www.frangular.com/2012/12/ + * pagination-cote-client-directive-angularjs.html + */ + module.factory('gnPaginationListStateCache', ['$cacheFactory', + function($cacheFactory) { + return $cacheFactory('gnPaginationListStateCache'); + }]); + module.directive('gnPaginationList', ['gnPaginationListStateCache', + function(gnPaginationListStateCache) { + var pageSizeLabel = 'Page size'; + return { + priority: 0, + restrict: 'A', + scope: {items: '&'}, + templateUrl: '../../catalog/components/utility/' + + 'partials/paginationlist.html', + replace: false, + compile: function compile(tElement, tAttrs) { + var cacheId = tAttrs.cache ? tAttrs.cache + '.paginator' : ''; + return { + pre: function preLink(scope) { + scope.pageSizeList = [10, 20, 50, 100]; + var defaultSettings = { + pageSize: 10, + currentPage: 0 + }; + scope.paginator = cacheId ? + gnPaginationListStateCache.get(cacheId) || defaultSettings : + defaultSettings; + if (cacheId) { + gnPaginationListStateCache.put(cacheId, scope.paginator); + } + scope.isFirstPage = function() { + return scope.paginator.currentPage == 0; + }; + scope.isLastPage = function() { + if (scope.items()) { + return scope.paginator.currentPage >= + scope.items().length / scope.paginator.pageSize - 1; + } else { + return false; + } + }; + scope.incPage = function() { + if (!scope.isLastPage()) { + scope.paginator.currentPage++; + } + }; + scope.decPage = function() { + if (!scope.isFirstPage()) { + scope.paginator.currentPage--; + } + }; + scope.firstPage = function() { + scope.paginator.currentPage = 0; + }; + scope.numberOfPages = function() { + if (scope.items()) { + return Math.ceil(scope.items().length / + scope.paginator.pageSize); + } else { + return 0; + } + }; + scope.$watch('paginator.pageSize', + function(newValue, oldValue) { + if (newValue != oldValue) { + scope.firstPage(); + } + }); + + // ---- Functions available in parent scope ----- + + scope.$parent.firstPage = function() { + scope.firstPage(); + }; + // Function that returns the reduced items list, + // to use in ng-repeat + scope.$parent.pageItems = function() { + if (scope.items()) { + var start = scope.paginator.currentPage * + scope.paginator.pageSize; + var limit = scope.paginator.pageSize; + return scope.items().slice(start, start + limit); + } else { + return null; + } + }; + } + }; + } + }; + }]); })(); diff --git a/web-ui/src/main/resources/catalog/components/utility/partials/paginationlist.html b/web-ui/src/main/resources/catalog/components/utility/partials/paginationlist.html new file mode 100644 index 00000000000..79ffeb176c9 --- /dev/null +++ b/web-ui/src/main/resources/catalog/components/utility/partials/paginationlist.html @@ -0,0 +1,18 @@ +
    +
  • + previous
  • +
  • {{paginator.currentPage+1}} / {{numberOfPages()}}
  • +
  • + next
  • + + + + +
\ No newline at end of file diff --git a/web-ui/src/main/resources/catalog/js/admin/CSWVirtualController.js b/web-ui/src/main/resources/catalog/js/admin/CSWVirtualController.js index 05f900c9ae4..6ba70e58daf 100644 --- a/web-ui/src/main/resources/catalog/js/admin/CSWVirtualController.js +++ b/web-ui/src/main/resources/catalog/js/admin/CSWVirtualController.js @@ -12,13 +12,13 @@ * */ module.controller('GnCSWVirtualController', [ - '$scope', '$http', '$rootScope', '$translate', - function($scope, $http, $rootScope, $translate) { + '$scope', '$http', '$rootScope', '$translate', '$timeout', + function($scope, $http, $rootScope, $translate, $timeout) { /** * CSW virtual */ - $scope.cswVirtual = {}; + $scope.cswVirtual = null; $scope.virtualCSWSelected = null; $scope.virtualCSWUpdated = false; $scope.virtualCSWSearch = ''; @@ -74,6 +74,10 @@ serviceParameters[param['@name']] = param['#text']; }); $scope.virtualCSWUpdated = false; + + $timeout(function() { + $('#servicename').focus(); + }, 100); }).error(function(data) { // TODO }); @@ -97,6 +101,10 @@ 'type': '' } }; + + $timeout(function() { + $('#servicename').focus(); + }, 100); }; $scope.saveVirtualCSW = function(formId) { diff --git a/web-ui/src/main/resources/catalog/js/admin/CategoriesController.js b/web-ui/src/main/resources/catalog/js/admin/CategoriesController.js index 90655f737a5..484b79ea933 100644 --- a/web-ui/src/main/resources/catalog/js/admin/CategoriesController.js +++ b/web-ui/src/main/resources/catalog/js/admin/CategoriesController.js @@ -10,8 +10,10 @@ * to manage category. */ module.controller('GnCategoriesController', [ - '$scope', '$routeParams', '$http', '$rootScope', '$translate', - function($scope, $routeParams, $http, $rootScope, $translate) { + '$scope', '$routeParams', '$http', '$rootScope', + '$translate', '$timeout', + function($scope, $routeParams, $http, $rootScope, + $translate, $timeout) { $scope.categories = null; $scope.categorySelected = {id: $routeParams.categoryId}; @@ -21,6 +23,9 @@ $scope.selectCategory = function(c) { $scope.cateroryUpdated = false; $scope.categorySelected = c; + $timeout(function() { + $('#categoryname').focus(); + }, 100); }; @@ -71,6 +76,9 @@ '@id': '', name: '' }; + $timeout(function() { + $('#categoryname').focus(); + }, 100); }; $scope.unselectCategory = function() { diff --git a/web-ui/src/main/resources/catalog/js/admin/HarvestController.js b/web-ui/src/main/resources/catalog/js/admin/HarvestController.js index 09cc9354d50..b48df674572 100644 --- a/web-ui/src/main/resources/catalog/js/admin/HarvestController.js +++ b/web-ui/src/main/resources/catalog/js/admin/HarvestController.js @@ -28,35 +28,44 @@ tabs: [] }; $scope.harvesterTypes = {}; - $scope.harvesters = {}; + $scope.harvesters = null; $scope.harvesterSelected = null; $scope.harvesterUpdated = false; $scope.harvesterNew = false; $scope.harvesterHistory = {}; + $scope.isLoadingHarvester = false; + $scope.isLoadingHarvesterHistory = false; var unbindStatusListener = null; function loadHarvesters() { + $scope.isLoadingHarvester = true; + $scope.harvesters = null; return $http.get('admin.harvester.list@json').success(function(data) { if (data != 'null') { $scope.harvesters = data; gnUtilityService.parseBoolean($scope.harvesters); } + $scope.isLoadingHarvester = false; }).error(function(data) { // TODO + $scope.isLoadingHarvester = false; }); } function loadHistory() { + $scope.isLoadingHarvesterHistory = true; $scope.harvesterHistory = undefined; $http.get('admin.harvester.history@json?uuid=' + $scope.harvesterSelected.site.uuid).success(function(data) { $scope.harvesterHistory = data.harvesthistory; + $scope.isLoadingHarvesterHistory = false; }).error(function(data) { // TODO + $scope.isLoadingHarvesterHistory = false; }); } diff --git a/web-ui/src/main/resources/catalog/js/admin/ThesaurusController.js b/web-ui/src/main/resources/catalog/js/admin/ThesaurusController.js index e0907b51ba3..0d88f3ee8ff 100644 --- a/web-ui/src/main/resources/catalog/js/admin/ThesaurusController.js +++ b/web-ui/src/main/resources/catalog/js/admin/ThesaurusController.js @@ -95,6 +95,8 @@ creatingThesaurus = false; $scope.thesaurusSelected = t; $scope.thesaurusSelectedActivated = t.activated == 'y'; + + $('#keywordFilter').focus(); searchThesaurusKeyword(); }; diff --git a/web-ui/src/main/resources/catalog/js/admin/UserGroupController.js b/web-ui/src/main/resources/catalog/js/admin/UserGroupController.js index 55bf548afc6..214b18b9cd0 100644 --- a/web-ui/src/main/resources/catalog/js/admin/UserGroupController.js +++ b/web-ui/src/main/resources/catalog/js/admin/UserGroupController.js @@ -68,14 +68,19 @@ $scope.userUpdated = false; $scope.passwordCheck = ''; + $scope.isLoadingUsers = false; + $scope.isLoadingGroups = false; function loadGroups() { + $scope.isLoadingGroups = true; $http.get('admin.group.list@json').success(function(data) { $scope.groups = data !== 'null' ? data : null; + $scope.isLoadingGroups = false; }).error(function(data) { // TODO + $scope.isLoadingGroups = false; }).then(function() { // Search if requested group in location is // in the list and trigger selection. @@ -91,10 +96,13 @@ }); } function loadUsers() { + $scope.isLoadingUsers = true; $http.get('admin.user.list@json').success(function(data) { $scope.users = data; + $scope.isLoadingUsers = false; }).error(function(data) { // TODO + $scope.isLoadingUsers = false; }).then(function() { // Search if requested user in location is // in the list and trigger user selection. @@ -137,7 +145,8 @@ $scope.userIsAdmin = false; $timeout(function() { $scope.setUserProfile(); - }); + $('#username').focus(); + }, 100); }; /** @@ -189,6 +198,10 @@ }); $scope.userUpdated = false; + + $timeout(function() { + $('#username').focus(); + }, 100); }; @@ -351,6 +364,9 @@ description: '', email: '' }; + $timeout(function() { + $('#groupname').focus(); + }, 100); }; $scope.saveGroup = function(formId) { @@ -407,6 +423,10 @@ sortBy: 'title' }); $scope.groupUpdated = false; + + $timeout(function() { + $('#groupname').focus(); + }); }; $scope.updatingGroup = function() { diff --git a/web-ui/src/main/resources/catalog/js/edit/EditorController.js b/web-ui/src/main/resources/catalog/js/edit/EditorController.js index 9a19ed8fce1..585f202783d 100644 --- a/web-ui/src/main/resources/catalog/js/edit/EditorController.js +++ b/web-ui/src/main/resources/catalog/js/edit/EditorController.js @@ -356,14 +356,14 @@ $scope.cancel = function(refreshForm) { gnEditor.cancel(refreshForm) .then(function(form) { - // Refresh editor form after cancel - // $scope.savedStatus = gnCurrentEdit.savedStatus; - // $rootScope.$broadcast('StatusUpdated', { - // title: $translate('cancelMetadataSuccess') - // }); - // gnEditor.refreshEditorForm(null, true); - - // Close the editor tab + // Refresh editor form after cancel + // $scope.savedStatus = gnCurrentEdit.savedStatus; + // $rootScope.$broadcast('StatusUpdated', { + // title: $translate('cancelMetadataSuccess') + // }); + // gnEditor.refreshEditorForm(null, true); + + // Close the editor tab window.onbeforeunload = null; window.close(); }, function(error) { diff --git a/web-ui/src/main/resources/catalog/locales/en-admin.json b/web-ui/src/main/resources/catalog/locales/en-admin.json index f62a77d09e4..1b9452edfd5 100644 --- a/web-ui/src/main/resources/catalog/locales/en-admin.json +++ b/web-ui/src/main/resources/catalog/locales/en-admin.json @@ -319,7 +319,7 @@ "geonetwork-createRemoteCategory": "Set category if they exist locally", "geonetwork-createRemoteCategoryHelp": " ", "geonetwork-customCriteria": "Custom criteria", - "geonetwork-customCriteriaHelp": "Define whatever criteria supported by the remote node and not available in the predifined filters (eg. 'similarity' set to '1' for non fuzzy search).", + "geonetwork-customCriteriaHelp": "Define whatever criteria supported by the remote node and not available in the predifined filters (eg. 'similarity' set to '1' for non fuzzy search). You may specify multiple criteria separated by ';' (eg. _schema;siteId with values iso19139;7fc45be3-9aba-4198-920c-b8737112d522)", "geonetwork-host": "Catalog URL", "geonetwork-hostHelp": "URL with catalog name only eg. http://www.fao.org/geonetwork.", "geonetwork-mefFormatFull": "Use full MEF format", @@ -921,4 +921,4 @@ "z3950-hostHelp": " ", "z3950-port": "Port", "z3950-portPort": " " -} \ No newline at end of file +} diff --git a/web-ui/src/main/resources/catalog/locales/fr-admin.json b/web-ui/src/main/resources/catalog/locales/fr-admin.json index 1072f78e7ea..9bff813ce14 100644 --- a/web-ui/src/main/resources/catalog/locales/fr-admin.json +++ b/web-ui/src/main/resources/catalog/locales/fr-admin.json @@ -318,8 +318,8 @@ "geoPREST-hostHelp": " ", "geonetwork-createRemoteCategory": "Reprendre les catégories si elles existent localement", "geonetwork-createRemoteCategoryHelp": " ", - "geonetwork-customCriteria": "Autre critère", - "geonetwork-customCriteriaHelp": "Définir tout critère pris en charge par le noeud distant et qui n'est pas disponible dans les filtres predifinis (ex. 'similarité' fixée à '1' pour une recherche non floue).", + "geonetwork-customCriteria": "Autres critères", + "geonetwork-customCriteriaHelp": "Définir tout critère pris en charge par le noeud distant et qui n'est pas disponible dans les filtres predifinis (ex. 'similarité' fixée à '1' pour une recherche non floue). Il est possible de spécifier plusieurs critères séparés par des ';' (eg. pour n'obtenir que les fiches iso19139 d'un certain catalogue : _schema;siteId avec iso19139;7fc45be3-9aba-4198-920c-b8737112d522)", "geonetwork-host": "URL du catalogue", "geonetwork-hostHelp": "L'URL doit contenir le nom du catalogue eg. http://www.fao.org/geonetwork.", "geonetwork-mefFormatFull": "Utiliser le format MEF complet", diff --git a/web-ui/src/main/resources/catalog/style/gn_admin.less b/web-ui/src/main/resources/catalog/style/gn_admin.less index 9d186a5451a..1b4ec4fba36 100644 --- a/web-ui/src/main/resources/catalog/style/gn_admin.less +++ b/web-ui/src/main/resources/catalog/style/gn_admin.less @@ -1,4 +1,5 @@ @import "gn.less"; +@import "timeline.less"; .gn-chart{ height:500px; diff --git a/web-ui/src/main/resources/catalog/style/timeline.less b/web-ui/src/main/resources/catalog/style/timeline.less new file mode 100644 index 00000000000..2b668f4666d --- /dev/null +++ b/web-ui/src/main/resources/catalog/style/timeline.less @@ -0,0 +1,206 @@ +.timeline { + list-style: none; + padding: 20px 0 20px; + position: relative; +} + +.timeline-1-col { + :before { + left: 2%; + } + + li > .timeline-badge { + left: 2%; + } + li > .timeline-panel { + width: 92%; + } +} +.timeline-2-col { + :before { + left: 50%; + } + li > .timeline-badge { + left: 50%; + } + li > .timeline-panel { + width: 46%; + } +} + +.timeline:before { + top: 0; + bottom: 0; + position: absolute; + content: " "; + width: 3px; + background-color: #eeeeee; + margin-left: -1.5px; +} + +.timeline > li { + margin-bottom: 20px; + position: relative; +} + +.timeline > li:before, +.timeline > li:after { + content: " "; + display: table; +} + +.timeline > li:after { + clear: both; +} + +.timeline > li:before, +.timeline > li:after { + content: " "; + display: table; +} + +.timeline > li:after { + clear: both; +} + +.timeline > li > .timeline-panel { +// width: 46%; + float: left; + border: 1px solid #d4d4d4; + border-radius: 2px; + padding: 20px; + position: relative; + -webkit-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.175); + box-shadow: 0 1px 6px rgba(0, 0, 0, 0.175); +} + +.timeline > li > .timeline-panel:before { + position: absolute; + top: 26px; + right: -15px; + display: inline-block; + border-top: 15px solid transparent; + border-left: 15px solid #ccc; + border-right: 0 solid #ccc; + border-bottom: 15px solid transparent; + content: " "; +} + +.timeline > li > .timeline-panel:after { + position: absolute; + top: 27px; + right: -14px; + display: inline-block; + border-top: 14px solid transparent; + border-left: 14px solid #fff; + border-right: 0 solid #fff; + border-bottom: 14px solid transparent; + content: " "; +} + +.timeline > li > .timeline-badge { + color: #fff; + width: 50px; + height: 50px; + line-height: 50px; + padding-top: 15px; + font-size: 1.4em; + text-align: center; + position: absolute; + top: 16px; + margin-left: -25px; + background-color: #999999; + z-index: 100; + border-top-right-radius: 50%; + border-top-left-radius: 50%; + border-bottom-right-radius: 50%; + border-bottom-left-radius: 50%; +} + +.timeline > li.timeline-inverted > .timeline-panel { + float: right; +} + +.timeline > li.timeline-inverted > .timeline-panel:before { + border-left-width: 0; + border-right-width: 15px; + left: -15px; + right: auto; +} + +.timeline > li.timeline-inverted > .timeline-panel:after { + border-left-width: 0; + border-right-width: 14px; + left: -14px; + right: auto; +} + +.timeline-badge.primary { + background-color: #2e6da4 !important; +} + +.timeline-badge.success { + background-color: #3f903f !important; +} + +.timeline-badge.warning { + background-color: #f0ad4e !important; +} + +.timeline-badge.danger { + background-color: #d9534f !important; +} + +.timeline-badge.info { + background-color: #5bc0de !important; +} + +.timeline-title { + margin-top: 0; + color: inherit; +} + +.timeline-body > p, +.timeline-body > ul { + margin-bottom: 0; +} + +.timeline-body > p + p { + margin-top: 5px; +} + +@media (max-width: 767px) { + ul.timeline:before { + left: 40px; + } + + ul.timeline > li > .timeline-panel { + width: calc(100% - 90px); + width: -moz-calc(100% - 90px); + width: -webkit-calc(100% - 90px); + } + + ul.timeline > li > .timeline-badge { + left: 15px; + margin-left: 0; + top: 16px; + } + + ul.timeline > li > .timeline-panel { + float: right; + } + + ul.timeline > li > .timeline-panel:before { + border-left-width: 0; + border-right-width: 15px; + left: -15px; + right: auto; + } + + ul.timeline > li > .timeline-panel:after { + border-left-width: 0; + border-right-width: 14px; + left: -14px; + right: auto; + } +} \ No newline at end of file diff --git a/web-ui/src/main/resources/catalog/templates/admin/classification/categories.html b/web-ui/src/main/resources/catalog/templates/admin/classification/categories.html index 8cfd69050d2..c054f158808 100644 --- a/web-ui/src/main/resources/catalog/templates/admin/classification/categories.html +++ b/web-ui/src/main/resources/catalog/templates/admin/classification/categories.html @@ -5,14 +5,20 @@
- -
+ + + + -
-
-
- updateHarvester - newHarvester - {{harvesterSelected.site.name}} +
+
+
+ updateHarvester + newHarvester + {{harvesterSelected.site.name}} -
- - - - -
+
-
-
- harvesterIsRunning -
-
- harvesterError - {{harvesterSelected.error['@id']}} +
+
+
+ harvesterIsRunning +
+
+ harvesterError + {{harvesterSelected.error['@id']}}
           {{harvesterSelected.error.message}}
           
-
- -
+ +
+
-
-
- harvesterHistory -
- -
+
+
+ harvesterHistory + +
+
-
-
- noHarvesterHistory -
- - - - - - - - - - - - -
lastRuntimedetails
{{ h.harvestdate | gnFromNow }}{{h.elapsedtime}} -

- - {{key}}: {{value}} - - - - - - - - {{key}}: {{value}} - + +

+
+ noHarvesterHistory +
+
    +
  • +
    + +
    +
    +
    +

    + {{h.info[0]['@id']}} +

    +

    + + + {{ h.harvestdate | gnFromNow }} + +

    +
    + {{h.info[0]['message']}} + +
    {{line['@class']}} {{line['@file']}} ({{line['@line']}}) #{{line['@method']}}
    +
    +
    +
    + +
    +

    + {{h.info[0].total}} + recordsHarvestedIn + {{h.elapsedtime}} + seconds +

    +

    + + + {{ h.harvestdate | gnFromNow }} +

    +
    +
    +

    +

      +
    • + {{k}}: {{v}} +
    • +
    logFile -
-
+ href="admin.harvester.log?file={{h.info[0].logfile}}" target="_blank" + data-translate="">logFile +

+
+
+ +
+
-
-
harvesterRecords
+
+
harvesterRecords
-
- +
+ -
-
+
+
\ No newline at end of file diff --git a/web-ui/src/main/resources/catalog/templates/admin/harvest/type/geonetwork.html b/web-ui/src/main/resources/catalog/templates/admin/harvest/type/geonetwork.html index 1cd03aed45f..db13ad945b1 100644 --- a/web-ui/src/main/resources/catalog/templates/admin/harvest/type/geonetwork.html +++ b/web-ui/src/main/resources/catalog/templates/admin/harvest/type/geonetwork.html @@ -52,7 +52,7 @@

geonetwork-customCriteria

-
+

geonetwork-customCriteriaHelp

-
diff --git a/web-ui/src/main/resources/catalog/templates/admin/harvest/type/ogcwxs.js b/web-ui/src/main/resources/catalog/templates/admin/harvest/type/ogcwxs.js index 1a68752e346..18824bbd1ba 100644 --- a/web-ui/src/main/resources/catalog/templates/admin/harvest/type/ogcwxs.js +++ b/web-ui/src/main/resources/catalog/templates/admin/harvest/type/ogcwxs.js @@ -29,9 +29,9 @@ var gnHarvesterogcwxs = { "status" : "active", "lang" : "eng", "topic" : "", - "createThumbnails" : "true", - "useLayer" : "true", - "useLayerMd" : "true", + "createThumbnails" : "", + "useLayer" : "", + "useLayerMd" : "", "datasetCategory" : "", "outputSchema" : "iso19139" }, diff --git a/web-ui/src/main/resources/catalog/templates/admin/settings/csw-virtual.html b/web-ui/src/main/resources/catalog/templates/admin/settings/csw-virtual.html index b77ade95bb3..672e12eb0d7 100644 --- a/web-ui/src/main/resources/catalog/templates/admin/settings/csw-virtual.html +++ b/web-ui/src/main/resources/catalog/templates/admin/settings/csw-virtual.html @@ -3,13 +3,18 @@
virtualCSW
-