= Adding Search on Temporal Extent to Advanced Search =
|| '''Date''' || 2010/04/14 ||
|| '''Contact(s)''' || Simon Pigot ||
|| '''Last edited''' || [[Timestamp]] ||
|| '''Status''' || complete ||
|| '''Assigned to release''' || 2.5.0 ||
|| '''Resources''' || Available, patch attached ||
== Overview ==
!GeoNetwork can search for metadata records based on date of last change but cannot search for metadata records with a temporal extent in the resource Identification section (!DataIdentification or !ServiceIdentification).
=== Proposal Type ===
* '''Type''': GUI Change, Core Change
* '''App''': !GeoNetwork
* '''Module''': Data Manager, Lucene Index, Search Interface, User Interface
=== Links ===
* '''Sandbox''': BlueNetMEST
* '''Other wiki discussions''': Proposed at 2008 Bolsena meeting and has been present in BlueNetMEST for some years - too long.
=== Voting History ===
* Note voted on yet
----
== Motivations ==
Add Temporal Search capability to !GeoNetwork.
== Proposal ==
Advanced Search Interface would look like the following:
[[Image(temporalextentsearch1.png)]]
In ISO records temporal extents can be specified in a number of different ways (GML has many different and flexible representations for time). The !GeoNetwork editor simplifies the options by using a !JavaScript calendar interface to specify an ISO !DateTime or ISO Date interface. For temporal extent searching to work correctly, we need a flexible method of parsing as many of the different time formats as possible because not all records in the catalog will be created using the !GeoNetwork editor. After parsing we will need to convert to a common time format and timezone before storing in a Lucene Index field for searching.
Example temporal extents (these were not created with the !GeoNetwork editor):
{{{
2000-01-01
P3D
}}}
{{{
-P3D
}}}
Note that the second example above uses an indeterminatePosition to specify one end of the extent - indeterminate extents are not yet supported.
Temporal extents supported:
* begin: most any date format supported by JODA eg. ISO datetime, ISO date, some other forms of date
* end: same as begin but also any GML time period eg. P3D (or even a negative period) as above
This proposal would see !GeoNetwork use the parser from the JODA time library for this purpose as the parser is very flexible in accepting different date formats and JODA has nice time functions that support GML periods. The parsing and conversion step is done by a call to Java objects that use the JODA library when preparing the Lucene Document for indexing (index-fields.xsl).
Proposal also includes hide/show for some advanced search fields to reduce size of the form.
Note that the patch file [http://trac.osgeo.org/geonetwork/attachment/wiki/MimeTypeCalculationIndexing/patch.TemporalExtentSearchAndMimeTypeCalculation here] includes some enhancements to the Lucene Index Reader provider code in !SearchManager.java and the mime type calculation and indexing proposal.
=== Backwards Compatibility Issues ===
None known.
== Participants ==
* Michael Stegherr - CSIRO CESRE - ported some of the functionality from BlueNetMEST to trunk