Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GeoNetwork 4.x harvester #7579

Draft
wants to merge 10 commits into
base: main
Choose a base branch
from
42 changes: 42 additions & 0 deletions docs/manual/docs/user-guide/harvesting/harvesting-geonetwork-4.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# GeoNetwork 4.X Harvester {#gn4_harvester}

GeoNetwork 4.x changed the search engine to Elasticsearch, that is not compatible with previous versions. To harvest
a catalogue based on GeoNetwork 4.x requires this harvesting type.

## Adding a GeoNetwork 4.x Harvester

To create a GeoNetwork 4.X harvester go to `Admin console` > `Harvesting` and select `Harvest from` > `GeoNetwork (from 4.x)`:

![](img/add-geonetwork-3-harvester.png)

Providing the following information:
- **Identification** - Options describing the remote site.
- *Name* - This is a short description of the remote site. It will be shown in the harvesting main page as the name for this instance of the harvester.
- *Group* - Group that owns the harvested metadata.
- *User* - User that owns the harvested metadata.
- **Schedule** - Schedule configuration to execute the harvester.
- **Configure connection to GeoNetwork**:
- *Catalog URL* - The URL of the GeoNetwork server from which metadata will be harvested.
- *Node name* - GeoNetwork node name to harvest, by default `srv`.
- *Search filter* - This allows you to select metadata records for harvest based on certain criteria:
- *Full text*
- *Title*
- *Abstract*
- *Keyword*
- *Catalog* - Allows to select a source to filter the metadata to harvest.

- **Configure response processing**
- *Action on UUID collision* - Allows to configure the action when a harvester finds the same uuid on a record collected by another method (another harvester, importer, dashboard editor,...).
- skipped (default)
- overriden
- generate a new UUID
- *Remote authentication*
- *Use full MEF format*
- *Use change date for comparison*
- *Set category if it exists locally*
- *Category for harvested records*
- *XSL filter name to apply*
- *Validate records before import*

- **Privileges** - Assign privileges to harvested metadata.

1 change: 1 addition & 0 deletions docs/manual/docs/user-guide/harvesting/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ Harvesting is the process of ingesting metadata from remote sources and storing

The following sources can be harvested:

- [GeoNetwork 4.X Harvester](harvesting-geonetwork-4.md)
- [GeoNetwork 2.1-3.X Harvester](harvesting-geonetwork.md)
- [GeoNetwork 2.0 Harvester](harvesting-geonetwork-2.md)
- [Harvesting CSW services](harvesting-csw.md)
Expand Down
1 change: 1 addition & 0 deletions docs/manual/mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -295,6 +295,7 @@ nav:
- user-guide/harvesting/index.md
- user-guide/harvesting/harvesting-csw.md
- user-guide/harvesting/harvesting-filesystem.md
- user-guide/harvesting/harvesting-geonetwork-4.md
- user-guide/harvesting/harvesting-geonetwork.md
- user-guide/harvesting/harvesting-geonetwork-2.md
- user-guide/harvesting/harvesting-geoportal.md
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -56,14 +56,15 @@ public class GeonetParams extends AbstractParams {

private Boolean useChangeDateForUpdate;

private ArrayList<Search> alSearches = new ArrayList<Search>();
private ArrayList<Search> alSearches = new ArrayList<>();

private ArrayList<Group> alCopyPolicy = new ArrayList<Group>();
private ArrayList<Group> alCopyPolicy = new ArrayList<>();

public GeonetParams(DataManager dm) {
super(dm);
}

@Override
public void create(Element node) throws BadInputEx {
super.create(node);

Expand All @@ -80,11 +81,11 @@ public void create(Element node) throws BadInputEx {
mefFormatFull = Util.getParam(site, "mefFormatFull", false);
xslfilter = Util.getParam(site, "xslfilter", "");

//checkPort(port);
addSearches(searches);
addCopyPolicy(policy);
}

@Override
public void update(Element node) throws BadInputEx {
super.update(node);

Expand All @@ -99,8 +100,6 @@ public void update(Element node) throws BadInputEx {
mefFormatFull = Util.getParam(site, "mefFormatFull", mefFormatFull);
xslfilter = Util.getParam(site, "xslfilter", "");

//checkPort(port);

//--- if some search queries are given, we drop the previous ones and
//--- set these new ones

Expand Down
Loading
Loading