[pycsw-devel] metadata editor

Eva Jelínková evka.jelinkova at gmail.com
Mon Jul 27 11:27:29 PDT 2015


Hi Tom,

I still have pycsw 1.9 so I haven't seen the thing with -y in
pycsw-admin.py. My fault... I'll upgrade!
Adding this to the docs is definitely a good idea.

Thanks a lot,
Eva




2015-07-27 18:36 GMT+02:00 Tom Kralidis <tomkralidis at gmail.com>:

>
>
> On Mon, 27 Jul 2015, Eva Jelínková wrote:
>
>  Date: Mon, 27 Jul 2015 17:34:36 +0200
>> From: Eva Jelínková <evka.jelinkova at gmail.com>
>> To: Tom Kralidis <tomkralidis at gmail.com>
>> Cc: pycsw-devel at lists.osgeo.org
>> Subject: Re: [pycsw-devel] metadata editor
>>
>> Hello Tom,
>>
>> thank you very much for your response. We are still at the stage of
>> research and testing.
>>
>> We are going to store metadata XMLs in pycsw - it's great that user can
>> access it easily via QGIS. We've already tested harvesting to CKAN which
>> we
>> plan to use as graphical user interface for browsing and searching.
>>
>> Our workflow is going to be probably like this:
>>
>> web form => MCF file => pygeometa => XML => pycsw => CKAN
>>
>> Thanks for Flask recommendation!
>>
>> I was thinking also about using CKAN as form for creating/editing records
>> but I found it difficult to get the edited record back to pycsw or create
>> XML straight from CKAN...
>>
>>
>> There is one thing in pycsw that I haven't got yet. Maybe you can help me.
>> I have some testing XMLs that I load to pycsw via pycsw-admin.py:
>>
>> python /path/to/pycsw-admin.py -c load_records -f /path/to/pycsw.cfg -p
>> /path/to/xml -r
>>
>>
>
>  When I update some of that XMLs it is impossible to just reload it because
>> "Key (identifier)=(xy) already exists". So the easiest way for me (for now
>> - I have just a few records) is delete all records in DB and than load
>> them
>> again.
>>
>
>
> We addressed this in https://github.com/geopython/pycsw/issues/290.
> Adding a -y flag to pycsw-admin.py will force update (do a pycsw-admin.py
> -h to
> see examples).  I wonder whether we should add this to the docs (
> http://docs.pycsw.org/en/latest/administration.html#loading-records) as
> well?
>
>  I think the right way would be to use transactions (update) instead of
>> deleting all the records all the time...
>> Unfortunately there is not so much information about transactions in
>> documentation (when I will be able to use transactions correctly I could
>> add there some notes for people who are novices as I am :D ).
>> For full update I added tags csw:Transaction and csw:Update to my metadata
>> XML:
>>
>> <csw:Transaction ...>
>> <csw:Update>
>> <gmd:MD_Metadata ...>
>> ...
>> </gmd:MD_Metadata>
>> </csw:Update>
>> </csw:Transaction>
>>
>> and posted it by pycsw-admin.py:
>>
>> python /path/to/pycsw-admin.py -c post_xml -x /path/to/xml/sample.xml -u
>> http://myhost/cgi-bin/csw.py
>>
>> It worked :) but my question is - is there any possibility to do the full
>> update for whole directory full of XMLs (all with update tags)? According
>> to the information I found here [1], full update should be able to update
>> records in DB and also add new ones. I think that maybe we could create
>> all
>> XML files as update XMLs and than every time we run post_xml we would have
>> all records updated. Would it be possible or am I on the completely wrong
>> way?
>>
>
> The underlying functionality of pycsw-admin.py is all scriptable as well,
> so
> you could write a script create a csw:Transaction XML as you describe with
> each XML file in a directory written inline.  Having said this,
> pycsw-admin.py
> provides these as convenience functions if you are able to run on the
> command
> line, and the -y flag will force the update.
>
> Hope this helps.
>
> ..Tom
>
>
>
>> Thanks for any advice,
>> Eva Jelinkova
>>
>> [1]
>> http://geopython.github.io/pycsw-workshop/docs/advanced/transactions.html
>>
>>
>>
>> 2015-07-27 14:41 GMT+02:00 Tom Kralidis <tomkralidis at gmail.com>:
>>
>>
>>> On Sun, 26 Jul 2015, Eva Jelínková wrote:
>>>
>>>  Date: Sun, 26 Jul 2015 23:17:05 +0200
>>>
>>>> From: Eva Jelínková <evka.jelinkova at gmail.com>
>>>> To: pycsw-devel at lists.osgeo.org
>>>> Subject: [pycsw-devel] metadata editor
>>>>
>>>> Hi all pycsw people,
>>>>
>>>> we are trying to set a catalog service based on pycsw to store the
>>>> information about the data and services in our company. pycsw works well
>>>>
>>>>
>>> Great to hear this!  If you have endpoint(s), feel free to add them /
>>> have
>>> them added to our live deployments wiki page [1], which powers our live
>>> deployments map [2].
>>>
>>>  for us, it seems that the only problem is creation of metadata
>>> records...
>>>
>>>> I
>>>> have tried GIMED and EUOSME metadata editors but none is good enough for
>>>> our case. We need just an easy open source web form (ideally python
>>>> based).
>>>> It don't have to be valid for all requirements of the INSPIRE directive.
>>>> We
>>>> will probably develop one but if there is any similar project you know
>>>> about, just let me know, please. It would really help us.
>>>>
>>>>
>>>>  There are numerous web options out there embedded in applications like
>>> GeoNode and CKAN, however at the cost of all the associated machinery.
>>>
>>> Having said this, as part of another project I'm involved in, we recently
>>> released pygeometa [3] which supports creating ISO from a simple
>>> ConfigParser
>>> file/object.  You could implement a simple Flask [4] based front end to
>>> provide a form and saving logic, which would create a pygeometa
>>> metadata object and then serialize to a metadata file as desired.  Or,
>>> even
>>> better, publish directly to pycsw :)
>>>
>>> ..Tom
>>>
>>> [1] https://github.com/geopython/pycsw/wiki/Live-Deployments
>>> [2] http://pycsw.org/community/
>>> [3] https://github.com/geopython/pygeometa
>>> [4] http://flask.pocoo.org/
>>>
>>>
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/pycsw-devel/attachments/20150727/c41bc96b/attachment-0001.html>


More information about the pycsw-devel mailing list