This sounds like a bug - steps to reproduce it would be useful.
Layers deleted in the Django application should also be removed from
GeoNetwork by the pre_delete signal registered at the end of maps/models.py
. Ultimately, this means that the delete_layer method in
src/GeoNodePy/geonode/geonetwork.py is called, which doesn't do much in the
way of error checking.
As far as I know we don't currently provide a way to clean out orphaned
GeoNetwork records like this, but the basic approach should be pretty
simple:
records = get all records from geonetwork
for rec in records:
geonode_record = models.Layer.objects.find(uuid = rec.fileIdentifier)
if geonode_record is None:
delete rec from geonetwork
This is just pseudocode mixed with Python, so it won't run, but it should be
enough to get you started on cleaning up your GeoNetwork. If you are
unfamiliar with the CSW protocol, the GeoNode trac wiki has some notes on
the operations available:
http://dev.geonode.org/trac/wiki/CSW_client_implementation_guidelines
I'll go ahead and create a ticket in the geonode bug tracker, but I'm not
sure how long it will be before someone is able to investigate it. If you
can add a step-by-step description of how to demonstrate the problem, that
will make it easier when a developer is able to look at it.
http://dev.geonode.org/trac/ticket/932
--
David Winslow
OpenGeo - http://opengeo.org/
On Wed, Mar 30, 2011 at 4:20 AM, Smitha V <[email protected]> wrote:
> Why is it that even after deleting the layers, they appear on the list? It
> says its stored on remote server. How do i make sure that they don't appear
> on the list of advanced search?
>
> --
> Regards
> Smitha V (MT2009149)
> 2nd Year MTech
> IIITB
>
>