diff options
Diffstat (limited to 'zarb-ml/mageia-webteam/2011-March/000434.html')
-rw-r--r-- | zarb-ml/mageia-webteam/2011-March/000434.html | 236 |
1 files changed, 236 insertions, 0 deletions
diff --git a/zarb-ml/mageia-webteam/2011-March/000434.html b/zarb-ml/mageia-webteam/2011-March/000434.html new file mode 100644 index 000000000..0537ce18a --- /dev/null +++ b/zarb-ml/mageia-webteam/2011-March/000434.html @@ -0,0 +1,236 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN"> +<HTML> + <HEAD> + <TITLE> [Mageia-webteam] Proposal for maintainers database API + </TITLE> + <LINK REL="Index" HREF="index.html" > + <LINK REL="made" HREF="mailto:mageia-webteam%40mageia.org?Subject=Re%3A%20%5BMageia-webteam%5D%20Proposal%20for%20maintainers%20database%20API&In-Reply-To=%3C20110308121350.GE21938%40mars-attacks.org%3E"> + <META NAME="robots" CONTENT="index,nofollow"> + <META http-equiv="Content-Type" content="text/html; charset=us-ascii"> + <LINK REL="Previous" HREF="000433.html"> + <LINK REL="Next" HREF="000438.html"> + </HEAD> + <BODY BGCOLOR="#ffffff"> + <H1>[Mageia-webteam] Proposal for maintainers database API</H1> + <B>nicolas vigier</B> + <A HREF="mailto:mageia-webteam%40mageia.org?Subject=Re%3A%20%5BMageia-webteam%5D%20Proposal%20for%20maintainers%20database%20API&In-Reply-To=%3C20110308121350.GE21938%40mars-attacks.org%3E" + TITLE="[Mageia-webteam] Proposal for maintainers database API">boklm at mars-attacks.org + </A><BR> + <I>Tue Mar 8 13:13:50 CET 2011</I> + <P><UL> + <LI>Previous message: <A HREF="000433.html">[Mageia-webteam] Proposal for maintainers database API +</A></li> + <LI>Next message: <A HREF="000438.html">[Mageia-webteam] Proposal for maintainers database API +</A></li> + <LI> <B>Messages sorted by:</B> + <a href="date.html#434">[ date ]</a> + <a href="thread.html#434">[ thread ]</a> + <a href="subject.html#434">[ subject ]</a> + <a href="author.html#434">[ author ]</a> + </LI> + </UL> + <HR> +<!--beginarticle--> +<PRE>On Tue, 08 Mar 2011, Michael Scherer wrote: + +><i> Le mardi 08 mars 2011 à 03:53 +0100, nicolas vigier a écrit : +</I>><i> > Here is a proposal for an API that can be used on the maintainers +</I>><i> > database, with the list of URLs and what they should do : +</I>><i> > +</I>><i> > *** +</I>><i> > An html page with the list of all packages, and their maintainer : +</I>><i> > <A HREF="http://maintdb.mageia.org/packages.html">http://maintdb.mageia.org/packages.html</A> +</I>><i> > As we have many packages, the page will be long, so maybe we want to +</I>><i> > split the list by first letter of package name : +</I>><i> > <A HREF="http://maintdb.mageia.org/packages_a.html">http://maintdb.mageia.org/packages_a.html</A> +</I>><i> > <A HREF="http://maintdb.mageia.org/packages_b.html">http://maintdb.mageia.org/packages_b.html</A> +</I>><i> > <A HREF="http://maintdb.mageia.org/packages_c.html">http://maintdb.mageia.org/packages_c.html</A> +</I>><i> +</I>><i> Hi, +</I>><i> +</I>><i> Thee is other paging system in rails and similar framework, no need to +</I>><i> specify this ( and I also think this is not part of a API ). +</I> +Yes, ok. Maybe I should not have mentioned html pages as they are probably +not needed. + +><i> +</I>><i> > The list of all packages and their maintainers, in text format : +</I>><i> > <A HREF="http://maintdb.mageia.org/packages.txt">http://maintdb.mageia.org/packages.txt</A> +</I>><i> > With the output like this : +</I>><i> > package1:maintainerlogin1 +</I>><i> > package2:maintainerlogin2 +</I>><i> > package3:maintainerlogin3 +</I>><i> > ... +</I>><i> > +</I>><i> > *** +</I>><i> > An html page to show the maintainer of one package (with +</I>><i> > [packagename] replaced with the name of a package) : +</I>><i> > <A HREF="http://maintdb.mageia.org/packages/[packagename">http://maintdb.mageia.org/packages/[packagename</A>].html +</I>><i> > The same in text format : +</I>><i> > <A HREF="http://maintdb.mageia.org/packages/[packagename">http://maintdb.mageia.org/packages/[packagename</A>].txt +</I>><i> > With output like this (only one line): +</I>><i> > packagename:maintainerlogin +</I>><i> > If the package is unmaintained, it appears like this : +</I>><i> > packagename:nobody +</I>><i> > If the package does not exist, an empty file is returned. +</I>><i> +</I>><i> I would rather say : +</I>><i> packagename: +</I>><i> +</I>><i> Using a name with a special meaning is just a special case to be placed +</I>><i> everywhere. +</I> +Using an empty string is as much a special case as using 'nobody'. But I +would avoid using an empty string, as we cannot use empty string in URLs, +so it require a special case for the URL to list unmaintained packages. +It also require a special case for applications that display maintainer : + "This package is maintained by nobody." + or + "This package is maintained by ." +In the 2nd case, applications have to handle a special case for +unmaintained packages. In the 1st case they can handle it too if they +want, but they don't have to. + +><i> > *** +</I>><i> > The list of maintainers (all maintainers who maintain at least one +</I>><i> > package) : +</I>><i> > <A HREF="http://maintdb.mageia.org/people.html">http://maintdb.mageia.org/people.html</A> +</I>><i> > +</I>><i> > *** +</I>><i> > The list of packages maintained by someone (with [loginname] replaced by +</I>><i> > a login) : +</I>><i> > <A HREF="http://maintdb.mageia.org/people/[loginname">http://maintdb.mageia.org/people/[loginname</A>].html +</I>><i> > And the same in text format : +</I>><i> > <A HREF="http://maintdb.mageia.org/people/[loginname">http://maintdb.mageia.org/people/[loginname</A>].txt +</I>><i> > With the same format for output : +</I>><i> > package1:loginname +</I>><i> > package2:loginname +</I>><i> > package3:loginname +</I>><i> > ... +</I>><i> > If the login does not exist, an empty file is returned. +</I>><i> +</I>><i> A REST API would give a 404, that's also something everybdy doing HTTP +</I>><i> should grasp and understand. +</I> +I think returning an empty list makes more sense than an error. A user +that does not exist in maintdb database doesn't mean that the user does +not exist, it only means he maintains 0 packages. + +><i> > *** +</I>><i> > The list of unmaintained packages : +</I>><i> > <A HREF="http://maintdb.mageia.org/people/nobody.html">http://maintdb.mageia.org/people/nobody.html</A> +</I>><i> > And the same in text format : +</I>><i> > <A HREF="http://maintdb.mageia.org/people/nobody.txt">http://maintdb.mageia.org/people/nobody.txt</A> +</I>><i> > With this output : +</I>><i> > package1:nobody +</I>><i> > package2:nobody +</I>><i> > package3:nobody +</I>><i> > ... +</I>><i> +</I>><i> I would use a different url for unmaintained packages rather than +</I>><i> nobody. Adding special case is not very clean, as said before. +</I> +I think the special case would be to use a different URL for unmaintained +and maintained packages. + +><i> +</I>><i> > *** +</I>><i> > The URL to add a package, used by the buildsystem when a package is +</I>><i> > uploaded on the repository : +</I>><i> > <A HREF="https://maintdb.mageia.org/admin/setnewpackage">https://maintdb.mageia.org/admin/setnewpackage</A> +</I>><i> > Protected with basic http authentication (with a login/password that was +</I>><i> > set in maintdb or apache configuration). +</I>><i> > Accessed with a POST request and the following two arguments : +</I>><i> > package: [packagename] +</I>><i> > maintainer: [maintainername] +</I>><i> > If the package already exists in the database, it is not updated. +</I>><i> > +</I>><i> > *** +</I>><i> > The same as the previous URL, but the package maintainer is updated when +</I>><i> > the package already exists in the database : +</I>><i> > <A HREF="https://maintdb.mageia.org/admin/setpackage">https://maintdb.mageia.org/admin/setpackage</A> +</I>><i> +</I>><i> IMHO, it would be easier to have just 1 url : +</I>><i> +</I>><i> /upload/$package/$login/ ( and either protect this at http level, or +</I>><i> using a key somewhere in the url ) +</I> +According to this wikipedia page : +<A HREF="http://en.wikipedia.org/wiki/POST_%28HTTP%29#Affecting_server_state">http://en.wikipedia.org/wiki/POST_%28HTTP%29#Affecting_server_state</A> +"Per RFC 2616, the POST method should be used for any context in which a +request is non-idempotent: that is, it causes a change in server state +each time it is performed, such as submitting a comment to a blog post +or voting in an online poll." + +So I think it's better to use a POST request in our case. + +><i> > If we compare with the maintainers db website used at mandriva, their +</I>><i> > version also has : +</I>><i> > - media name for each package, with pages to list packages from only +</I>><i> > one media +</I>><i> > - a search box to search for a package +</I>><i> > - links to bugzilla for each package +</I>><i> > But I don't think we should store the media name in maintdb. +</I>><i> +</I>><i> That's indeed inflexible, if we want to have a package in more than one +</I>><i> media. +</I>><i> +</I>><i> > maintdb should mainly be used in the following cases : +</I>><i> > - by sophie, mageia-app-db and other package databases which want to show +</I>><i> > maintainers of packages. They download the full list of packages and +</I>><i> > maintainers every day (or hours) from the text file, to synchronize +</I>><i> > with their database. +</I>><i> +</I>><i> So then we should ask them what they would prefer. I knw for usre that +</I>><i> reusing the mandriva format, or the fedora format will ease the work on +</I>><i> sophie side. +</I> +The mandriva format : +<A HREF="http://maint.mandriva.com/lookup.php">http://maint.mandriva.com/lookup.php</A> + +It's : +packagename <A HREF="https://www.mageia.org/mailman/listinfo/mageia-webteam">email at domain</A> + +I think using ':' instead ' ' to separate package and maintainer is +not difficult to change in sophie. And I think ':' looks nicer, but it's +not very important so I don't really care which one we use. +However I don't think we should use email address to identify +maintainers. We are already using login name on svn and pkgsubmit, so we +should do the same in maintdb. And if applications need an email, they +can use "$<A HREF="https://www.mageia.org/mailman/listinfo/mageia-webteam">login at mageia.org</A>". + + +No comment about using the website to take/drop maintainership, or using +a command line tool ? + +</PRE> + + + + + + + + + +<!--endarticle--> + <HR> + <P><UL> + <!--threads--> + <LI>Previous message: <A HREF="000433.html">[Mageia-webteam] Proposal for maintainers database API +</A></li> + <LI>Next message: <A HREF="000438.html">[Mageia-webteam] Proposal for maintainers database API +</A></li> + <LI> <B>Messages sorted by:</B> + <a href="date.html#434">[ date ]</a> + <a href="thread.html#434">[ thread ]</a> + <a href="subject.html#434">[ subject ]</a> + <a href="author.html#434">[ author ]</a> + </LI> + </UL> + +<hr> +<a href="https://www.mageia.org/mailman/listinfo/mageia-webteam">More information about the Mageia-webteam +mailing list</a><br> +</body></html> |