Configuración de GeoNetwork 3.6.0.

Una vez se ha procedido a la instalación de GeoNetwork es necesario configurarlo, distinguiendo entre una serie de pasos de configuración general y otros específicos encaminados a cubrir las necesidades particulares del IEO.

Configuración general

  • Reducimos el número de idiomas disponibles, algo que ya se puede hacer directamente a través del panel de administrador del GeoNetwork.
  • Añadir icono a través del GUI.

     

     

Configuración específica

  • Icono de pestaña de navegador. Copiamos la imagen de favicon.png a /var/lib/geonetwork-data/data/resources/images/logos

  • Habilitar Inspire
  • Añadir tesauro de la UNESCO.
  • Cambiamos fallos en las traducciones en  /var/lib/tomcat8/webapps/geonetwork/catalog/locales/es-search.json.

    Realizamos de forma similar en el directorio de idioma inglés.

    "lastRecords": "Últimas entradas"
  • Cambiamos fallos en las traducciones en /var/lib/tomcat8/webapps/geonetwork/catalog/locales/es-core.json.

    Realizamos de forma similar en el directorio de idioma inglés.

    "on": "en" (en lugar de "encendido")

  • Añadir tesauros de SeaDataNet. Como administrador en el GN, nos vamos a categorías y le damos a añadir tesauro desde URL. Por ejemplo: http://vocab.nerc.ac.uk/collection/C45

Podemos ver un listado completo en: http://seadatanet.maris2.nl/v_bodc_vocab_v2/welcome.asp

Requiere reconstruir el índice.

  • Añadimos tesauro correspondiente a la Directiva Marco de la Estrategia Marina, añadido traducciones al español y se vuelve a subir.
  • Se incluye un texto aclaratorio en la página de ingreso que diga:  ¿Eres nuevo? Solicita tu acceso a cedo@ieo.es (sólo personal del IEO). Modificamos en archivo /geonetwork/catalog/templates/signin.html. Añadimos justo antes de la última etiqueta </div>:

     

     <div class="row">  
    <div class="col-lg-6 col-lg-offset-3">
    <p class="bg-info" class="text-center">¿Eres nuevo? Solicita tu acceso a cedo@ieo.es (sólo personal del IEO).</p>
    </div>
    </div>
  • Reducir el número de criterios de búsqueda (faceted), comentando las líneas necesarias en /var/lib/tomcat8/webapps/geonetwork/WEB-INF/config-summary.xml

  • Incluir Google Analytics. Se añade el script correspondiente dentro de las etiquetas <body> dentro de los archivos home, modeal, search-cat, search-tab y search que están ubicados en /geonetwork/xsl/ También puede ser útil descartar de las estadísticas el tráfico irrelevante.
  • Copiar las imágenes de buques, instrumentos, etc. Por ejemplo, restaurando el directorio "buques" dentro de ../geonetwork/images
  • Si se ha cambiado la IP de la máquina, puede que debamos modificar los metadatos. Para ello como administrador a través del panel de configuración de GeoNetwork, en procesamiento por lotes, seleccionamos todos los metadatos y plantillas y modificamos el prefijo anterior de URL por el nuevo.

Funciona sólo si se pone la IP sin el "http://" delante.

Las modificaciones de las vistas (views) se realizan en el mismo directorio default. Los intentos de crear una vista totalmente diferenciada con otro nombre sólo han llevado a problemas en el catálogo difíciles de reproducir.

  • Reducimos la parte de "Explorar recursos" de la página principal, para que sólo muestre. campañas, conjunto de datos, mapas y servicios. Para ello modificamos el home.html, para cada uno de los elementos:

<span data-ng-repeat="(key, facet) in searchInfo.facet['types'] | filter : {'@name' : 'map'} : true"
                data-ng-show="facet['@label']"
                class="col-xs-12 col-sm-6 col-md-12 chips-card">
            <div class="badge-result badge-result-type pull-left">
              <a title="{{facet['@label']}}"
                 class="pull-left clearfix"
                 data-ng-href="#/search?facet.q=type%2F{{facet['@name']}}">
                <span class="badge-icon pull-left">
                  <i class="fa fa-3x fa-table gn-icon gn-icon-{{facet['@name']}}"></i>
                </span>
                <span class="badge-text pull-left">
                  <span class="gn-icon-label">{{facet['@label']}}</span>
                </span>
              </a>
              <span class="badge pull-left">{{facet['@count']}}</span>
            </div>
</span>
  • Modificamos la página de inicio para que muestre los "topics" como nuevas categorías, en nuestro caso variables oceánicas (temperatura, salinidad, correintes...). Copiamos iconos apropiados en una carpeta creada al efecto: ../geonetwork/catalog/images/icons. A continuación, cambiamos el orden de selección por defecto que es Inspire (el radio button). Se hace en module.js:
// Set the default browse mode for the home page
      $scope.$watch('searchInfo', function (n, o) {
        if (angular.isDefined($scope.searchInfo.facet)) {
          if ($scope.searchInfo.facet['categories'].length > 0) {
            $scope.browse = 'cat';
          } else if ($scope.searchInfo.facet['inspireThemes'].length > 0) {
            $scope.browse = 'inspire';
          } else if ($scope.searchInfo.facet['topicCats'].length > 0) {
            $scope.browse = 'topics';
          } else {
             // If no match set default to categories
             $scope.browse = 'cat';
          }
        }
      });

Y modificamos el home.html:

<div class="container-fluid">
  <div class="row gn-row-main">
    <div class="col-sm-8 col-sm-offset-2">

      <div class="input-group gn-form-any">
        <input type="text"
               class="form-control input-lg"
               autofocus=""
               data-ng-model="homeAnyField"
               data-ng-model-options="modelOptions"
               placeholder="{{'anyPlaceHolder' | translate}}"
               aria-label="{{'anyPlaceHolder' | translate}}"
               data-ng-keyup="$event.keyCode == 13 && goToSearch(homeAnyField)"
               data-typeahead="address for address in getAnySuggestions($viewValue)"
               data-typeahead-loading="anyLoading"
               data-typeahead-min-length="1"/>
        <span class="input-group-btn">
          <a class="btn btn-primary btn-lg"
             type="button"
             data-ng-href="#/search?any={{homeAnyField}}">
            <i class="fa fa-search"></i>
            <span class="sr-only" data-translate="">search</span>
          </a>
        </span>
      </div>

      <div data-translate="" class="search-over"
           data-translate-values="{records: '{{searchInfo.count}}'}">searchOver</div>

    </div>
  </div>

  <div class="row" data-ng-show="searchInfo.count == 0">
    <div data-ng-show="searchInfo.count == 0"
         class="col-md-offset-4 col-md-4 alert alert-warning">
      <span data-translate="">noDataInCatalog</span>
      <div data-gn-need-help="user-guide/quick-start/index.html"></div>
    </div>
  </div>


  <div class="row gn-row-topics" data-ng-show="searchInfo.count > 0">
    
    <div class="col-sm-12 col-md-9" data-ng-show="browse !== ''">
      <h4>
        <span data-translate="">browseBy</span>
        <span
          data-ng-show="searchInfo.facet['topicCats'].length > 0 && searchInfo.facet['inspireThemes'].length > 0">
          <label data-ng-show="searchInfo.facet['topicCats'].length > 0">
            <input type="radio" name="browse" value="topics" data-ng-model="browse" checked="checked"/>
            <span data-translate="">topics</span>
          </label>
          <label data-ng-show="searchInfo.facet['inspireThemes'].length > 0">
            <input type="radio" name="browse" value="inspire" data-ng-model="browse"/>
            <span data-translate="">inspireThemes</span>
          </label>
        </span>
        <label
          data-ng-show="searchInfo.facet['topicCats'].length > 0 && searchInfo.facet['inspireThemes'].length == 0"><span
          data-translate="">topics</span></label>
        <label
          data-ng-show="searchInfo.facet['inspireThemes'].length > 0 && searchInfo.facet['topicCats'].length == 0"><span
          data-translate="">inspireThemes</span></label>
      </h4>


      <div class="row">
        <span data-ng-show="browse === 'topics'"
              class="col-xs-12 col-sm-6 col-md-4 chips-card">
          <div class="badge-result badge-result-topic clearfix">
            <a class="pull-left clearfix"
               title="Temperature"
               role="link"
               data-ng-href="#/search?facet.q=type%2Fdataset%26keyword%2FTemperatura">
              <span class="badge-icon badge-result-topic pull-left"  style="position:relative">
                <img src="http://datos.ieo.es/geonetwork/images/icons/temp.svg" 
                     style="position:absolute;left:50%;margin-left:-40%;top:50%;margin-top:-40%;width:80%;height:80%;">
              </span>
              <span class="badge-text pull-left">
                <label><span class="gn-icon-label" data-translate="">temp</span></label>
              </span>
            </a>
          </div>
        </span>
        <span data-ng-show="browse === 'topics'"
              class="col-xs-12 col-sm-6 col-md-4 chips-card">
          <div class="badge-result badge-result-topic clearfix">
            <a class="pull-left clearfix"
               title="Salinity"
               role="link"
               data-ng-href="#/search?facet.q=type%2Fdataset%26keyword%2FSalinidad">
              <span class="badge-icon badge-result-topic pull-left"  style="position:relative">
                <img  src="http://datos.ieo.es/geonetwork/images/icons/salt.png"
                      style="position:absolute;left:50%;margin-left:-40%;top:50%;margin-top:-40%;width:80%;height:80%;">
              </span>
              <span class="badge-text pull-left">
                <label><span class="gn-icon-label" data-translate="">salt</span></label>
              </span>
            </a>
          </div>
        </span>
        <span data-ng-show="browse === 'topics'"
              class="col-xs-12 col-sm-6 col-md-4 chips-card">
          <div class="badge-result badge-result-topic clearfix">
            <a class="pull-left clearfix"
               title="Tides"
               role="link"
               data-ng-href="#/search?facet.q=type%2Fdataset&any=marea">
              <span class="badge-icon badge-result-topic pull-left"  style="position:relative">
                <img src="http://datos.ieo.es/geonetwork/images/icons/tide.png"
                     style="position:absolute;left:50%;margin-left:-40%;top:50%;margin-top:-40%;width:80%;height:80%;">
              </span>
              <span class="badge-text pull-left">
                <label><span class="gn-icon-label" data-translate="">tides</span></label>
              </span>
            </a>
          </div>
        </span>
        <span data-ng-show="browse === 'topics'"
              class="col-xs-12 col-sm-6 col-md-4 chips-card">
          <div class="badge-result badge-result-topic clearfix">
            <a class="pull-left clearfix"
               title="Nutrients"
               role="link"
               data-ng-href="#/search?facet.q=type%2Fdataset&any=nutrients">
              <span class="badge-icon badge-result-topic pull-left"  style="position:relative">
                <img src="http://datos.ieo.es/geonetwork/images/icons/nutrients.png"
                     style="position:absolute;left:50%;margin-left:-40%;top:50%;margin-top:-40%;width:80%;height:80%;">
              </span>
              <span class="badge-text pull-left">
                <label><span class="gn-icon-label" data-translate="">nutrients</span></label>
              </span>
            </a>
          </div>
        </span>
        <span data-ng-show="browse === 'topics'"
              class="col-xs-12 col-sm-6 col-md-4 chips-card">
          <div class="badge-result badge-result-topic clearfix">
            <a class="pull-left clearfix"
               title="Currents"
               role="link"
               data-ng-href="#/search?facet.q=type%2Fdataset&any=currents">
              <span class="badge-icon badge-result-topic pull-left"  style="position:relative">
                <img src="http://datos.ieo.es/geonetwork/images/icons/currents.png"
                     style="position:absolute;left:50%;margin-left:-40%;top:50%;margin-top:-40%;width:80%;height:80%;">
              </span>
              <span class="badge-text pull-left">
                <label><span class="gn-icon-label" data-translate="">currents</span></label>
              </span>
            </a>
          </div>
        </span>
        <span data-ng-repeat="(key, facet) in searchInfo.facet['inspireThemesURI'] track by $index"
              data-ng-show="browse === 'inspire'"
              class="col-xs-12 col-sm-6 col-md-4 chips-card">
          <div class="badge-result badge-result-inspire clearfix">
            <a class="pull-left clearfix bg-iti-{{facet['@name'].slice(facet['@name'].lastIndexOf('/')+1)}}"
               title="{{facet['@label']}}"
               data-ng-href="#/search?facet.q=inspireThemeURI%2F{{facet['@name'] | encodeURIComponent | encodeURIComponent}}">
              <span class="badge-icon pull-left">
                 <i class="fa fa-3x gn-icon iti-{{facet['@name'].slice(facet['@name'].lastIndexOf('/')+1)}}"></i>
              </span>
              <span class="badge-text pull-left">
                <span class="gn-icon-label">{{facet['@label']}}</span>
              </span>
            </a>
            <span class="badge pull-left">{{facet['@count']}}</span>
          </div>
        </span>
      </div>
    </div>
    <div class="col-sm-12 col-md-3" data-ng-show="searchInfo.facet['types'].length > 0">
      <h4>
        <span data-translate="">browseTypes</span>
      </h4>
      <div class="row">
          <span data-ng-repeat="(key, facet) in searchInfo.facet['types'] | filter: {'@name' : 'Series'}"
                data-ng-show="facet['@label']"
                class="col-xs-12 col-sm-6 col-md-12 chips-card">

            <div class="badge-result badge-result-type pull-left">
              <a title="{{facet['@label']}}"
                 class="pull-left clearfix"
                 data-ng-href="#/search?facet.q=type%2F{{facet['@name']}}">
                <span class="badge-icon pull-left">
                  <i class="fa fa-3x fa-table gn-icon gn-icon-{{facet['@name']}}"></i>
                </span>
                <span class="badge-text pull-left">
                  <span class="gn-icon-label">{{facet['@label']}}</span>
                </span>
              </a>
              <span class="badge pull-left">{{facet['@count']}}</span>
            </div>
          </span>

          <span data-ng-repeat="(key, facet) in searchInfo.facet['types'] | filter : {'@name' : 'Dataset'}"
                data-ng-show="facet['@label']"
                class="col-xs-12 col-sm-6 col-md-12 chips-card">

            <div class="badge-result badge-result-type pull-left">
              <a title="{{facet['@label']}}"
                 class="pull-left clearfix"
                 data-ng-href="#/search?facet.q=type%2F{{facet['@name']}}">
                <span class="badge-icon pull-left">
                  <i class="fa fa-3x fa-table gn-icon gn-icon-{{facet['@name']}}"></i>
                </span>
                <span class="badge-text pull-left">
                  <span class="gn-icon-label">{{facet['@label']}}</span>
                </span>
              </a>
              <span class="badge pull-left">{{facet['@count']}}</span>
            </div>
          </span>

          <span data-ng-repeat="(key, facet) in searchInfo.facet['types'] | filter : {'@name' : 'map'} : true"
                data-ng-show="facet['@label']"
                class="col-xs-12 col-sm-6 col-md-12 chips-card">

            <div class="badge-result badge-result-type pull-left">
              <a title="{{facet['@label']}}"
                 class="pull-left clearfix"
                 data-ng-href="#/search?facet.q=type%2F{{facet['@name']}}">
                <span class="badge-icon pull-left">
                  <i class="fa fa-3x fa-table gn-icon gn-icon-{{facet['@name']}}"></i>
                </span>
                <span class="badge-text pull-left">
                  <span class="gn-icon-label">{{facet['@label']}}</span>
                </span>
              </a>
              <span class="badge pull-left">{{facet['@count']}}</span>
            </div>
          </span>

          <span data-ng-repeat="(key, facet) in searchInfo.facet['types'] | filter : {'@name' : 'service'} : true"
                data-ng-show="facet['@label']"
                class="col-xs-12 col-sm-6 col-md-12 chips-card">

            <div class="badge-result badge-result-type pull-left">
              <a title="{{facet['@label']}}"
                 class="pull-left clearfix"
                 data-ng-href="#/search?facet.q=type%2F{{facet['@name']}}">
                <span class="badge-icon pull-left">
                  <i class="fa fa-3x fa-table gn-icon gn-icon-{{facet['@name']}}"></i>
                </span>
                <span class="badge-text pull-left">
                  <span class="gn-icon-label">{{facet['@label']}}</span>
                </span>
              </a>
              <span class="badge pull-left">{{facet['@count']}}</span>
            </div>
          </span>
      </div>
    </div>
  </div>
  
  <div class="row gn-row-info"
       data-ng-show="searchInfo.count > 0"
       data-ng-class="{'gn-info-list-blocks': type === 'blocks' || type === undefined, 'gn-info-list-large': type === 'large', 'gn-info-list-small': type === 'small'}">
    <div class="col-sm-12">

      <!-- toggle buttons -->
      <div id="info-toggle-buttons" class="btn-group pull-right" data-toggle="buttons">
        <button id="btn-toggle-blocks" type="button" class="btn btn-default"
                data-ng-click="toggleListType('blocks')"
                data-ng-model="type"
                data-ng-class="{'active': type === 'blocks' || type === undefined}"
                aria-label="{{'listTypeBlocks' | translate}}">
          <i class="fa fa-th-large" aria-hidden="true"></i>
        </button>
        <button id="btn-toggle-large" type="button" class="btn btn-default"
                data-ng-click="toggleListType('large')"
                data-ng-model="type"
                data-ng-class="{'active': type === 'large'}"
                aria-label="{{'listTypeLarge' | translate}}">
          <i class="fa fa-bars" aria-hidden="true"></i>
        </button>
        <button id="btn-toggle-small" type="button" class="btn btn-default"
                data-ng-click="toggleListType('small')"
                data-ng-model="type"
                data-ng-class="{'active': type === 'small'}"
                aria-label="{{'listTypeSmall' | translate}}">
          <i class="fa fa-align-justify" aria-hidden="true"></i>
        </button>
      </div>

      <tabset id="info-tabset pull-left" type="pills" justified="false">
        <tab heading="{{'lastRecords' | translate}}"
             role="tab"
             active="infoTabs.lastRecords.active">
          <form class="form-horizontal"
                role="form"
                data-ng-controller="gnsSearchLatestController"
                data-ng-search-form=""
                data-runSearch="true"
                data-ng-show="searchResults.records.length > 0">
              <input type="hidden" name="_csrf" value="{{csrf}}"/>

            <div data-gn-info-list=""></div>
          </form>
        </tab>
        <tab heading="{{'preferredRecords' | translate}}"
             role="tab"
             active="infoTabs.preferredRecords.active">
          <form class="form-horizontal"
                role="form"
                data-ng-controller="gnsSearchPopularController"
                data-ng-search-form=""
                data-runSearch="true"
                data-ng-show="searchResults.records.length > 0">
              <input type="hidden" name="_csrf" value="{{csrf}}"/>
            <div data-gn-info-list=""></div>
          </form>
        </tab>
        <tab heading="{{'Comments' | translate}}"
             data-ng-if="isUserFeedbackEnabled"
             active="infoTabs.commentsalt.active"
             role="tab">
          <form class="form-horizontal">
            <div class="data-gn-userfeedbacklasthome"
                  data-nb-of-comments="10"></div>
          </form>
        </tab>
      </tabset>
    </div>

  </div>
  <!-- /.gn-row-info -->
</div>

 

  • Creamos una nueva búsqueda avanzada a partir de la que existe por defecto en

    ../views/default/templates/advancedSearchForm/IEOAdvancedSearchForm.html

    y se mofica a través del panel de administrador para que se cargue esta página (Configuración > Interfaz de usuario). Comentamos para que sólo se seleccione por tiempo:

<div class="gn-search-filter col-lg-12 advancedSearchForm">
  <div class="row">
    <div class="col-md-offset-2">
     <h3 data-translate="">when</h3>
      <div data-gn-period-chooser="resourcesCreatedTheLast"
           data-date-from="searchObj.params.creationDateFrom"
           data-date-to="searchObj.params.creationDateTo"
           class="gn-search-filter-datepicker">
     </div>
 </div>
</div>

También se modifica el searchForm.html para anular el botón de búsqueza avanzada (queremos que esté desplegado por defecto). Además de comentar las líneas corespondientes al botón, hay que modificar la siguiente línea (sustituimos  "data-gn-show" por "data-ng-model"):

 <div class="row ng-show" data-ng-model="searchObj.advancedMode">

También se modifica el results.html, de manera que ahora tengamos el formulario de búsqueda a la izquierda y el mapa a la derecha. El mapa no debe formar parte del formulario o da problemas de búsqueda.

<div class="container-fluid"
     data-ng-search-form=""
     data-runSearch="true">
  <div class="row" style="background-color: aliceblue">
    <div class="col-md-6" style="padding-top: 1em">
        <div data-ng-include="'../../catalog/views/default/templates/searchForm.html'"></div>
    </div>
    <div class="col-md-4" style="padding-top: 1em">
     <h3 data-translate="">where</h3>
      <div data-gn-map-field="searchObj.searchMap"
       data-gn-map-field-geom="searchObj.params.geometry"
       data-gn-map-field-opt="searchObj.mapfieldOption"
       class="gn-search-map hidden-xs">
      </div>
    </div>
   </div>
  <div gn-grid-related-query="searchResults.records"></div>
  <div class="row gn-row-results">
    <div class="col-md-3 gn-search-facet">
      <div data-ng-show="searchResults.records.length > 0"
           data-gn-saved-selections-panel="user"></div>

      <!-- Hierachical facet mode -->
      <div class="panel panel-default"
           data-ng-show="searchResults.records.length > 0">
        <div class="panel-heading" data-gn-slide-toggle="">
          <i class="fa fa-search"/>&nbsp;
          <span data-translate="">filter</span>
        </div>
        <div class="panel-body">
          <div data-gn-facet-dimension-list="searchResults.dimension"
               data-params="searchObj.params"
               data-facet-type="facetsSummaryType"
               data-facet-list="facetConfig"
               data-current-facets="currentFacets">
          </div>
        </div>
      </div>
    </div>
    <div class="col-md-9 container-fluid">
      <div class="row" data-ng-show="isFilterTagsDisplayedInSearch">
        <div class="col-xs-12">
          <div data-search-filter-tags="">

          </div>
        </div>
      </div>
      <div class="row">
        <div class="col-xs-12 col-md-9"
            data-gn-facet-dimension-list="searchResults.dimension"
            data-params="searchObj.params"
            data-facet-type="facetsSummaryType"
            data-facet-list="facetConfig"
            data-current-facets="currentFacets"
            data-tab-field="facetTabField"></div>
        <div class="col-xs-12 col-sm-6 col-sm-push-3 text-center"
          data-ng-show="searchResults.records.length > 0">
          <div class=""
              data-gn-pagination="paginationInfo"
              data-hits-values="searchObj.hitsperpageValues"
              data-enable-hot-keys=""
              data-enable-events=""></div>
        </div>
        <div class="col-xs-6 col-sm-3 col-sm-pull-6 col-lg-pull-6"
          data-ng-show="searchResults.records.length > 0">
          <div data-gn-selection-widget=""
                data-results="searchResults"></div>
        </div>
        <div class="col-xs-6 col-sm-3"
          data-ng-show="searchResults.records.length > 0">
          <div class="pull-right"
               data-gn-results-tpl-switcher=""></div>
          <div class="pull-right"
              data-sortby-combo=""
              data-params="searchObj.params"
              data-gn-sortby-values="searchObj.sortbyValues"></div>
        </div>
    </div>
    <div class="row">
      <div class="col-xs-12">
        <span class="loading fa fa-spinner fa-spin"
              data-ng-show="searching"></span>

        <div class="alert alert-warning" role="alert"
            ng-if="!searching && searchResults.count == 0">
          <i class="fa fa-frown-o"></i>
          <span data-translate="">zarooResult</span>
        </div>

        <div data-ng-show="searchResults.records.length > 0"
            data-gn-results-container=""
            data-search-results="searchResults"
            data-template-url="resultTemplate"
            data-map="searchObj.searchMap"></div>
      </div>
    </div>
    <div class="row">
      <div class="col-xs-12 text-center"
      data-ng-show="searchResults.records.length > 0">
        <div class=""
              data-gn-pagination="paginationInfo"
              data-hits-values="searchObj.hitsperpageValues"
              data-enable-hot-keys=""
              data-enable-events=""></div>
      </div>
    </div>
    <br>
  </div>
</div>
Modificamos "recursos obtenidos en el último" (es-search.json):
 "resourcesCreatedTheLast": "<strong>Datos</strong> adquiridos en el último",

Se han modificado también los estilos, dando color al fondo, reordenando con padding-top, etc.

 

Creación de iconos específicos para los Cruise Summary Reports (CSR)

El objetivo es integrar en nuestro GeoNetwork los Cruise Summary Reports (CSR) que se distribuyen a través de SeaDataNet. Para facilitar la usabilidad, se utiliza en la página de inicio un icono diferenciado de los "datasets". Para ello utilizamos la propiedad del elemento hierarchyLevel del XML. Según la ISO19115, son varios los valores que puede tomar, pero ninguno encaja en nuestra definición de resumen de campaña. Por ello, utilizamos el valores "series" en vez de "datasets" y modificamos el icono por defecto de series para que tenga el icono de un barco.

catalogo2.png

Los iconos están mapeados en el archivo variable.less, conteniendo la referencia respecto a la web www.fontawesome.ieo/icons/#accesibility

Por su parte, donde se indica qué icono le corresponde a cada categoría es en: /var/lib/tomcat8/webapps/geonetwork/catalog/style/gn_icons.less En este último archivo modificamos .gn-icons.series y donde ponía @fa-var-files-o ponemos @fa-var-ship

Modificamos las etiquetas en: /var/lib/tomcat8/webapps/geonetwork/WEB-INF/data/config/schema-plugins/iso19139/loc/spa/codelists.xml y en labels.xml del mismo directorio. Las categorías pasan a ser:

Map > Mapa

Service > Servicios

Interactive map > Visores

Series > Campañas

Puede ser necesario realizar los cambios de traducciones en nuestro directorio de datos, /var/lib/geonetwork-data/config/schema_plugins/iso19139/loc/spa

 

 

 

 

 

 

 

Back to top