Hi Armin,<div><br></div><div>Thanks for pointing this to me. I will go through it. There is no english version of this page. but thanks to Google translate :-)<br><br><div class="gmail_quote">2010/6/8 Armin Retterath <span dir="ltr">&lt;<a href="mailto:armin.retterath@lvermgeo.rlp.de">armin.retterath@lvermgeo.rlp.de</a>&gt;</span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">hi vikas,<br>
<br>
the authentication should be done as a digest authentication. we have an<br>
authentication module to secure the registrated service as an ows proxy. the<br>
digest hashes for all users are already stored in the mapbender mb_user table<br>
since 2.7 (trunk)<br>
see<br>
<a href="http://www.mapbender.org/Http_auth" target="_blank">http://www.mapbender.org/Http_auth</a><br>
<br>
regards<br>
armin<br>
<br>
Am Montag 07 Juni 2010 21:36:28 schrieb Vikas Banjara:<br>
<div><div></div><div class="h5">&gt; Hi all,<br>
&gt;<br>
&gt; First of all, sorry for not attending the IRC meeting today. There was a<br>
&gt; power cut in our city today. And the laptop battery was drained.<br>
&gt;<br>
&gt; Now coming to the progress of the project. I have started writing<br>
&gt; authentication code. I will commit the code after I have done with the<br>
&gt; authentication module.<br>
&gt;<br>
&gt; Discussion about the use case inline -<br>
&gt;<br>
&gt; On Fri, Jun 4, 2010 at 6:37 PM, Seven (aka Arnulf) &lt;<a href="mailto:seven@arnulf.us">seven@arnulf.us</a>&gt; wrote:<br>
&gt; &gt; -----BEGIN PGP SIGNED MESSAGE-----<br>
&gt; &gt; Hash: SHA1<br>
&gt; &gt;<br>
&gt; &gt; Vikas Banjara wrote:<br>
&gt; &gt; &gt; Hi all,<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; I will try to write a flow of steps for the use case. Please correct me<br>
&gt; &gt; &gt; wherever I am wrong.<br>
&gt; &gt;<br>
&gt; &gt; Hi Vikas,<br>
&gt; &gt; I will answer inline and as approprite update the Wiki in parallel. It<br>
&gt; &gt; was suggested that we need to be more wordy when describing the user<br>
&gt; &gt; stories. What is your opinion? Can you understand what the user wants to<br>
&gt; &gt; do? Would a more detailed description help to understand better?<br>
&gt; &gt;<br>
&gt; &gt; One important thing I did not mention yet is that we should always keep<br>
&gt; &gt; in mind that the &quot;user&quot; we are talking about can also be a &quot;user agent&quot;.<br>
&gt; &gt; This means it can well be a machine! This is important to keep in mind.<br>
&gt; &gt; Especially the more complex issues regarding monitoring, usage of RSS<br>
&gt; &gt; and anything that can be automized will be highly relevant for machine<br>
&gt; &gt; to machine communication.<br>
&gt;<br>
&gt; Yeah, user stories and the following discussion should be as wordy as<br>
&gt; possible. Also, I am keeping in mind the fact that &quot;user&quot; will actually be<br>
&gt; a machine. And we are writing code for machine-machine interaction.<br>
&gt; I will take care of RSS usage.<br>
&gt;<br>
&gt; &gt; More answers to your questions inline. All cases that I do not comment I<br>
&gt; &gt; assume that we are thinking along the same lines.<br>
&gt; &gt;<br>
&gt; &gt; &gt; On Tue, Jun 1, 2010 at 10:26 PM, Arnulf Christl &lt;<br>
&gt; &gt; &gt; <a href="mailto:arnulf.christl@metaspatial.net">arnulf.christl@metaspatial.net</a>&gt; wrote:<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; Hi Vikash,<br>
&gt; &gt; &gt; here goes the first try for a user story:<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; User finds a new service / creates a new service and wants to publish<br>
&gt; &gt; &gt; it. All that is needed to register a new service is a user name<br>
&gt; &gt; &gt; (authentication) with email for confirmation, the Capabilities URL of<br>
&gt; &gt; &gt; the service and whether it should be public.<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt;&gt; First the user needs to authenticate himself using a<br>
&gt; &gt; &gt;&gt; username/password.<br>
&gt; &gt;<br>
&gt; &gt; For<br>
&gt; &gt;<br>
&gt; &gt; &gt;&gt; this I am working on plain http authentication with the mapbender<br>
&gt; &gt;<br>
&gt; &gt; server.<br>
&gt; &gt;<br>
&gt; &gt; For a start that is OK. Later we might want to look into how we can make<br>
&gt; &gt; the authentication more persistant (see also: user agent / machine<br>
&gt; &gt; scenario).<br>
&gt;<br>
&gt; What do you mean by user agent/machine scenario authentication? IP based<br>
&gt; authentication?<br>
&gt;<br>
&gt; &gt; &gt;&gt; The registering of a new service is a Create operation. So, it should<br>
&gt; &gt; &gt;&gt; be<br>
&gt; &gt;<br>
&gt; &gt; a<br>
&gt; &gt;<br>
&gt; &gt; &gt;&gt; POST operation. And the URI should be like this  (assuming that the<br>
&gt; &gt; &gt;&gt; url<br>
&gt; &gt;<br>
&gt; &gt; of<br>
&gt; &gt;<br>
&gt; &gt; &gt;&gt; the mapbender server is <a href="http://www.mapbender.org" target="_blank">www.mapbender.org</a>) -<br>
&gt; &gt; &gt;&gt; <a href="http://www.mapbender.org/resources/resourceID" target="_blank">http://www.mapbender.org/resources/resourceID</a><br>
&gt; &gt; &gt;&gt;<br>
&gt; &gt; &gt;&gt; So to post this user would send four parameters username, email id and<br>
&gt; &gt; &gt;&gt; capabilities url and public/private status of the service.<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; Q: What happens if this URL (or a similar one?) has already been<br>
&gt; &gt; &gt; uploaded earlier? Add a counter for the the same URL (uploaded several<br>
&gt; &gt; &gt; times)?<br>
&gt; &gt; &gt; A: The Capabilities URL needs to be checked against the ones already in<br>
&gt; &gt; &gt; the database. -&gt; What happens then?<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt;&gt; In case, the capabilities URL already exists, we can send an error to<br>
&gt; &gt;<br>
&gt; &gt; the<br>
&gt; &gt;<br>
&gt; &gt; &gt;&gt; user saying that it already exists.<br>
&gt; &gt;<br>
&gt; &gt; The response (artefact: &quot;Representation returned to the client&quot;) should<br>
&gt; &gt; include option of how to continue processing. That could be the link to<br>
&gt; &gt; the existing resource and maybe one to the &quot;Update&quot; REST interface.<br>
&gt;<br>
&gt; Point noted.<br>
&gt;<br>
&gt; &gt; &gt; Q: What happens if the user gets &quot;lost&quot;, is deleted, etc.?<br>
&gt; &gt; &gt; A: ?<br>
&gt; &gt;<br>
&gt; &gt; A user can be deleted from the Mapbender database. What happens to the<br>
&gt; &gt; &quot;owner&quot; of the resource in that case? We could trigger an SQL cascade<br>
&gt; &gt; DELETE on the database but in my opinion it would be nicer to keep<br>
&gt; &gt; resource URL even if the owner disappears. We could introduce a garbage<br>
&gt; &gt; or public user for those cases but then must take care that we do not<br>
&gt; &gt; get mixed up with permissions and the security proxy.<br>
&gt;<br>
&gt; I guess this is not really a part of api. This is a part of mapbender core<br>
&gt; feature. Am I correct?<br>
&gt;<br>
&gt; &gt; &gt;&gt; I didn&#39;t really get this?<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; Q: What happens if the service is deleted by another user? (This is<br>
&gt; &gt; &gt; currently not possible, it would generate an error message).<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; Q: What happens if Mapbender cannot read the capabilities document?<br>
&gt; &gt; &gt; A: Error message &amp; ?<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt;&gt; Again can you explain me this?<br>
&gt; &gt;<br>
&gt; &gt; An example might help:<br>
&gt; &gt; This URL delivers an OGC WMS Capabilities Document that Mapbender can<br>
&gt; &gt; parse and store in the database:<br>
&gt; &gt; <a href="http://demowms.fossgis.de/wms/simple?SERVICE=WMS&amp;REQUEST=GetCapabilities" target="_blank">http://demowms.fossgis.de/wms/simple?SERVICE=WMS&amp;REQUEST=GetCapabilities</a><br>
&gt; &gt; (even although the URL misses the parameter VERSION=x.x.x)<br>
&gt; &gt;<br>
&gt; &gt; This URL on the other hand does not deliver an OGC WMS Capabilities<br>
&gt; &gt; Document that Mapbender can parse:<br>
&gt; &gt; <a href="http://gdz.bkg.bund.de/wms_dtk25&amp;v_service=wms&amp;response_xml=wms_dtk25" target="_blank">http://gdz.bkg.bund.de/wms_dtk25&amp;v_service=wms&amp;response_xml=wms_dtk25</a><br>
&gt; &gt;<br>
&gt; &gt; In my opinion it (should) return a 401 or 403 but instead sends a 200<br>
&gt; &gt; (OK) and then says in the XML that it returns that it is not OK. We will<br>
&gt; &gt; have lots of confusing response codes but should therefore still not<br>
&gt; &gt; ignore them but make as best use of them as we can.<br>
&gt; &gt;<br>
&gt; &gt; Find more examples of working OGC WMS URLs from this page:<br>
&gt; &gt; <a href="http://www.mapbender.org/Test" target="_blank">http://www.mapbender.org/Test</a><br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt; Please add to this list when you find an interesting or &quot;strange&quot; OGC<br>
&gt; &gt; service.<br>
&gt;<br>
&gt; I will compile a list of response codes in the wiki page.<br>
&gt;<br>
&gt; &gt; &gt; Q: Are we going to use this &quot;interface&quot; also to update services or do<br>
&gt; &gt; &gt; we need to create another one?<br>
&gt; &gt; &gt; A: ?<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt;&gt; To update the service we need to create a separate interface. And that<br>
&gt; &gt;<br>
&gt; &gt; would<br>
&gt; &gt;<br>
&gt; &gt; &gt;&gt; be using PUT HTTP command.<br>
&gt; &gt;<br>
&gt; &gt; Yes. This &quot;interface&quot; (or is it not rather a resource too?) should be<br>
&gt; &gt; included in the response to a request that wants to create a resource<br>
&gt; &gt; that already exists.<br>
&gt;<br>
&gt; Yeah, as you mentioned above also.<br>
&gt;<br>
&gt; &gt; Best regads,<br>
&gt; &gt; Arnulf<br>
&gt;<br>
&gt; So, if everything is ok. I will write a set of conclusions for this<br>
&gt; discussion in my next mail and will also compile it in the wiki page. And<br>
&gt; then we can start with next user story.<br>
&gt;<br>
&gt; Regards<br>
&gt; Vikas<br>
&gt;<br>
&gt; &gt; &gt; We add these User Stories to the Wiki so that we can refine them there:<br>
&gt; &gt; &gt; <a href="http://www.mapbender.org/Talk:RESTful_API" target="_blank">http://www.mapbender.org/Talk:RESTful_API</a><br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; Best regads,<br>
&gt; &gt; &gt; Arnulf.<br>
&gt; &gt;<br>
&gt; &gt; _______________________________________________<br>
&gt; &gt; Mapbender_dev mailing list<br>
&gt; &gt; <a href="mailto:Mapbender_dev@lists.osgeo.org">Mapbender_dev@lists.osgeo.org</a><br>
&gt; &gt; <a href="http://lists.osgeo.org/mailman/listinfo/mapbender_dev" target="_blank">http://lists.osgeo.org/mailman/listinfo/mapbender_dev</a><br>
&gt; &gt;<br>
&gt; &gt; &gt; -----------------------------------------------------------------------<br>
&gt; &gt; &gt;-<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; _______________________________________________<br>
&gt; &gt; &gt; Mapbender_dev mailing list<br>
&gt; &gt; &gt; <a href="mailto:Mapbender_dev@lists.osgeo.org">Mapbender_dev@lists.osgeo.org</a><br>
&gt; &gt; &gt; <a href="http://lists.osgeo.org/mailman/listinfo/mapbender_dev" target="_blank">http://lists.osgeo.org/mailman/listinfo/mapbender_dev</a><br>
&gt; &gt;<br>
&gt; &gt; - --<br>
&gt; &gt; Arnulf Christl<br>
&gt; &gt;<br>
&gt; &gt; Exploring Space, Time and Mind<br>
&gt; &gt; <a href="http://arnulf.us" target="_blank">http://arnulf.us</a><br>
&gt; &gt; -----BEGIN PGP SIGNATURE-----<br>
&gt; &gt; Version: GnuPG v1.4.9 (GNU/Linux)<br>
&gt; &gt; Comment: Using GnuPG with Mozilla - <a href="http://enigmail.mozdev.org" target="_blank">http://enigmail.mozdev.org</a><br>
&gt; &gt;<br>
&gt; &gt; iEYEARECAAYFAkwI+pgACgkQXmFKW+BJ1b1f/QCdHo3nhNjsyHz5zL7NTex4V0Of<br>
&gt; &gt; EpYAmwT9+AN+PRg1maCj82wRaZvSqUPj<br>
&gt; &gt; =x4Hb<br>
&gt; &gt; -----END PGP SIGNATURE-----<br>
&gt; &gt; _______________________________________________<br>
&gt; &gt; Mapbender_dev mailing list<br>
&gt; &gt; <a href="mailto:Mapbender_dev@lists.osgeo.org">Mapbender_dev@lists.osgeo.org</a><br>
&gt; &gt; <a href="http://lists.osgeo.org/mailman/listinfo/mapbender_dev" target="_blank">http://lists.osgeo.org/mailman/listinfo/mapbender_dev</a><br>
<br>
<br>
<br>
</div></div>--<br>
Im Auftrag<br>
--<br>
Armin Retterath<br>
<br>
Kompetenz- und Geschäftsstelle Geodateninfrastruktur Rheinland-Pfalz<br>
beim<br>
Landesamt für Vermessung und Geobasisinformation Rheinland-Pfalz<br>
<br>
Ferdinand-Sauerbruch-Straße 15<br>
56073 Koblenz<br>
Telefon 0261/492-466<br>
Telefax 0261/492-492<br>
<font color="#888888"><a href="mailto:armin.retterath@lvermgeo.rlp.de">armin.retterath@lvermgeo.rlp.de</a><br>
<a href="http://www.geoportal.rlp.de" target="_blank">http://www.geoportal.rlp.de</a><br>
</font><div><div></div><div class="h5">_______________________________________________<br>
Mapbender_dev mailing list<br>
<a href="mailto:Mapbender_dev@lists.osgeo.org">Mapbender_dev@lists.osgeo.org</a><br>
<a href="http://lists.osgeo.org/mailman/listinfo/mapbender_dev" target="_blank">http://lists.osgeo.org/mailman/listinfo/mapbender_dev</a><br>
</div></div></blockquote></div><br></div>