Coder Social home page Coder Social logo

geonetwork / core-geonetwork Goto Github PK

View Code? Open in Web Editor NEW
394.0 64.0 477.0 561.52 MB

GeoNetwork is a catalog application to manage spatially referenced resources. It provides powerful metadata editing and search functions as well as an interactive web map viewer. It is currently used in numerous Spatial Data Infrastructure initiatives across the world.

Home Page: http://geonetwork-opensource.org/

License: GNU General Public License v2.0

PowerShell 0.02% Java 49.53% XSLT 19.58% JavaScript 22.40% Shell 0.14% HTML 5.51% CSS 0.72% Groovy 0.01% Batchfile 0.01% Gherkin 0.10% Less 1.35% Dockerfile 0.01% Visual Basic 6.0 0.63%
catalog api opendata metadata metadata-management open-data geospatial dcat iso19139 iso19115

core-geonetwork's People

Contributors

archaeogeek avatar arnaud-morvan avatar cmangeat avatar davidblasby avatar davinciagf avatar delawen avatar dependabot[bot] avatar etj avatar fgravin avatar fxprunayre avatar geosander avatar heikkidoeleman avatar ianwallen avatar jahow avatar joachimnielandt avatar jodygarnett avatar jonescc avatar josegar74 avatar juanluisrp avatar julsbreakdown avatar landryb avatar mcpgovernance avatar michelgabriel avatar oscarfonts avatar pascallike avatar pmauduit avatar sppigot avatar ticheler avatar tonio avatar wangf1122 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

core-geonetwork's Issues

Index / Reload does not work

From admin panel, reload index config return error.

beanFactory.registerSingleton(LuceneConfig.LUCENE_CONFIG_BEAN_NAME, lc); contains 2 LuceneConfig

changes for geonet:addedObj attribute breaks metadata.xsl editing operations

Check in template mode="element" looks for all attributes - unfortunately this includes geonet:addedObj which should be left out - this breaks certain add operations in the editor:

@@ -175,7 +175,7 @@

            <xsl:choose>
                    <!-- has children or attributes, existing or potential -->
           -         <xsl:when test="*[namespace-uri(.)!=$geonetUri]|@*|geonet:child|geonet:element/geonet:attribute">
           +        <xsl:when test="*[namespace-uri(.)!=$geonetUri]|@*[namespace-uri()!=$geonetUri]|geonet:child|geonet:element/geonet:attribute">

                            <xsl:choose>

Document size of /geonetwork/srv/eng/main.home

The main page of GeoNetwork is about 3MB, which is pretty big for a web site.
When parts of the main page are not in the browser cache, the site appears to be very lazy...
This did not changed significantly between GN 2.6.5 and 2.10.0 RC2.
Did someone tried to do something in order to get smaller size ?
Thanks,
Victor

Unable to add schema plugin using admin option

When I attempt to add a schema plugin using the add schema plugin option in the administration error I get an "metadata.schema.add failed:
(Exception was operation-aborted)" error in 2.8.0.

Extract from log below:

2013-06-19 15:47:28,952 DEBUG [geonetwork.schemamanager] - Creating file extract-gml.xsl
2013-06-19 15:47:28,952 DEBUG [geonetwork.schemamanager] - Creating file extract-date-modified.xsl
2013-06-19 15:47:28,952 DEBUG [geonetwork.schemamanager] - Creating file templates/README
java.io.FileNotFoundException: /home/craigj/tomcat/instance_geonetwork/webapps/geonetwork/WEB-INF/data/config/schema_plugins/anzmeta/templates/README (No such file or directory)

Doesn't look like sub-directories are being created when required.

Lucene: <gmd:MD_DigitalTransferOptions> not well indexed for ISO19139

Hi,

For ISO1939 metadata, following the settings in index.fields.xsl, Lucene doesn't index the values of the element gmd:MD_DigitalTransferOptions when it is nested in a gmd:distributor element. As consequence, the Download Data button is not available for these metadata.

Thus, the following schema appears to be correct:

gmd:distributionInfo
gmd:distributor
gmd:distributorContact
gmd:distributorTransferOptions
gmd:MD_DigitalTransferOptions

This case is well described in iso1939 schema (gmd/distribution xsd):

xs:complexType name="MD_Distributor_Type"
xs:complexContent
xs:extension base="gco:AbstractObject_Type"
xs:sequence
...........
xs:element name="distributorTransferOptions"
type="gmd:MD_DigitalTransferOptions_PropertyType"......
............

While the settings in the file iso19139\index-fields.xsl only handle the case where the element gmd:MD_DigitalTransferOptions is nested in a gmd:MD_Distribution element:

xsl:for-each select="gmd:distributionInfo/gmd:MD_Distribution"
xsl:for-each select="gmd:distributionFormat...." Field name="format"....
xsl:for-each select="gmd:transferOptions/gmd:MD_DigitalTransferOptions..."
xsl:variable name="download_check"...
xsl:variable name="linkage"...
xsl:variable name="protocol"...

Thus, only metadata with the following schema would have a Download Data button:

gmd:distributionInfo
gmd:distributionFormat....
gmd:transferOptions
gmd:MD_DigitalTransferOptions …….

This happens at least from GeoNetwork 2.6.5 and also for the latest 2.10.

download data from wfs-panel

for dutch national georegister a panel has been implemented from which users can select a spatial extent and a typename from a wfs-capabilities
It would be nice to integrate this feature in master, however there are still some challanges... The interface for zooming and selecting extent needs improvements. For some servers (deegree) no typenames are displyed in dropdown (but download does work). GML downloads open as a browser-tab, would be better to give them a header-attachement, so it loads as a download..

But most interesting feature would be to create functionality to select an output format which might not be supported by the actual wfs server. For geoserver most formats are supported, but for example deegree has only a single format (GML). For non spatial users supporting formats like CSV and geojson is essential. Geotools (or ogr2ogr) might be used to do the conversion. The proces might even be deligated to an external server, to protect gn performance, also the maxfeatures might be limited (for example via urlrewrite)

Subtemplate import / Add the capability to update existing record

Subtemplate could have a uuid attribute which will be used on import to set the subtemplate uuid.

Example:

<gmd:CI_ResponsibleParty xmlns:gco="http://www.isotc211.org/2005/gco"
                         xmlns:gmd="http://www.isotc211.org/2005/gmd"
                         uuid="SDN:EDMO::12">

Then on import if "Overwrite metadata with same UUID" is checked it will work for metadata (using extract-uuid) and for subtemplate (using the uuid attribute)

Relocated geonetwork data directory - Error 'Exceeded maximum number of plugin schemas 20'

Using the stable 2.8.0 ANZMEST version of Geonetwork (similar to GN
2.8.0 with ANZMEST schema additions). Initially I had the geonetwork data
directory in the default location geonetwork/WEB-INF/data and all was fine
i.e I was adding/changing metadata and working OK.

Later I put the data directory into an
another place to make it easier to do upgrades. So I set
-Dgeonetwork.dir=/home/awalsh/geonetwork_data for the java command
in start_geonetwork.sh and I copied all contents geonetwork/WEB-INF/data
to the new location /home/awalsh/geonetwork_data.

I then restart geonetwork, it detects the new data dir. location OK but startup
fails with message:-

2013-06-11 11:09:56,472 ERROR [geonetwork.schemamanager] - Failed whilst adding
the schema information. Exception message if any is Exceeded maximum number of
plugin schemas 20

Craig Jones informed me that:-

When you start up GeoNetwork, an xml file containing schema plugin
linking information is updated with the location of all schema plugins
found in the schema plugins directory:

/config/schemaplugin-uri-catalog.xml

Unfortunately, the Schema Manager doesn't remove entries which don't
exist anymore and only a maximum number of 20 are allowed so its
attempting to add all the schema plugins in the new location without
removing the old ones and is running out of space.

A workaround for this issue is to delete the config/schemaplugin-uri-catalog.xml
in the new data dir. location and let GN recreate it on startup. However a more permanent
solution might be like:

  1. schema manager I think?, should check IF geonetwork.dir was set
  2. IF geonetwork.dir set then root of file paths in schemaplugin-uri-catalog.xml should have <geonetwork.dir>/ in them.
  3. If the file paths don't have geonetwork.dir in them then delete those entries and
    recreate the correct entry.

OR on further thought, may be simpler to always remake the
config/schemaplugin-uri-catalog.xml on startup generating
the paths depending on setting of geonetwork.dir or not.

HTML 5 UI: Editor on chrome and IE is very constrained horizontally

How to reproduce:

  1. import sample data
  2. Search Hydrological Basins in Africa
  3. edit Hydrological Basins in Africa

Because the UI is so narrow (At least on my computer) it is difficult to edit many fields. It seems to me that the UI should adapt to wider browser to some degree.

IE:

ie_editor

Chrome

chrome_editor

Disable main.home jeeves service when using widgets UI

When using Geonetwork with widgets UI, classic UI (main.home) is still available.

Should be better to disable it or at least redirect to the new UI if a user invokes main.home.

Also the other way around, if classic UI is the default, the jeeves service (search) for widgets UI should be disabled.

Probably config-overrides option can be used to manage about this.

Valid ISO19139 gco:Date values rejected by GeoNetwork

a gco:Date can have a value that is simply a year, for example. Its definition:

<xs:simpleType name="Date_Type">
    <xs:union memberTypes="xs:date xs:gYearMonth xs:gYear"/>
</xs:simpleType>
<!-- ........................................................................ -->
<xs:element name="Date" type="gco:Date_Type" nillable="true"/>

However GeoNetwork rejects such values, because they are not valid ISO dates:

java.lang.IllegalArgumentException: Invalid ISO date : 2011
at org.fao.geonet.util.ISODate.setDate(ISODate.java:116)
at org.fao.geonet.util.ISODate.(ISODate.java:82)
at
org.fao.geonet.kernel.harvest.harvester.RecordInfo.isMoreRecentThan(RecordInfo.java:76)

GeoNetwork should accept all valid values for ISO19139 elements.

Spring security - regular expression issue causing false possitives

Currently the config-security-mapping.xml has regular expressions in the format of

/srv/./main.home!?.

I believe they should be in the format of

/srv/[a-z]{3}/main.home!?.*

for the ones that are using the first ".*" to mean any language.

Otherwise if I attempt to go to the following page.

http://localhost:8080/geonetwork/srv/eng/main.home?x=/stat.main

It fails due to the following pattern

"/srv/./stat.main!?."

2013-06-25 15:00:25,494 DEBUG [jeeves.config.springutil.GeonetworkFilterSecurityInterceptor] - Secure object: FilterInvocation: URL: /srv/eng/main.home?x=/stat.main; Attributes: [hasRole('Administrator')]
2013-06-25 15:00:25,495 DEBUG [jeeves.config.springutil.GeonetworkFilterSecurityInterceptor] - Previously Authenticated: org.springframework.security.authentication.AnonymousAuthenticationToken@905571d8: Principal: anonymousUser; Credentials: [PROTECTED]; Authenticated: true; Details: org.springframework.security.web.authentication.WebAuthenticationDetails@0: RemoteIpAddress: 127.0.0.1; SessionId: 1apjwrs6whwld12cae8emnd696; Granted Authorities: ROLE_ANONYMOUS

Spring Security - Submitting MEF as "editor" profile may log user off.

This issue is similar to Issue #158 but it cannot be controlled in the interface.

With MEF file it is possible for the MEF to attemtp to set groups <= 1 (i.e. publish to all) in which case an editor does not have the correct permissions - which attempts to gain higher privs.

I believe there are a few issues.

  • If it cannot update a particular metadata record due to permissions, it should ignore the record and added it to the error list as a record that could not be loaded.
  • When replacing a metadata record - it should probably perform and update instead of an delete/insert or may be need to support both option - replace(delete/insert) and update. This would allow for editors do export mef files, make some changes and then load them again. This may be a little tricky.
    Also, if there was an update - it would allow to reload metadata without losing some information - i.e. Currently if versionning is on and you replace the metadata using MEF replace - the versionning gets turned off.

Rename of jeeves service for html5 widgets UI

The jeeves service for html5 widgets UI is named "search". Should be better to use a better name.

Maybe using main.home in config-overrides pointing to the correct java class depending on UI selection can solve nicely also #129

Settings / Remove hierarchy

Settings are stored as a hierarchy in Settings table. Remove the hierarchy to make it simpler to add new values. Currently changes needs to be done in a number of places : Java code (eg. SettingManager, ConfigEntry) and XSL (eg. env.xsl, config.xsl)

Settings table structure:

  • name : setting name eg. system/indexoptimizer/enable
  • value : setting value
  • order : order to display the setting into the administration interface
  • ? should we add the following in order to automatically build the admin UI from this ?
    • type : setting type (Boolean, String, Integer, ListOfValues) - which was in ConfigEntry
    • options : setting list of values (eg. system/requestedLanguage/only) - defined in XSL

First do #167

Harvester / Error retrieving remote node groups

In 4341d2c a new 2.10.x only parameter (ie. groupsIncludingSystemGroups) was added and thus breaks compatibility with previous GN release. GN 2.10.x can't set privileges when harvesting a 2.8 or lower version.

new InfoService(loader, 'groupsIncludingSystemGroups', callBack, url, username, password);

Error is

Error : bad-parameter
Message : type
Class : BadParameterEx
Object : groupsIncludingSystemGroups

Administration / Subtemplate / Allow sort by title

In subtemplate admin panel, add:

  • allow sorting by grid column title (subtemplate title is not indexed for the time being so we can't sort them by title during search)
  • increase number of results (as paging is not provided)

HTML 5 UI: I can configure print but there is no print button on chrome

On chrome the layout of print configuration is frequently broken. For the picture before I did:

  1. Refresh page
  2. Do a empty search
  3. go to map preview
  4. Go back to search
  5. Find Hydrological Basins in Africa and click on add to map
  6. Expand print section

chrome_map_print

The results are not always the same. Once just the generate PDF button was missing.

Administration / Add map configuration

It could be relevant to be able to configure background map from the admin so user can easily switch from local geoserver background map to remote WMS as background layer.

The configuration could be made by setting a WMC to use (and providing the capability to upload new WMC).

CSW spatial search results missing records

Incorrect numbers of records are being returned for CSW searches on large metadata collections in the current stable GeoNetwork release 2.10.0. For a collection of about 150,000 ISO 19139 records, we're finding that CSW spatial searches with a bbox filter exceeding a certain size will return less records than expected.

As an example, a bbox up to a size of 123 -24 129 -18 returns the correct number of records, in this case ~9,700 of the 150,000 record collection. Increasing the bbox size by a degree in each direction to 123 -24 130 -17 returns 5,000 records, when there should be ~11,300. The number of records returned will remain at 5,000 as the bbox is increased beyond this size.

The issue only occurs with CSW searches - equivalent searches using the GN GUI appear to be OK (and are much quicker). The issue does not occur in our production GeoNetwork 2.8 instance which contains the same metadata collection and operates in an identical environment.

Our GeoNetwork instances are being run in the following environment:

  • OpenJDK 64-Bit 1.6.0_24
  • Tomcat 6.0.24
  • PostgreSQL 9.1.9 / PostGIS 2.0.3
  • JNDI container managed connection pool

Regards,

Aaron Sedgmen
Geoscience Australia

HTML 5 UI: Hard to find actions menu

THere is no link/button for showing the Actions Menu. Only a right button click will show it. This confused me for a while.

Feel free to close this and mark as invalid but to me it would be nice to have a link for show which actions are available.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.