Hi all,<br><br>First of all, sorry for not attending the IRC meeting today. There was a power cut in our city today. And the laptop battery was drained.<br><br>Now coming to the progress of the project. I have started writing authentication code. I will commit the code after I have done with the authentication module.<br>
<br>Discussion about the use case inline -<br><br><div class="gmail_quote">On Fri, Jun 4, 2010 at 6:37 PM, Seven (aka Arnulf) <span dir="ltr">&lt;<a href="mailto:seven@arnulf.us">seven@arnulf.us</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<div class="im">-----BEGIN PGP SIGNED MESSAGE-----<br>
Hash: SHA1<br>
<br>
</div><div class="im">Vikas Banjara wrote:<br>
&gt; Hi all,<br>
&gt;<br>
&gt; I will try to write a flow of steps for the use case. Please correct me<br>
&gt; wherever I am wrong.<br>
<br>
</div>Hi Vikas,<br>
I will answer inline and as approprite update the Wiki in parallel. It<br>
was suggested that we need to be more wordy when describing the user<br>
stories. What is your opinion? Can you understand what the user wants to<br>
do? Would a more detailed description help to understand better?<br>
<br>
One important thing I did not mention yet is that we should always keep<br>
in mind that the &quot;user&quot; we are talking about can also be a &quot;user agent&quot;.<br>
This means it can well be a machine! This is important to keep in mind.<br>
Especially the more complex issues regarding monitoring, usage of RSS<br>
and anything that can be automized will be highly relevant for machine<br>
to machine communication.<br></blockquote><div><br><br>Yeah, user stories and the following discussion should be as wordy as possible. Also, I am keeping in mind the fact that &quot;user&quot; will actually be a machine. And we are writing code for machine-machine interaction.<br>
I will take care of RSS usage.<br><br> </div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<br>
<br>
More answers to your questions inline. All cases that I do not comment I<br>
assume that we are thinking along the same lines.<br>
<div class="im"><br>
&gt; On Tue, Jun 1, 2010 at 10:26 PM, Arnulf Christl &lt;<br>
&gt; <a href="mailto:arnulf.christl@metaspatial.net">arnulf.christl@metaspatial.net</a>&gt; wrote:<br>
&gt;<br>
</div><div class="im">&gt; Hi Vikash,<br>
&gt; here goes the first try for a user story:<br>
&gt;<br>
&gt; User finds a new service / creates a new service and wants to publish<br>
&gt; it. All that is needed to register a new service is a user name<br>
&gt; (authentication) with email for confirmation, the Capabilities URL of<br>
&gt; the service and whether it should be public.<br>
&gt;<br>
&gt;<br>
&gt;&gt; First the user needs to authenticate himself using a username/password. For<br>
&gt;&gt; this I am working on plain http authentication with the mapbender server.<br>
<br>
</div>For a start that is OK. Later we might want to look into how we can make<br>
the authentication more persistant (see also: user agent / machine<br>
scenario).<br>
<div class="im"><br></div></blockquote><div><br>What do you mean by user agent/machine scenario authentication? IP based authentication? <br><br> </div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<div class="im">
&gt;&gt; The registering of a new service is a Create operation. So, it should be a<br>
&gt;&gt; POST operation. And the URI should be like this  (assuming that the url of<br>
&gt;&gt; the mapbender server is <a href="http://www.mapbender.org" target="_blank">www.mapbender.org</a>) -<br>
&gt;&gt; <a href="http://www.mapbender.org/resources/resourceID" target="_blank">http://www.mapbender.org/resources/resourceID</a><br>
&gt;<br>
&gt;&gt; So to post this user would send four parameters username, email id and<br>
&gt;&gt; capabilities url and public/private status of the service.<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; Q: What happens if this URL (or a similar one?) has already been<br>
&gt; uploaded earlier? Add a counter for the the same URL (uploaded several<br>
&gt; times)?<br>
&gt; A: The Capabilities URL needs to be checked against the ones already in<br>
&gt; the database. -&gt; What happens then?<br>
&gt;<br>
&gt;<br>
&gt;&gt; In case, the capabilities URL already exists, we can send an error to the<br>
&gt;&gt; user saying that it already exists.<br>
<br>
</div>The response (artefact: &quot;Representation returned to the client&quot;) should<br>
include option of how to continue processing. That could be the link to<br>
the existing resource and maybe one to the &quot;Update&quot; REST interface.<br></blockquote><div><br>Point noted. <br> </div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">

<div class="im"><br>
&gt; Q: What happens if the user gets &quot;lost&quot;, is deleted, etc.?<br>
&gt; A: ?<br>
<br>
</div>A user can be deleted from the Mapbender database. What happens to the<br>
&quot;owner&quot; of the resource in that case? We could trigger an SQL cascade<br>
DELETE on the database but in my opinion it would be nicer to keep<br>
resource URL even if the owner disappears. We could introduce a garbage<br>
or public user for those cases but then must take care that we do not<br>
get mixed up with permissions and the security proxy.<br></blockquote><div><br>I guess this is not really a part of api. This is a part of mapbender core feature. Am I correct?<br></div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">

<div class="im"><br>
&gt;&gt; I didn&#39;t really get this?<br>
&gt;<br>
&gt;<br>
&gt; Q: What happens if the service is deleted by another user? (This is<br>
&gt; currently not possible, it would generate an error message).<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; Q: What happens if Mapbender cannot read the capabilities document?<br>
&gt; A: Error message &amp; ?<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;&gt; Again can you explain me this?<br>
<br>
</div>An example might help:<br>
This URL delivers an OGC WMS Capabilities Document that Mapbender can<br>
parse and store in the database:<br>
<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>
(even although the URL misses the parameter VERSION=x.x.x)<br>
<br>
This URL on the other hand does not deliver an OGC WMS Capabilities<br>
Document that Mapbender can parse:<br>
<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>
<br>
In my opinion it (should) return a 401 or 403 but instead sends a 200<br>
(OK) and then says in the XML that it returns that it is not OK. We will<br>
have lots of confusing response codes but should therefore still not<br>
ignore them but make as best use of them as we can.<br>
<br>
Find more examples of working OGC WMS URLs from this page:<br>
<a href="http://www.mapbender.org/Test" target="_blank">http://www.mapbender.org/Test</a> <br></blockquote><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">

<br>
Please add to this list when you find an interesting or &quot;strange&quot; OGC<br>
service.<br></blockquote><div><br>I will compile a list of response codes in the wiki page.<br> <br></div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">

<div class="im"><br>
&gt; Q: Are we going to use this &quot;interface&quot; also to update services or do we<br>
&gt; need to create another one?<br>
&gt; A: ?<br>
&gt;<br>
&gt;<br>
&gt;&gt; To update the service we need to create a separate interface. And that would<br>
&gt;&gt; be using PUT HTTP command.<br>
<br>
</div>Yes. This &quot;interface&quot; (or is it not rather a resource too?) should be<br>
included in the response to a request that wants to create a resource<br>
that already exists.<br></blockquote><div><br>Yeah, as you mentioned above also.<br> <br></div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">

<br>
Best regads,<br>
Arnulf<br></blockquote><div><br>So, if everything is ok. I will write a set of conclusions for this discussion in my next mail and will also compile it in the wiki page. And then we can start with next user story.<br><br>
Regards<br>Vikas <br></div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<div class="im"><br>
<br>
&gt; We add these User Stories to the Wiki so that we can refine them there:<br>
&gt; <a href="http://www.mapbender.org/Talk:RESTful_API" target="_blank">http://www.mapbender.org/Talk:RESTful_API</a><br>
&gt;<br>
&gt;<br>
&gt; Best regads,<br>
&gt; Arnulf.<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
</div><div class="im">_______________________________________________<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>
&gt;&gt;<br>
<br>
</div>&gt; ------------------------------------------------------------------------<br>
<div class="im"><br>
&gt; _______________________________________________<br>
&gt; Mapbender_dev mailing list<br>
&gt; <a href="mailto:Mapbender_dev@lists.osgeo.org">Mapbender_dev@lists.osgeo.org</a><br>
&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>
</div>- --<br>
Arnulf Christl<br>
<br>
Exploring Space, Time and Mind<br>
<a href="http://arnulf.us" target="_blank">http://arnulf.us</a><br>
<div class="im">-----BEGIN PGP SIGNATURE-----<br>
Version: GnuPG v1.4.9 (GNU/Linux)<br>
Comment: Using GnuPG with Mozilla - <a href="http://enigmail.mozdev.org" target="_blank">http://enigmail.mozdev.org</a><br>
<br>
</div>iEYEARECAAYFAkwI+pgACgkQXmFKW+BJ1b1f/QCdHo3nhNjsyHz5zL7NTex4V0Of<br>
EpYAmwT9+AN+PRg1maCj82wRaZvSqUPj<br>
=x4Hb<br>
<div><div></div><div class="h5">-----END PGP SIGNATURE-----<br>
_______________________________________________<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>