<div dir="ltr"><div>Hello Tom,</div><div><br></div><div>thank you very much for your response. We are still at the stage of research and testing.</div><div><br></div><div>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.</div><div><br></div><div>Our workflow is going to be probably like this:</div><div><br></div><div><font face="arial, helvetica, sans-serif">web form => MCF file => pygeometa => XML => pycsw => CKAN</font></div><div><br></div><div>Thanks for Flask recommendation!</div><div><br></div><div>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...</div><div><br></div><div><br></div><div>There is one thing in pycsw that I haven't got yet. Maybe you can help me.</div><div>I have some testing XMLs that I load to pycsw via pycsw-admin.py:</div><div><br></div><div><font face="monospace, monospace">python /path/to/pycsw-admin.py -c load_records -f /path/to/pycsw.cfg -p /path/to/xml -r</font></div><div><br></div><div>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.</div><div>I think the right way would be to use transactions (update) instead of deleting all the records all the time... </div><div>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 ).</div><div>For full update I added tags csw:Transaction and csw:Update to my metadata XML:</div><div><br></div><div><font face="monospace, monospace"><csw:Transaction ...></font></div><div><font face="monospace, monospace"><csw:Update></font></div><div><font face="monospace, monospace"><gmd:MD_Metadata ...></font></div><div><font face="monospace, monospace">...</font></div><div><font face="monospace, monospace"></gmd:MD_Metadata></font></div><div><font face="monospace, monospace"></csw:Update></font></div><div><font face="monospace, monospace"></csw:Transaction></font></div><div><br></div><div>and posted it by pycsw-admin.py:</div><div><br></div><div><font face="monospace, monospace">python /path/to/pycsw-admin.py -c post_xml -x /path/to/xml/sample.xml -u <a href="http://myhost/cgi-bin/csw.py">http://myhost/cgi-bin/csw.py</a></font></div><div><br></div><div>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?</div><div><br></div><div>Thanks for any advice,</div><div>Eva Jelinkova</div><div><br></div><div>[1] <a href="http://geopython.github.io/pycsw-workshop/docs/advanced/transactions.html">http://geopython.github.io/pycsw-workshop/docs/advanced/transactions.html</a></div><div><br></div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">2015-07-27 14:41 GMT+02:00 Tom Kralidis <span dir="ltr"><<a href="mailto:tomkralidis@gmail.com" target="_blank">tomkralidis@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
On Sun, 26 Jul 2015, Eva Jelínková wrote:<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Date: Sun, 26 Jul 2015 23:17:05 +0200<br>
From: Eva Jelínková <<a href="mailto:evka.jelinkova@gmail.com" target="_blank">evka.jelinkova@gmail.com</a>><br>
To: <a href="mailto:pycsw-devel@lists.osgeo.org" target="_blank">pycsw-devel@lists.osgeo.org</a><br>
Subject: [pycsw-devel] metadata editor<br>
<br>
Hi all pycsw people,<br>
<br>
we are trying to set a catalog service based on pycsw to store the<br>
information about the data and services in our company. pycsw works well<br>
</blockquote>
<br>
Great to hear this!  If you have endpoint(s), feel free to add them / have<br>
them added to our live deployments wiki page [1], which powers our live<br>
deployments map [2].<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
for us, it seems that the only problem is creation of metadata records... I<br>
have tried GIMED and EUOSME metadata editors but none is good enough for<br>
our case. We need just an easy open source web form (ideally python based).<br>
It don't have to be valid for all requirements of the INSPIRE directive. We<br>
will probably develop one but if there is any similar project you know<br>
about, just let me know, please. It would really help us.<br>
<br>
</blockquote>
<br>
There are numerous web options out there embedded in applications like<br>
GeoNode and CKAN, however at the cost of all the associated machinery.<br>
<br>
Having said this, as part of another project I'm involved in, we recently<br>
released pygeometa [3] which supports creating ISO from a simple ConfigParser<br>
file/object.  You could implement a simple Flask [4] based front end to<br>
provide a form and saving logic, which would create a pygeometa<br>
metadata object and then serialize to a metadata file as desired.  Or, even<br>
better, publish directly to pycsw :)<br>
<br>
..Tom<br>
<br>
[1] <a href="https://github.com/geopython/pycsw/wiki/Live-Deployments" rel="noreferrer" target="_blank">https://github.com/geopython/pycsw/wiki/Live-Deployments</a><br>
[2] <a href="http://pycsw.org/community/" rel="noreferrer" target="_blank">http://pycsw.org/community/</a><br>
[3] <a href="https://github.com/geopython/pygeometa" rel="noreferrer" target="_blank">https://github.com/geopython/pygeometa</a><br>
[4] <a href="http://flask.pocoo.org/" rel="noreferrer" target="_blank">http://flask.pocoo.org/</a><br>
</blockquote></div><br></div>