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"><<a href="mailto:seven@arnulf.us">seven@arnulf.us</a>></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>
> Hi all,<br>
><br>
> I will try to write a flow of steps for the use case. Please correct me<br>
> 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 "user" we are talking about can also be a "user agent".<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 "user" 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>
> On Tue, Jun 1, 2010 at 10:26 PM, Arnulf Christl <<br>
> <a href="mailto:arnulf.christl@metaspatial.net">arnulf.christl@metaspatial.net</a>> wrote:<br>
><br>
</div><div class="im">> Hi Vikash,<br>
> here goes the first try for a user story:<br>
><br>
> User finds a new service / creates a new service and wants to publish<br>
> it. All that is needed to register a new service is a user name<br>
> (authentication) with email for confirmation, the Capabilities URL of<br>
> the service and whether it should be public.<br>
><br>
><br>
>> First the user needs to authenticate himself using a username/password. For<br>
>> 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">
>> The registering of a new service is a Create operation. So, it should be a<br>
>> POST operation. And the URI should be like this (assuming that the url of<br>
>> the mapbender server is <a href="http://www.mapbender.org" target="_blank">www.mapbender.org</a>) -<br>
>> <a href="http://www.mapbender.org/resources/resourceID" target="_blank">http://www.mapbender.org/resources/resourceID</a><br>
><br>
>> So to post this user would send four parameters username, email id and<br>
>> capabilities url and public/private status of the service.<br>
><br>
><br>
><br>
> Q: What happens if this URL (or a similar one?) has already been<br>
> uploaded earlier? Add a counter for the the same URL (uploaded several<br>
> times)?<br>
> A: The Capabilities URL needs to be checked against the ones already in<br>
> the database. -> What happens then?<br>
><br>
><br>
>> In case, the capabilities URL already exists, we can send an error to the<br>
>> user saying that it already exists.<br>
<br>
</div>The response (artefact: "Representation returned to the client") should<br>
include option of how to continue processing. That could be the link to<br>
the existing resource and maybe one to the "Update" 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>
> Q: What happens if the user gets "lost", is deleted, etc.?<br>
> A: ?<br>
<br>
</div>A user can be deleted from the Mapbender database. What happens to the<br>
"owner" 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>
>> I didn't really get this?<br>
><br>
><br>
> Q: What happens if the service is deleted by another user? (This is<br>
> currently not possible, it would generate an error message).<br>
><br>
><br>
><br>
><br>
> Q: What happens if Mapbender cannot read the capabilities document?<br>
> A: Error message & ?<br>
><br>
><br>
><br>
>> 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&REQUEST=GetCapabilities" target="_blank">http://demowms.fossgis.de/wms/simple?SERVICE=WMS&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&v_service=wms&response_xml=wms_dtk25" target="_blank">http://gdz.bkg.bund.de/wms_dtk25&v_service=wms&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 "strange" 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>
> Q: Are we going to use this "interface" also to update services or do we<br>
> need to create another one?<br>
> A: ?<br>
><br>
><br>
>> To update the service we need to create a separate interface. And that would<br>
>> be using PUT HTTP command.<br>
<br>
</div>Yes. This "interface" (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>
> We add these User Stories to the Wiki so that we can refine them there:<br>
> <a href="http://www.mapbender.org/Talk:RESTful_API" target="_blank">http://www.mapbender.org/Talk:RESTful_API</a><br>
><br>
><br>
> Best regads,<br>
> Arnulf.<br>
><br>
><br>
><br>
><br>
><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>
>><br>
<br>
</div>> ------------------------------------------------------------------------<br>
<div class="im"><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>
<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>