GeoNetwork repository
Switch branches/tags
2.1.x 2.2.x 2.6.x 2.8.x 2.10.x 2.11.x 3.0.x 3.0.3-staticcache 3.2.x 3.4.x admin/category/addnotificationondeletionfailure documentation/schema/helper-displayif draft draft2018 en-admin-typos en-core-typos en-editor-typos en-search-typos es feature/batchedit/linktorecord feature/editor/directivetohideprefixorsuffix feature/iso19139/batchedit/status feature/iso19139/overridelabelforfileidentifieranddatestamp feature/record-events-and-tasks feature/wfsharvester/align-with-sextant fix/editor/date/yearreset fix/formatter/social/hardcodedtitle fix/harvester-2823 fix/iso1939/formatter/keyword-with-anchor-in-advanced-view fix/iso19139/dimensionsizeisnotmultilingual fix/iso19139/inspire-schematron-at-least-one-lineage fix/map/remove-proxy-from-layer-url fix/map/3D/turnoffterrainprovider fix/metadataview/related/associationtype fix/settings/linksindoc fix/thesaurus/inspiretheme/date fix/wfsindexing/admin-panel-does-not-display-url-and-typename fix/workflow/emailinwronglanguage fix/wro4j/htmltemplateandnewlines fix/wro4j/windowspath fix/xslt-formatter/temporalextent fix/3255 fxprunayre/iso19139/parentidentifier-is-not-multilingual inspire/tg2support juanluisrp-gn-project-version master pvgenuchten-patch-grouplogoAdmin pvgenuchten-patch-typo-description pvgenuchten-wmts-load-projection-format resolve-datepicker-artifact revert-2846-fix_wms-url-with-too-many-parameters solr spring5 thesaurus/regions/name-update/cz travis-cache-maven-artifacts warning-on-duplicate-uuid wizards xslt-formatter-thesaurus-only-if-one-keyword
Nothing to show
Clone or download
fxprunayre WFS Indexing / Admin panel does not display correct information
Related to #3205 which now encode URL and feature type name to support ES 6.4+ and to point to the correct index containing features (and not to the ES cluster root only).
Latest commit 804ff4b Dec 17, 2018
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github/ISSUE_TEMPLATE Update issue templates Jun 6, 2018
bin Enrich the multilingual excludes in the config-editor.xml file so tha… Mar 4, 2015
cachingxslt Updating version to 3.5.0-SNAPSHOT unstable Sep 18, 2017
code_quality API / Transfer owner. Jun 24, 2016
common Fixing schema related tests: now version is important Jun 19, 2018
core ArcSDE harvester - Allow SQLXML type Dec 4, 2018
csw-server Refactoring applyElementSetName in CSW (#3104) Oct 1, 2018
cswtest Formatting / XML and XSD. Jun 2, 2016
docker Formatting / XML and XSD. Jun 2, 2016
docs Merge branch '3.4.x' of into de… Jun 4, 2018
doi DOI / Cleanup, typo and remove testmode which is now set by the API e… Nov 20, 2018
domain DB / Missing indexes #3358 Dec 13, 2018
e2e-tests Merge branch '3.4.x' of into de… Jun 4, 2018
es ES / Add support for custom index name (and index collections). Nov 22, 2018
events Renaming IMetadata with AbstractMetadata, because it is not a java Nov 29, 2017
harvesters Allow deleting a harvester even if no bean for it is defined Nov 29, 2018
healthmonitor Remote index / Health check / Better warning. Oct 4, 2018
inspire-atom Merge branch '3.4.x' of into de… Jun 4, 2018
installer Build installer is broken. Remove GeoServer module #2743 (#2955) Jul 16, 2018
integration-test itest / Add possibility to download chromedriver from maven. Sep 21, 2018
jmeter Updating version to 3.5.0-SNAPSHOT unstable Sep 18, 2017
messaging Updating version to 3.5.0-SNAPSHOT unstable Sep 18, 2017
monitoring made output be standard nagios output and added option for warning ou… Jun 22, 2012
oaipmh Updating version to 3.5.0-SNAPSHOT unstable Sep 18, 2017
release Add shell declaration to the script Nov 3, 2018
schemas-test Metadata editor - INSPIRE view - Add INSPIRE themes button doesn't wo… Jul 16, 2018
schemas Merge pull request #3205 from geonetwork/feature/wfsharvester/align-w… Nov 26, 2018
sde Updating version to 3.5.0-SNAPSHOT unstable Sep 18, 2017
services Workflow / Email not in correct language Nov 27, 2018
software_development Add info about es profile and misc fixes. Jun 21, 2017
transifex add some translations for foratter Jan 30, 2015
web-client Merge branch '3.0.x' of into de… Oct 24, 2016
web-ui-docs Merge branch '3.4.x' of into de… Jun 4, 2018
web-ui WFS Indexing / Admin panel does not display correct information Dec 17, 2018
web Uses JsonDatabaseMigration instead of SQL migration Dec 6, 2018
workers ES / Add support for custom index name (and index collections). Nov 22, 2018
wro4j TemplatesUriLocator.locate assumes file system path separator is uri … Dec 7, 2018
.editorconfig Add .editorconfig. (#1517) Apr 11, 2016
.gitattributes add some binary configuration for images and other types to prevent c… Feb 22, 2014
.gitignore Jetty / Remove binary version from repository. Oct 31, 2018
.gitmodules Build installer is broken. Remove GeoServer module #2743 (#2955) Jul 16, 2018
.travis.yml Caches .m2 folder in Travis builds to speed up them (#3181) Oct 22, 2018 Create Jun 15, 2017
LICENSE There was no explicit LICENSE file Nov 30, 2017 Cleaning Z3950 / Remove server - keeping SRU. Mar 25, 2016 Shell script to add a metadata schema in GeoNetwork for development (#… Nov 20, 2018
eclipse-import-existing-projects.png update to have better formatting Oct 28, 2013
git-all fixed git-all script Jun 14, 2012
pom.xml Merge pull request #2866 from PascalLike/cssStyleImprovements Nov 26, 2018 Scripts improvements provided by Jeroen: OS check, parameter input fo… Jan 13, 2011
transifex-localization-files.json add transifex configuration and commandline tool Jun 6, 2014 Update versions release script: Jul 23, 2018 fixed bug running these scripts on darwin11.0 machines Jun 21, 2012 fixed bug running these scripts on darwin11.0 machines Jun 21, 2012

Build Health

Build Status


  • Immediate search access to local and distributed geospatial catalogues
  • Up- and downloading of data, graphics, documents, pdf files and any other content type
  • An interactive Web Map Viewer to combine Web Map Services from distributed servers around the world
  • Online editing of metadata with a powerful template system
  • Scheduled harvesting and synchronization of metadata between distributed catalogs
  • Support for OGC-CSW 2.0.2 ISO Profile, OAI-PMH, SRU protocols
  • Fine-grained access control with group and user management
  • Multi-lingual user interface


User documentation is in the docs submodule in the current repository and is compiled into html pages during a release for publishing on a website.

Developer documentation is also in the docs submodule but is being migrated out of that project into the Readme files in each module in the project. General documentation for the project as a whole is in this Readme and module specific documentation can be found in each module (assuming there is module specific documentation required).

Software Development

Instructions for setting up a development environment/building Geonetwork/compiling user documentation/making a release see: Software Development Documentation


With regards to testing Geonetwork is a standard Java project and primarily depends on JUnit for testing. However there is a very important issue to consider when writing JUnit tests in Geonetwork and that is the separation between unit tests and integration tests

  • Unit Tests - In Geonetwork unit tests should be very very quick to execute and not start up any subsystems of the application in order to keep the execution time of the unit tests very short. Integration tests do not require super classes and any assistance methods can be static imports, for example statically importing org.junit.Assert or org.junit.Assume or org.fao.geonet.Assert.
  • Integration Tests - Integration Test typically start much or all of Geonetwork as part of the test and will take longer to run than a unit test. However, even though the tests take longer they should still be implemented in such a way to be as efficient as possible. Starting Geonetwork in a way that isolates each integration test from each other integration test is non-trivial. Because of this there are abstract super classes to assist with this. Many modules have module specific Abstract classes. For example at the time that this is being written domain, core, harvesters and services modules all have module specific super classes that need to be used. (harvesting has 2 superclasses depending on what is to be tested.) The easiest way to learn how to implement an integration test is to search for other integration tests in the same module as the class you want to test. The following list provides a few tips:
    • IMPORTANT: All Integrations tests must end in IntegrationTest. The build system assumes all tests ending in IntegrationTest is an integration test and runs them in a build phase after unit tests. All other tests are assumed to be unit tests.
    • Prefer unit tests over Integration Tests because they are faster.
    • Search the current module for IntegrationTest to find tests to model your integration test against
    • This you might want integration tests for are:
      • Services: If the service already exists and you quick need to write a test to debug/fix its behaviour. If you are writing a new service it is better to use Mockito to mock the dependencies of the service so the test is a unit test.
      • Harvesters
      • A behaviour that crosses much of the full system

org.fao.geonet.utils.GeonetHttpRequestFactory: When making Http requests you should use org.fao.geonet.utils.GeonetHttpRequestFactory instead of directly using HttpClient. This is because there are mock instances of org.fao.geonet.utils.GeonetHttpRequestFactory that can be used to mock responses when performing tests.