[GeoNetwork-devel] Question on regarding dateStamp in iso 19139

I have a few questions regarding the dateStamp field from iso-19139 before I
submit a ticket.

From the documentation for gmd:dateStamp, it specifies that this is a

created date. However the current update-fixed-info.xsl causes it to be
changed after each update. Is this intentional? It seems like it is being
used and a "last modified" date.

Also in ticket #71 <http://trac.osgeo.org/geonetwork/ticket/71&gt; , which
was implemented a while back, specifies that gco:Date is not valid for
gmd:dateStamp however based on the specification that I read, it is valid.

It seems like the logic in update-fixed-info.xsl should be changed to (if
gmd:dateStamp/gco:Date or gmd:dateStamp/gco:DateTime does not exist then
create it otherwise leave it alone....)

Does anyone else agree?

Thanks.

--
View this message in context: http://osgeo-org.1560.n6.nabble.com/Question-on-regarding-dateStamp-in-iso-19139-tp5011273.html
Sent from the GeoNetwork developer mailing list archive at Nabble.com.

Hi Ian,

Please see in-line comments below:

On Thu, 2012-10-25 at 08:13 -0700, ianwallen wrote:

I have a few questions regarding the dateStamp field from iso-19139 before I
submit a ticket.

>From the documentation for gmd:dateStamp, it specifies that this is a
created date. However the current update-fixed-info.xsl causes it to be
changed after each update. Is this intentional? It seems like it is being
used and a "last modified" date.

The definition of ISO 19115 is the date the metadata was created so the
dateStamp should *never* change. I agree that this is a bug in the
GeoNetwork implementation and well done for picking it up.

Also in ticket #71 <http://trac.osgeo.org/geonetwork/ticket/71&gt; , which
was implemented a while back, specifies that gco:Date is not valid for
gmd:dateStamp however based on the specification that I read, it is valid.

I no longer have a copy of ISO 19115 so I can't confirm your
observation.

I hope that this helps.

John Hockaday

It seems like the logic in update-fixed-info.xsl should be changed to (if
gmd:dateStamp/gco:Date or gmd:dateStamp/gco:DateTime does not exist then
create it otherwise leave it alone....)

Does anyone else agree?

Thanks.

--
View this message in context: http://osgeo-org.1560.n6.nabble.com/Question-on-regarding-dateStamp-in-iso-19139-tp5011273.html
Sent from the GeoNetwork developer mailing list archive at Nabble.com.

------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_sfd2d_oct
_______________________________________________
GeoNetwork-devel mailing list
GeoNetwork-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geonetwork-devel
GeoNetwork OpenSource is maintained at http://sourceforge.net/projects/geonetwork

John,

Thank you for your input,

I have created ticket #1121 <http://trac.osgeo.org/geonetwork/ticket/1121&gt;
.

I will wait a few days to see if there are any other replies before working
on a fix.

--
View this message in context: http://osgeo-org.1560.n6.nabble.com/Question-on-regarding-dateStamp-in-iso-19139-tp5011273p5011497.html
Sent from the GeoNetwork developer mailing list archive at Nabble.com.

Hi Ian

If not wrong harvesters use gmd:dateStamp to check if a metadata should be updated or not.

So if the remote node to harvest is a GeoNetwork node that contains the proposed change about gmd:dateStamp, then a metadata record will be harvested the first execution, but not the next times (even if has changes changes as gmd:dateStamp will not change)…

For sure, if gmd:dateStamp is not manage ok in GeoNetwork now, should be fixed. Just pointing about this as should be checked how to manage about harvesters if implemented this fix.

Regards,
Jose García

On Fri, Oct 26, 2012 at 1:16 PM, ianwallen <ianwallen@anonymised.com> wrote:

John,

Thank you for your input,

I have created ticket #1121 <http://trac.osgeo.org/geonetwork/ticket/1121>
.

I will wait a few days to see if there are any other replies before working
on a fix.


View this message in context: http://osgeo-org.1560.n6.nabble.com/Question-on-regarding-dateStamp-in-iso-19139-tp5011273p5011497.html

Sent from the GeoNetwork developer mailing list archive at Nabble.com.


Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_sfd2d_oct


GeoNetwork-devel mailing list
GeoNetwork-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geonetwork-devel
GeoNetwork OpenSource is maintained at http://sourceforge.net/projects/geonetwork


GeoCat Bridge for ArcGIS allows instant publishing of data and metadata on GeoServer and GeoNetwork. Visit http://geocat.net for details.


Jose García
GeoCat bv
Veenderweg 13
6721 WD Bennekom
The Netherlands
http://GeoCat.net

Jose,

I was just reading a document from USGIN
<http://repository.azgs.az.gov/sites/default/files/dlio/files/2010/u14/USGIN_ISO_Metadata_ofr-10-02_1.1.2.pdf&gt;
and it mentioned that USGIN and NAP both used the dateStamp as an updated
date. And it seems like it is for the harvesting reason that you just
mentioned.

I do find it weird that these standards can change the meaning of an an
element but still say that they are compatible with the standard!

NAP
<http://www.fgdc.gov/standards/projects/incits-l1-standards-projects/NAP-Metadata/napMetadataProfileV101.pdf/view&gt;
is particularly weird as they have the following in their documentation.

6.2.9. dateStamp (M)
Type: Date (see Annex A – A.4)
Description: Metadata creation date.
BP: Date of metadata creation or the last metadata update.

The "Description" clearly specifies that this is the created date however
they still say that the best practice (BP) is to used it for creation date
or last update date? Seems like a conflict to me….

So it seems like the ISO-19115 is lacking a modified date in the standard
and others are hacking it to make it work. MCP seems to have taken a better
approach by adding the revisionDate - but then the revisionDate is not
compatible with the ISO-19115 standard....

I have added a comment to the ticket that the harvesting logic may be
affected by the change.

--
View this message in context: http://osgeo-org.1560.n6.nabble.com/Question-on-regarding-dateStamp-in-iso-19139-tp5011273p5011524.html
Sent from the GeoNetwork developer mailing list archive at Nabble.com.

Hi, the rss.latest service/sort by changedate will also be affected
(but we could use the db update date info to workaround). Anyone know
if the next ISO will change the dateStamp element ? or provide
creation/update dateStamp ?

Cheers.

Francois

2012/10/26 ianwallen <ianwallen@anonymised.com>:

Jose,

I was just reading a document from USGIN
<http://repository.azgs.az.gov/sites/default/files/dlio/files/2010/u14/USGIN_ISO_Metadata_ofr-10-02_1.1.2.pdf&gt;
and it mentioned that USGIN and NAP both used the dateStamp as an updated
date. And it seems like it is for the harvesting reason that you just
mentioned.

I do find it weird that these standards can change the meaning of an an
element but still say that they are compatible with the standard!

NAP
<http://www.fgdc.gov/standards/projects/incits-l1-standards-projects/NAP-Metadata/napMetadataProfileV101.pdf/view&gt;
is particularly weird as they have the following in their documentation.

6.2.9. dateStamp (M)
Type: Date (see Annex A – A.4)
Description: Metadata creation date.
BP: Date of metadata creation or the last metadata update.

The "Description" clearly specifies that this is the created date however
they still say that the best practice (BP) is to used it for creation date
or last update date? Seems like a conflict to me….

So it seems like the ISO-19115 is lacking a modified date in the standard
and others are hacking it to make it work. MCP seems to have taken a better
approach by adding the revisionDate - but then the revisionDate is not
compatible with the ISO-19115 standard....

I have added a comment to the ticket that the harvesting logic may be
affected by the change.

--
View this message in context: http://osgeo-org.1560.n6.nabble.com/Question-on-regarding-dateStamp-in-iso-19139-tp5011273p5011524.html
Sent from the GeoNetwork developer mailing list archive at Nabble.com.

------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_sfd2d_oct
_______________________________________________
GeoNetwork-devel mailing list
GeoNetwork-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geonetwork-devel
GeoNetwork OpenSource is maintained at http://sourceforge.net/projects/geonetwork

Hi,
I just checked the ISO/DIS 19115-1.
There it seems to be changes. metadataDateStamp disappears and is replaced by an element "dateInfo" with the domain CI_Date There it can be specified which type of date it is, using the CI_DateTypeCode-List that will have a lot more values than the actual three (creation, revision, publication), eg. expiry, release, distribution, unavailable, nextUpdate....

HTH
Annina

-----Ursprüngliche Nachricht-----
Von: Francois Prunayre [mailto:fx.prunayre@anonymised.com]
Gesendet: Freitag, 26. Oktober 2012 14:45
An: ianwallen
Cc: geonetwork-devel@lists.sourceforge.net
Betreff: Re: [GeoNetwork-devel] Question on regarding dateStamp in iso 19139

Hi, the rss.latest service/sort by changedate will also be affected (but we could use the db update date info to workaround). Anyone know if the next ISO will change the dateStamp element ? or provide creation/update dateStamp ?

Cheers.

Francois

2012/10/26 ianwallen <ianwallen@anonymised.com>:

Jose,

I was just reading a document from USGIN
<http://repository.azgs.az.gov/sites/default/files/dlio/files/2010/u14
/USGIN_ISO_Metadata_ofr-10-02_1.1.2.pdf>
and it mentioned that USGIN and NAP both used the dateStamp as an
updated date. And it seems like it is for the harvesting reason that
you just mentioned.

I do find it weird that these standards can change the meaning of an
an element but still say that they are compatible with the standard!

NAP
<http://www.fgdc.gov/standards/projects/incits-l1-standards-projects/N
AP-Metadata/napMetadataProfileV101.pdf/view>
is particularly weird as they have the following in their documentation.

6.2.9. dateStamp (M)
Type: Date (see Annex A - A.4)
Description: Metadata creation date.
BP: Date of metadata creation or the last metadata update.

The "Description" clearly specifies that this is the created date
however they still say that the best practice (BP) is to used it for
creation date or last update date? Seems like a conflict to me..

So it seems like the ISO-19115 is lacking a modified date in the
standard and others are hacking it to make it work. MCP seems to have
taken a better approach by adding the revisionDate - but then the
revisionDate is not compatible with the ISO-19115 standard....

I have added a comment to the ticket that the harvesting logic may be
affected by the change.

--
View this message in context:
http://osgeo-org.1560.n6.nabble.com/Question-on-regarding-dateStamp-in
-iso-19139-tp5011273p5011524.html Sent from the GeoNetwork developer
mailing list archive at Nabble.com.

----------------------------------------------------------------------
-------- Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics Download AppDynamics Lite
for free today:
http://p.sf.net/sfu/appdyn_sfd2d_oct
_______________________________________________
GeoNetwork-devel mailing list
GeoNetwork-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geonetwork-devel
GeoNetwork OpenSource is maintained at
http://sourceforge.net/projects/geonetwork

------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_sfd2d_oct
_______________________________________________
GeoNetwork-devel mailing list
GeoNetwork-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geonetwork-devel
GeoNetwork OpenSource is maintained at http://sourceforge.net/projects/geonetwork

Francois,

iso 19115-1 <http://www.hunagi.hu/G/pub/EU/Meta4.pdf&gt; which I believe is
still in draft contains some changes to the dateStamp.

Page 150. It looks like Date Stamp was changed from MD_Metadata.dateStamp
to MD_Metadata.dateInfo which will be a CI_Date.

Page 38 specifies that dateInfo is a Date(s) *other than creation date* EG:
expiry date. So where is the creation date stored as dateStamp no longer
exist? I don't see why the creation date could not be stored in dateInfo?
Maybe this was a typo?

--
View this message in context: http://osgeo-org.1560.n6.nabble.com/Question-on-regarding-dateStamp-in-iso-19139-tp5011273p5011556.html
Sent from the GeoNetwork developer mailing list archive at Nabble.com.

Hi--
The NAP and USGIN profile both specify that the dateStamp should be an
update data for the simple reason that that is what is useful in a
harvesting system. It's schema valid with 19115, so it's a level 1
conformant profile.

ISO 19115-1 replaces dataStamp with a dataInfo/CI_Date(1..*). Profiles can
specify the dataType for the required dateInfo value, and a metadata record
can have a create date and one or more update dates.

steve

-----Original Message-----
From: ianwallen [mailto:ianwallen@anonymised.com]
Sent: Friday, October 26, 2012 6:35 AM
To: geonetwork-devel@lists.sourceforge.net
Subject: Re: [GeoNetwork-devel] Question on regarding dateStamp in iso

19139

Francois,

iso 19115-1 <http://www.hunagi.hu/G/pub/EU/Meta4.pdf&gt; which I believe is
still in draft contains some changes to the dateStamp.

Page 150. It looks like Date Stamp was changed from MD_Metadata.dateStamp
to MD_Metadata.dateInfo which will be a CI_Date.

Page 38 specifies that dateInfo is a Date(s) *other than creation date*

EG:

expiry date. So where is the creation date stored as dateStamp no longer

exist? I

don't see why the creation date could not be stored in dateInfo?
Maybe this was a typo?

--
View this message in context:

http://osgeo-org.1560.n6.nabble.com/Question-

on-regarding-dateStamp-in-iso-19139-tp5011273p5011556.html
Sent from the GeoNetwork developer mailing list archive at Nabble.com.

----------------------------------------------------------------------------
--

Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics Download AppDynamics Lite for
free today:
http://p.sf.net/sfu/appdyn_sfd2d_oct
_______________________________________________
GeoNetwork-devel mailing list
GeoNetwork-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geonetwork-devel
GeoNetwork OpenSource is maintained at
http://sourceforge.net/projects/geonetwork

Steve,

By NAP and USGIN allowing a modified date - it may not affect the XML schema
validation however it does not fully conform to the 19115. If I have a
database of true iso 19115 records, I can query them to find out when the
first records was created. With NAP and USGIN this is not possible. However
it seems NAP and USGIN was done this way due to short comings from the ISO
19115 standard - which the seem to be fixing in the iso 19115-1.

As mentioned in prior posting, according to the ISO-19115-1 link posted,
Page 38 specifies that "dateInfo is a Date(s) other than creation date" so
it does not look like the create date can be placed in the dataInfo/CI_Date.
However - I'm hoping this is a typo and will be corrected in the final
version.

--
View this message in context: http://osgeo-org.1560.n6.nabble.com/Question-on-regarding-dateStamp-in-iso-19139-tp5011273p5011579.html
Sent from the GeoNetwork developer mailing list archive at Nabble.com.

Hi Ian et al,

The intention of replacing the dateStamp with dateInfo in ISO 19115-1,
was to allow the documentation of all different types of dates. IE.
'creation', 'revision', etc. etc. So this will meet the requirements of
all.

NAP and USGIN should *not* have changed the definition of the ISO 19115
element. They should have added another element for 'last updated' date.
Changing the definition of an element contravenes the ISO 19115 and ISO
19106 rules of profiles.

Anyway, once ISo 19115-1 is published then the problem will go away. I'm
surprised that the NAP and USGIN got away with the change to the
dateStamp definition.

I hope that this helps.

John Hockaday

On Fri, 2012-10-26 at 08:23 -0700, ianwallen wrote:

Steve,

By NAP and USGIN allowing a modified date - it may not affect the XML schema
validation however it does not fully conform to the 19115. If I have a
database of true iso 19115 records, I can query them to find out when the
first records was created. With NAP and USGIN this is not possible. However
it seems NAP and USGIN was done this way due to short comings from the ISO
19115 standard - which the seem to be fixing in the iso 19115-1.

As mentioned in prior posting, according to the ISO-19115-1 link posted,
Page 38 specifies that "dateInfo is a Date(s) other than creation date" so
it does not look like the create date can be placed in the dataInfo/CI_Date.
However - I'm hoping this is a typo and will be corrected in the final
version.

--
View this message in context: http://osgeo-org.1560.n6.nabble.com/Question-on-regarding-dateStamp-in-iso-19139-tp5011273p5011579.html
Sent from the GeoNetwork developer mailing list archive at Nabble.com.

------------------------------------------------------------------------------
The Windows 8 Center
In partnership with Sourceforge
Your idea - your app - 30 days. Get started!
http://windows8center.sourceforge.net/
what-html-developers-need-to-know-about-coding-windows-8-metro-style-apps/
_______________________________________________
GeoNetwork-devel mailing list
GeoNetwork-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geonetwork-devel
GeoNetwork OpenSource is maintained at http://sourceforge.net/projects/geonetwork

I think we are now clear on the specifications. But it does not seem to fix
the current issue with geonetwork dependency on the dateStamp field for
harvesting.

It seems like we should not be depending on the dateStamp for the harvesting
process. Is it possible to use the database changeDate field in the
harvesting process? If so, how big a job would it be (I'm guessing that it
would not make the 2.8 release!)

--
View this message in context: http://osgeo-org.1560.n6.nabble.com/Question-on-regarding-dateStamp-in-iso-19139-tp5011273p5011953.html
Sent from the GeoNetwork developer mailing list archive at Nabble.com.

Hi Ian and Geonetworkers,

Pretty sure the database changeDate field is already used by the GN harvesters
to decide if a metadata record should be re-harvested.
Could one of the developers confirm.

Good that you noticed how the update-fixed-info.xsl is updating the gmd:DateStamp.
I agree update-fixed-info.xsl shouldn't be touching the gmd:DateStamp.

Regards,

Andrew

----- Original Message ----- From: "ianwallen" <ianwallen@anonymised.com>
To: <geonetwork-devel@lists.sourceforge.net>
Sent: Monday, October 29, 2012 10:19 PM
Subject: Re: [GeoNetwork-devel] Question on regarding dateStamp in iso 19139

I think we are now clear on the specifications. But it does not seem to fix
the current issue with geonetwork dependency on the dateStamp field for
harvesting.

It seems like we should not be depending on the dateStamp for the harvesting
process. Is it possible to use the database changeDate field in the
harvesting process? If so, how big a job would it be (I'm guessing that it
would not make the 2.8 release!)

--
View this message in context: http://osgeo-org.1560.n6.nabble.com/Question-on-regarding-dateStamp-in-iso-19139-tp5011273p5011953.html
Sent from the GeoNetwork developer mailing list archive at Nabble.com.

------------------------------------------------------------------------------
The Windows 8 Center - In partnership with Sourceforge
Your idea - your app - 30 days.
Get started!
http://windows8center.sourceforge.net/
what-html-developers-need-to-know-about-coding-windows-8-metro-style-apps/
_______________________________________________
GeoNetwork-devel mailing list
GeoNetwork-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geonetwork-devel
GeoNetwork OpenSource is maintained at http://sourceforge.net/projects/geonetwork

hi Andrew,

by GN harvesters do you mean, GeoNetwork protocol harvesters ?

Those could use the database changedate, but currently they don’t do that; if a metadata with the same uuid as one in the harvesting result exists, it is overwritten, with no regard to timestamp.

CSW harvesting compares local client’s dateStamp to the the metadata in the harvesting result to decide whether to update or to never mind, but if the date element in the ISO19139 metadata is not guaranteed to be a LastModificationDate (which seems to be so from your previous emails in this thread), then that update system should be considered broken, I guess, and we should rather ignore datestamps altogether and just replace metadata having the same uuid as metadata in the harvest results.

Kind regards
Heikki Doeleman

On Tue, Oct 30, 2012 at 2:32 AM, andrew walsh <awalsh@anonymised.com> wrote:

Hi Ian and Geonetworkers,

Pretty sure the database changeDate field is already used by the GN harvesters
to decide if a metadata record should be re-harvested.
Could one of the developers confirm.

Good that you noticed how the update-fixed-info.xsl is updating the
gmd:DateStamp.
I agree update-fixed-info.xsl shouldn’t be touching the gmd:DateStamp.

Regards,

Andrew

----- Original Message -----
From: “ianwallen” <ianwallen@anonymised.com>
To: <geonetwork-devel@lists.sourceforge.net>
Sent: Monday, October 29, 2012 10:19 PM
Subject: Re: [GeoNetwork-devel] Question on regarding dateStamp in iso 19139

I think we are now clear on the specifications. But it does not seem to fix
the current issue with geonetwork dependency on the dateStamp field for
harvesting.

It seems like we should not be depending on the dateStamp for the harvesting
process. Is it possible to use the database changeDate field in the
harvesting process? If so, how big a job would it be (I’m guessing that it
would not make the 2.8 release!)


View this message in context:
http://osgeo-org.1560.n6.nabble.com/Question-on-regarding-dateStamp-in-iso-19139-tp5011273p5011953.html
Sent from the GeoNetwork developer mailing list archive at Nabble.com.


The Windows 8 Center - In partnership with Sourceforge
Your idea - your app - 30 days.
Get started!
http://windows8center.sourceforge.net/
what-html-developers-need-to-know-about-coding-windows-8-metro-style-apps/


GeoNetwork-devel mailing list
GeoNetwork-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geonetwork-devel
GeoNetwork OpenSource is maintained at
http://sourceforge.net/projects/geonetwork


Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_sfd2d_oct


GeoNetwork-devel mailing list
GeoNetwork-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geonetwork-devel
GeoNetwork OpenSource is maintained at http://sourceforge.net/projects/geonetwork

Hi,

Some remarks from my side:

You are right with the ISO "restrictions" about the creation date, but where would you actually store the revision/update information for the metadata set? I don't think there is a possibility.
Within the maintenance class, there is only an attribute for the next scheduled update.

I think this missing element is the reason, why many implementations (not only GeoNetwork) use the field to store the (IMHO more useful and meaningful) information about the last modification (automatic update on saving the metadata).

When we worked on the German translation of ISO 19115[*], we also discussed this issue with several participants from different offices and enterprises in Germany and Switzerland and finally agreed to include the "change" in the attribute description to sort of allow storing the change date.
One reason to allow change dates were also the INSPIRE technical guidelines[**] where the following comment is made on dateStamp:

'ISO is more restrictive because this element
shall contain the "date that the metadata
was created" and INSPIRE may contain the
"date when the metadata record was
created or updated"'

Annina

[*]resulting in an official Document of the German SDI: http://www.gdi-de.org/download/AK/ISO19115_GermanTranslation_GDIDE.pdf

[**]http://inspire.jrc.ec.europa.eu/documents/Metadata/INSPIRE_MD_IR_and_ISO_v1_2_20100616.pdf

hi,

discussed briefly with François and created a ticket to change the behaviour: http://trac.osgeo.org/geonetwork/ticket/1124. Set for 2.8.0 as the change is very small.

If people don’t agree to this change, please comment in the ticket asap.

Kind regards
Heikki Doeleman

On Tue, Oct 30, 2012 at 2:15 PM, Annina Hirschi Wyss <annina.hirschi@anonymised.com.458…> wrote:

Hi,

Some remarks from my side:

You are right with the ISO “restrictions” about the creation date, but where would you actually store the revision/update information for the metadata set? I don’t think there is a possibility.
Within the maintenance class, there is only an attribute for the next scheduled update.

I think this missing element is the reason, why many implementations (not only GeoNetwork) use the field to store the (IMHO more useful and meaningful) information about the last modification (automatic update on saving the metadata).

When we worked on the German translation of ISO 19115[*], we also discussed this issue with several participants from different offices and enterprises in Germany and Switzerland and finally agreed to include the “change” in the attribute description to sort of allow storing the change date.
One reason to allow change dates were also the INSPIRE technical guidelines[**] where the following comment is made on dateStamp:

‘ISO is more restrictive because this element
shall contain the “date that the metadata
was created” and INSPIRE may contain the
“date when the metadata record was
created or updated”’

Annina

[*]resulting in an official Document of the German SDI: http://www.gdi-de.org/download/AK/ISO19115_GermanTranslation_GDIDE.pdf

[**]http://inspire.jrc.ec.europa.eu/documents/Metadata/INSPIRE_MD_IR_and_ISO_v1_2_20100616.pdf


Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_sfd2d_oct


GeoNetwork-devel mailing list
GeoNetwork-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geonetwork-devel
GeoNetwork OpenSource is maintained at http://sourceforge.net/projects/geonetwork

… just to clarify: I do not propose here to change the behaviour that GeoNetwork uses this element as a last modification date; only to make the check in CSW (and maybe other) harvester fool-proof to this in case the harvested catalog does not use the element in this way.

On Tue, Oct 30, 2012 at 2:43 PM, heikki <tropicano@anonymised.com> wrote:

hi,

discussed briefly with François and created a ticket to change the behaviour: http://trac.osgeo.org/geonetwork/ticket/1124. Set for 2.8.0 as the change is very small.

If people don’t agree to this change, please comment in the ticket asap.

Kind regards
Heikki Doeleman

On Tue, Oct 30, 2012 at 2:15 PM, Annina Hirschi Wyss <annina.hirschi@anonymised.com> wrote:

Hi,

Some remarks from my side:

You are right with the ISO “restrictions” about the creation date, but where would you actually store the revision/update information for the metadata set? I don’t think there is a possibility.
Within the maintenance class, there is only an attribute for the next scheduled update.

I think this missing element is the reason, why many implementations (not only GeoNetwork) use the field to store the (IMHO more useful and meaningful) information about the last modification (automatic update on saving the metadata).

When we worked on the German translation of ISO 19115[*], we also discussed this issue with several participants from different offices and enterprises in Germany and Switzerland and finally agreed to include the “change” in the attribute description to sort of allow storing the change date.
One reason to allow change dates were also the INSPIRE technical guidelines[**] where the following comment is made on dateStamp:

‘ISO is more restrictive because this element
shall contain the “date that the metadata
was created” and INSPIRE may contain the
“date when the metadata record was
created or updated”’

Annina

[*]resulting in an official Document of the German SDI: http://www.gdi-de.org/download/AK/ISO19115_GermanTranslation_GDIDE.pdf

[**]http://inspire.jrc.ec.europa.eu/documents/Metadata/INSPIRE_MD_IR_and_ISO_v1_2_20100616.pdf


Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_sfd2d_oct


GeoNetwork-devel mailing list
GeoNetwork-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geonetwork-devel
GeoNetwork OpenSource is maintained at http://sourceforge.net/projects/geonetwork

Hello Heikki, Ian, Simon, John, Annina and All,

Yes, Heikki to confirm I was talking about the 'Geonetwork' protocol harvester.

I had always thought the Geonetwork had used the database 'changeDate' in the
metadata table as a means to decide to harvest or not. This seemed logical to me.

My reasoning for this thought is the BlueNet MEST version of Geonetwork
we have been using since August 2010 DOES NOT update the gmd:dateStamp when
records are edited/saved.

Looking at the update-fixed-info.xsl from the Bluenet MEST version 1.4.9 (14/10/2011) of GN
for the ISO19139-mcp schema it says:

<xsl:template match="gmd:dateStamp">
  <xsl:choose>
   <xsl:when test="/root/env/updateDateStamp='yes'">
    <gmd:dateStamp>
     <gco:DateTime><xsl:value-of select="/root/env/changeDate"/></gco:DateTime>
    </gmd:dateStamp>
   </xsl:when>
   <xsl:otherwise>
    <xsl:copy-of select="."/>
   </xsl:otherwise>
  </xsl:choose>
</xsl:template>

That is, only update the gmd:DateStamp if ="/root/env/updateDateStamp='yes'
which I never found occurring. How would the /root/env/updateDateStamp be set to yes?
Simon, maybe you could help here.

Given that I never observed the gmd:DateStamp updating it never occurred to me that this
would used by the harvester as check whether to harvest a record. So I assumed the
harvester was looking rather at the database changeDate to decide whether to harvest or not.

Whereas the core (International version) of Geonetwork from
v2.6.3 up until the current V2.8.0RC1 DOES update the gmd:dateStamp on edit/save
as recently noted by Ian Allen (thanks! Ian).

Looking at update-fixed-info.xsl in all these situations:

- GN v2.8.0RC1 with ISO19139 schema
- GN v2.8.0RC1 + ANZMEST 2.8.0RC1 with ISO19139 schema
- GN v2.8.0RC1 + ANZMEST 2.8.0RC1 with ISO19139-mcp1.4 schema
they all have:

<xsl:template match="gmd:dateStamp">
    <xsl:choose>
        <xsl:when test="/root/env/changeDate">
            <xsl:copy>
                    <gco:DateTime>
                        <xsl:value-of select="/root/env/changeDate"/>
                    </gco:DateTime>
            </xsl:copy>
        </xsl:when>
        <xsl:otherwise>
            <xsl:copy-of select="."/>
        </xsl:otherwise>
    </xsl:choose>
</xsl:template>

Hi Simon,

Could you let me know your understanding of how the 'Geonetwork' protocol harvester
decides whether to harvest or not in the older Geonetwork+BlueNet and more recent
Geonetwork+ANZMEST versions?

It seems to me that the Geonetwork protocol harvester and CSW protocol harvester could use the
database changeDate but maybe I am missing some point?

Regards All,

Andrew

Tuesday, 30 October 2012 21:22 Heikki Doeleman wrote"

hi Andrew,

by GN harvesters do you mean, GeoNetwork protocol harvesters ?

Those could use the database changedate, but currently they don't do that; if a metadata with the same uuid as one in the >harvesting result exists, it is overwritten, with no regard to timestamp.

CSW harvesting compares local client's dateStamp to the the metadata in the harvesting result to decide whether to update or >to never mind, but if the date element in the ISO19139 metadata is not guaranteed to be a LastModificationDate (which seems >to be so from your previous emails in this thread), then that update system should be considered broken, I guess, and we >should rather ignore datestamps altogether and just replace metadata having the same uuid as metadata in the harvest results.

Kind regards
Heikki Doeleman

----- Original Message ----- From: heikki
To: Annina Hirschi Wyss
Cc: ianwallen@anonymised.com ; geonetwork-devel@lists.sourceforge.net
Sent: Wednesday, October 31, 2012 12:48 AM
Subject: Re: [GeoNetwork-devel] Question on regarding dateStamp in iso 19139

.. just to clarify: I do not propose here to change the behaviour that GeoNetwork uses this element as a last modification date; only to make the check in CSW (and maybe other) harvester fool-proof to this in case the harvested catalog does not use the element in this way.

On Tue, Oct 30, 2012 at 2:43 PM, heikki <tropicano@anonymised.com> wrote:

hi,

discussed briefly with François and created a ticket to change the behaviour: http://trac.osgeo.org/geonetwork/ticket/1124. Set for 2.8.0 as the change is very small.

If people don't agree to this change, please comment in the ticket asap.

Kind regards
Heikki Doeleman

On Tue, Oct 30, 2012 at 2:15 PM, Annina Hirschi Wyss <annina.hirschi@anonymised.com...> wrote:

Hi,

Some remarks from my side:

You are right with the ISO "restrictions" about the creation date, but where would you actually store the revision/update information for the metadata set? I don't think there is a possibility.
Within the maintenance class, there is only an attribute for the next scheduled update.

I think this missing element is the reason, why many implementations (not only GeoNetwork) use the field to store the (IMHO more useful and meaningful) information about the last modification (automatic update on saving the metadata).

When we worked on the German translation of ISO 19115[*], we also discussed this issue with several participants from different offices and enterprises in Germany and Switzerland and finally agreed to include the "change" in the attribute description to sort of allow storing the change date.
One reason to allow change dates were also the INSPIRE technical guidelines[**] where the following comment is made on dateStamp:

'ISO is more restrictive because this element
shall contain the "date that the metadata
was created" and INSPIRE may contain the
"date when the metadata record was
created or updated"'

Annina

[*]resulting in an official Document of the German SDI: http://www.gdi-de.org/download/AK/ISO19115_GermanTranslation_GDIDE.pdf

[**]http://inspire.jrc.ec.europa.eu/documents/Metadata/INSPIRE_MD_IR_and_ISO_v1_2_20100616.pdf

------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_sfd2d_oct
_______________________________________________
GeoNetwork-devel mailing list
GeoNetwork-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geonetwork-devel
GeoNetwork OpenSource is maintained at http://sourceforge.net/projects/geonetwork

------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_sfd2d_oct

Andrew,

I implemented a change sometime ago that extracts the modification date from the metadata schema in a customizable way for each schema - this is extract-date-modified.xsl and its iimplemented for each schema - so iso19139.mcp and iso19139.mcp-1.4 records should be using mcp:revisionDate in the CSW harvester when checking for updated records.

extract-date-modified.xsl for iso19139 uses gmd:dateStamp because (as everyone has already said) the dateStamp is used for this purpose in most implementations.

Cheers,
Simon
________________________________________
From: andrew walsh [awalsh@anonymised.com]
Sent: Wednesday, 31 October 2012 6:06 PM
To: tropicano@anonymised.com
Cc: geonetwork-devel@anonymised.com
Subject: Re: [GeoNetwork-devel] Question on regarding dateStamp in iso 19139

Hello Heikki, Ian, Simon, John, Annina and All,

Yes, Heikki to confirm I was talking about the 'Geonetwork' protocol harvester.

I had always thought the Geonetwork had used the database 'changeDate' in the
metadata table as a means to decide to harvest or not. This seemed logical to
me.

My reasoning for this thought is the BlueNet MEST version of Geonetwork
we have been using since August 2010 DOES NOT update the gmd:dateStamp when
records are edited/saved.

Looking at the update-fixed-info.xsl from the Bluenet MEST version 1.4.9
(14/10/2011) of GN
for the ISO19139-mcp schema it says:

<xsl:template match="gmd:dateStamp">
  <xsl:choose>
   <xsl:when test="/root/env/updateDateStamp='yes'">
    <gmd:dateStamp>
     <gco:DateTime><xsl:value-of select="/root/env/changeDate"/></gco:DateTime>
    </gmd:dateStamp>
   </xsl:when>
   <xsl:otherwise>
    <xsl:copy-of select="."/>
   </xsl:otherwise>
  </xsl:choose>
</xsl:template>

That is, only update the gmd:DateStamp if ="/root/env/updateDateStamp='yes'
which I never found occurring. How would the /root/env/updateDateStamp be set to
yes?
Simon, maybe you could help here.

Given that I never observed the gmd:DateStamp updating it never occurred to me
that this
would used by the harvester as check whether to harvest a record. So I assumed
the
harvester was looking rather at the database changeDate to decide whether to
harvest or not.

Whereas the core (International version) of Geonetwork from
v2.6.3 up until the current V2.8.0RC1 DOES update the gmd:dateStamp on edit/save
as recently noted by Ian Allen (thanks! Ian).

Looking at update-fixed-info.xsl in all these situations:

- GN v2.8.0RC1 with ISO19139 schema
- GN v2.8.0RC1 + ANZMEST 2.8.0RC1 with ISO19139 schema
- GN v2.8.0RC1 + ANZMEST 2.8.0RC1 with ISO19139-mcp1.4 schema
they all have:

<xsl:template match="gmd:dateStamp">
    <xsl:choose>
        <xsl:when test="/root/env/changeDate">
            <xsl:copy>
                    <gco:DateTime>
                        <xsl:value-of select="/root/env/changeDate"/>
                    </gco:DateTime>
            </xsl:copy>
        </xsl:when>
        <xsl:otherwise>
            <xsl:copy-of select="."/>
        </xsl:otherwise>
    </xsl:choose>
</xsl:template>

Hi Simon,

Could you let me know your understanding of how the 'Geonetwork' protocol
harvester
decides whether to harvest or not in the older Geonetwork+BlueNet and more
recent
Geonetwork+ANZMEST versions?

It seems to me that the Geonetwork protocol harvester and CSW protocol harvester
could use the
database changeDate but maybe I am missing some point?

Regards All,

Andrew

Tuesday, 30 October 2012 21:22 Heikki Doeleman wrote"

hi Andrew,

by GN harvesters do you mean, GeoNetwork protocol harvesters ?

Those could use the database changedate, but currently they don't do that; if a
metadata with the same uuid as one in the >harvesting result exists, it is
overwritten, with no regard to timestamp.

CSW harvesting compares local client's dateStamp to the the metadata in the
harvesting result to decide whether to update or >to never mind, but if the
date element in the ISO19139 metadata is not guaranteed to be a
LastModificationDate (which seems >to be so from your previous emails in this
thread), then that update system should be considered broken, I guess, and we
>should rather ignore datestamps altogether and just replace metadata having
the same uuid as metadata in the harvest results.

Kind regards
Heikki Doeleman

----- Original Message -----
From: heikki
To: Annina Hirschi Wyss
Cc: ianwallen@anonymised.com ; geonetwork-devel@lists.sourceforge.net
Sent: Wednesday, October 31, 2012 12:48 AM
Subject: Re: [GeoNetwork-devel] Question on regarding dateStamp in iso 19139

.. just to clarify: I do not propose here to change the behaviour that
GeoNetwork uses this element as a last modification date; only to make the check
in CSW (and maybe other) harvester fool-proof to this in case the harvested
catalog does not use the element in this way.

On Tue, Oct 30, 2012 at 2:43 PM, heikki <tropicano@anonymised.com> wrote:

hi,

discussed briefly with François and created a ticket to change the behaviour:
#1124 (Unsafe update check in harvesters) – GeoNetwork opensource Developer website. Set for 2.8.0 as the change is
very small.

If people don't agree to this change, please comment in the ticket asap.

Kind regards
Heikki Doeleman

On Tue, Oct 30, 2012 at 2:15 PM, Annina Hirschi Wyss <annina.hirschi@anonymised.com...>
wrote:

Hi,

Some remarks from my side:

You are right with the ISO "restrictions" about the creation date, but where
would you actually store the revision/update information for the metadata set? I
don't think there is a possibility.
Within the maintenance class, there is only an attribute for the next scheduled
update.

I think this missing element is the reason, why many implementations (not only
GeoNetwork) use the field to store the (IMHO more useful and meaningful)
information about the last modification (automatic update on saving the
metadata).

When we worked on the German translation of ISO 19115[*], we also discussed this
issue with several participants from different offices and enterprises in
Germany and Switzerland and finally agreed to include the "change" in the
attribute description to sort of allow storing the change date.
One reason to allow change dates were also the INSPIRE technical guidelines[**]
where the following comment is made on dateStamp:

'ISO is more restrictive because this element
shall contain the "date that the metadata
was created" and INSPIRE may contain the
"date when the metadata record was
created or updated"'

Annina

[*]resulting in an official Document of the German SDI:
http://www.gdi-de.org/download/AK/ISO19115_GermanTranslation_GDIDE.pdf

[**]INSPIRE Knowledge base - European Commission

------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:

_______________________________________________
GeoNetwork-devel mailing list
GeoNetwork-devel@lists.sourceforge.net

GeoNetwork OpenSource is maintained at

------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:

------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:

_______________________________________________
GeoNetwork-devel mailing list
GeoNetwork-devel@lists.sourceforge.net

GeoNetwork OpenSource is maintained at http://sourceforge.net/projects/geonetwork

hi Andrew,

the code for the GeoNetwork 2.0 protocol harvester, where the client decides whether to update a metadata if it already exists, is here, from line 99: https://github.com/geonetwork/core-geonetwork/blob/master/web/src/main/java/org/fao/geonet/kernel/harvest/harvester/geonet20/Aligner.java.

As you can see, although changeDate seems to be available, it is only used to debug-log. The update-or-not decision is this


                    String id = dataMan.getMetadataId(dbms, remoteUuid);

                    if (id == null) {

                        id = addMetadata(info);

                    }

                    else {

                        updateMetadata(siteId, info, id);

                    }

                    dbms.commit();

which doesn’t look at the date.

Anyway I don’t think this is all that important, because the end result should be the same whether it looks at the date or not – it may just prevent some unnecessary updates if it would look at the date.

It also explains why things seem to work for you even if you see that the dateStamp inside your metadata never gets updated. It just doesn’t look at any date, neither from the database table, nor from the metadata element, and will always update existing metadata.

To me it’s more important to remove the date check from the CSW harvester, which does use the dateStamp field from inside the metadata, when the content of that field may not be the last modification date, in all cases.

Does this make sense ?

Kind regards
Heikki Doeleman

On Wed, Oct 31, 2012 at 8:06 AM, andrew walsh <awalsh@anonymised.com> wrote:

Hello Heikki, Ian, Simon, John, Annina and All,

Yes, Heikki to confirm I was talking about the ‘Geonetwork’ protocol harvester.

I had always thought the Geonetwork had used the database ‘changeDate’ in the
metadata table as a means to decide to harvest or not. This seemed logical to me.

My reasoning for this thought is the BlueNet MEST version of Geonetwork
we have been using since August 2010 DOES NOT update the gmd:dateStamp when
records are edited/saved.

Looking at the update-fixed-info.xsl from the Bluenet MEST version 1.4.9 (14/10/2011) of GN
for the ISO19139-mcp schema it says:

<xsl:template match=“gmd:dateStamp”>
xsl:choose
<xsl:when test=“/root/env/updateDateStamp=‘yes’”>
gmd:dateStamp
gco:DateTime<xsl:value-of select=“/root/env/changeDate”/></gco:DateTime>
</gmd:dateStamp>
</xsl:when>
xsl:otherwise
<xsl:copy-of select=“.”/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>

That is, only update the gmd:DateStamp if ="/root/env/updateDateStamp=‘yes’
which I never found occurring. How would the /root/env/updateDateStamp be set to yes?
Simon, maybe you could help here.

Given that I never observed the gmd:DateStamp updating it never occurred to me that this
would used by the harvester as check whether to harvest a record. So I assumed the
harvester was looking rather at the database changeDate to decide whether to harvest or not.

Whereas the core (International version) of Geonetwork from
v2.6.3 up until the current V2.8.0RC1 DOES update the gmd:dateStamp on edit/save
as recently noted by Ian Allen (thanks! Ian).

Looking at update-fixed-info.xsl in all these situations:

  • GN v2.8.0RC1 with ISO19139 schema
  • GN v2.8.0RC1 + ANZMEST 2.8.0RC1 with ISO19139 schema
  • GN v2.8.0RC1 + ANZMEST 2.8.0RC1 with ISO19139-mcp1.4 schema
    they all have:

<xsl:template match=“gmd:dateStamp”>
xsl:choose
<xsl:when test=“/root/env/changeDate”>
xsl:copy
gco:DateTime
<xsl:value-of select=“/root/env/changeDate”/>
</gco:DateTime>
</xsl:copy>
</xsl:when>
xsl:otherwise
<xsl:copy-of select=“.”/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>

Hi Simon,

Could you let me know your understanding of how the ‘Geonetwork’ protocol harvester
decides whether to harvest or not in the older Geonetwork+BlueNet and more recent
Geonetwork+ANZMEST versions?

It seems to me that the Geonetwork protocol harvester and CSW protocol harvester could use the
database changeDate but maybe I am missing some point?

Regards All,

Andrew

Tuesday, 30 October 2012 21:22 Heikki Doeleman wrote"

hi Andrew,

by GN harvesters do you mean, GeoNetwork protocol harvesters ?

Those could use the database changedate, but currently they don’t do that; if a metadata with the same uuid as one in the >harvesting result exists, it is overwritten, with no regard to timestamp.

CSW harvesting compares local client’s dateStamp to the the metadata in the harvesting result to decide whether to update or >to never mind, but if the date element in the ISO19139 metadata is not guaranteed to be a LastModificationDate (which seems >to be so from your previous emails in this thread), then that update system should be considered broken, I guess, and we >should rather ignore datestamps altogether and just replace metadata having the same uuid as metadata in the harvest results.

Kind regards
Heikki Doeleman

----- Original Message ----- From: heikki
To: Annina Hirschi Wyss
Cc: ianwallen@anonymised.com… ; geonetwork-devel@anonymised.comsourceforge.net
Sent: Wednesday, October 31, 2012 12:48 AM

Subject: Re: [GeoNetwork-devel] Question on regarding dateStamp in iso 19139

… just to clarify: I do not propose here to change the behaviour that GeoNetwork uses this element as a last modification date; only to make the check in CSW (and maybe other) harvester fool-proof to this in case the harvested catalog does not use the element in this way.

On Tue, Oct 30, 2012 at 2:43 PM, heikki <tropicano@anonymised.com> wrote:

hi,

discussed briefly with François and created a ticket to change the behaviour: http://trac.osgeo.org/geonetwork/ticket/1124. Set for 2.8.0 as the change is very small.

If people don’t agree to this change, please comment in the ticket asap.

Kind regards
Heikki Doeleman

On Tue, Oct 30, 2012 at 2:15 PM, Annina Hirschi Wyss <annina.hirschi@anonymised.com> wrote:

Hi,

Some remarks from my side:

You are right with the ISO “restrictions” about the creation date, but where would you actually store the revision/update information for the metadata set? I don’t think there is a possibility.
Within the maintenance class, there is only an attribute for the next scheduled update.

I think this missing element is the reason, why many implementations (not only GeoNetwork) use the field to store the (IMHO more useful and meaningful) information about the last modification (automatic update on saving the metadata).

When we worked on the German translation of ISO 19115[*], we also discussed this issue with several participants from different offices and enterprises in Germany and Switzerland and finally agreed to include the “change” in the attribute description to sort of allow storing the change date.
One reason to allow change dates were also the INSPIRE technical guidelines[**] where the following comment is made on dateStamp:

‘ISO is more restrictive because this element
shall contain the “date that the metadata
was created” and INSPIRE may contain the
“date when the metadata record was
created or updated”’

Annina

[*]resulting in an official Document of the German SDI: http://www.gdi-de.org/download/AK/ISO19115_GermanTranslation_GDIDE.pdf

[**]http://inspire.jrc.ec.europa.eu/documents/Metadata/INSPIRE_MD_IR_and_ISO_v1_2_20100616.pdf


Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_sfd2d_oct


GeoNetwork-devel mailing list
GeoNetwork-devel@anonymised.comsourceforge.net
https://lists.sourceforge.net/lists/listinfo/geonetwork-devel
GeoNetwork OpenSource is maintained at http://sourceforge.net/projects/geonetwork


Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_sfd2d_oct