I want to highlight some important issues about the current integration between GeoNode and PyCSW.

Other than a non-trivial security issue (basically the CSW exposes metadata for all Layers no matter if they are accessible or not by the user), one more, I would say, big issue is that currently is not possible to recognize the Layer "real name" from the metadata documents.

Let me provide an example. Here below a snippet of a DublinCore XML produced by PyCSW

Seems to be good right? Wrong! There some important things missing here:

1. It is not possible to recognize the layer name at all; The element "title" is mapped to the resource title, meaning that whenever I change it on the metadata into a human readable fashion, I lose the layer name forever

2. Layer qualified name is missing; if the name had a namespace, like on GeoServer, it is not possible to know which is at all

3. WMS and WFS links cannot be used at all, since the layer name cannot be retrieved anywhere

The information in this message and/or attachments, is intended solely for the attention and use of the named addressee(s) and may be confidential or proprietary in nature or covered by the provisions of privacy act (Legislative Decree June, 30 2003, no.196 - Italy's New Data Protection Code).Any use not in accord with its purpose, any disclosure, reproduction, copying, distribution, or either dissemination, either whole or partial, is strictly forbidden except previous formal approval of the named addressee(s). If you are not the intended recipient, please contact immediately the sender by telephone, fax or e-mail and delete the information in this message that has been received in error. The sender does not give any warranty or accept liability as the content, accuracy or completeness of sent messages and accepts no responsibility for changes made after they were sent or for other risks which arise as a result of e-mail transmission, viruses, etc.

> 2. Layer qualified name is missing; if the name had a namespace, like on
> GeoServer, it is not possible to know which is at all
>
> 3. WMS and WFS links cannot be used at all, since the layer name cannot be
> retrieved anywhere
>

Anyone who wants to do tight coupling to OWS resources via CSW search
workflows needs to use the ISO output, which provides the bare URL
as well as the given Layer/FeatureType/Coverage.

Otherwise, the Dublin Core approach allows for discovery followed by
the client doing a full round trip (GetCapabilities, etc.) to be able
to find the layer again. This is not optimal, which is exactly why
the CSW ISO Application Profile was created to help tight couplling
workflows.

The information in this message and/or attachments, is intended solely for the attention and use of the named addressee(s) and may be confidential or proprietary in nature or covered by the provisions of privacy act (Legislative Decree June, 30 2003, no.196 - Italy's New Data Protection Code).Any use not in accord with its purpose, any disclosure, reproduction, copying, distribution, or either dissemination, either whole or partial, is strictly forbidden except previous formal approval of the named addressee(s). If you are not the intended recipient, please contact immediately the sender by telephone, fax or e-mail and delete the information in this message that has been received in error. The sender does not give any warranty or accept liability as the content, accuracy or completeness of sent messages and accepts no responsibility for changes made after they were sent or for other risks which arise as a result of e-mail transmission, viruses, etc.

Seems to be good right? *Wrong!* There some important things missing here:

1. It is not possible to recognize the layer name at all; The element
"title" is mapped to the resource title, meaning that whenever I change it
on the metadata into a human readable fashion, I lose the layer name forever

You should use ISO instead? See below comment.

2. Layer qualified name is missing; if the name had a namespace, like on
GeoServer, it is not possible to know which is at all

3. WMS and WFS links cannot be used at all, since the layer name cannot be
retrieved anywhere

Anyone who wants to do tight coupling to OWS resources via CSW search
workflows needs to use the ISO output, which provides the bare URL
as well as the given Layer/FeatureType/Coverage.

Otherwise, the Dublin Core approach allows for discovery followed by
the client doing a full round trip (GetCapabilities, etc.) to be able
to find the layer again. This is not optimal, which is exactly why
the CSW ISO Application Profile was created to help tight couplling
workflows.

The information in this message and/or attachments, is intended solely for
the attention and use of the named addressee(s) and may be confidential or
proprietary in nature or covered by the provisions of privacy act
(Legislative Decree June, 30 2003, no.196 - Italy's New Data Protection
Code).Any use not in accord with its purpose, any disclosure, reproduction,
copying, distribution, or either dissemination, either whole or partial, is
strictly forbidden except previous formal approval of the named
addressee(s). If you are not the intended recipient, please contact
immediately the sender by telephone, fax or e-mail and delete the
information in this message that has been received in error. The sender
does not give any warranty or accept liability as the content, accuracy or
completeness of sent messages and accepts no responsibility for changes
made after they were sent or for other risks which arise as a result of
e-mail transmission, viruses, etc.