summaryrefslogtreecommitdiffstats
path: root/zarb-ml/mageia-webteam/2011-March/000434.html
diff options
context:
space:
mode:
Diffstat (limited to 'zarb-ml/mageia-webteam/2011-March/000434.html')
-rw-r--r--zarb-ml/mageia-webteam/2011-March/000434.html236
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:
+
+&gt;<i> Le mardi 08 mars 2011 &#224; 03:53 +0100, nicolas vigier a &#233;crit :
+</I>&gt;<i> &gt; Here is a proposal for an API that can be used on the maintainers
+</I>&gt;<i> &gt; database, with the list of URLs and what they should do :
+</I>&gt;<i> &gt;
+</I>&gt;<i> &gt; ***
+</I>&gt;<i> &gt; An html page with the list of all packages, and their maintainer :
+</I>&gt;<i> &gt; <A HREF="http://maintdb.mageia.org/packages.html">http://maintdb.mageia.org/packages.html</A>
+</I>&gt;<i> &gt; As we have many packages, the page will be long, so maybe we want to
+</I>&gt;<i> &gt; split the list by first letter of package name :
+</I>&gt;<i> &gt; <A HREF="http://maintdb.mageia.org/packages_a.html">http://maintdb.mageia.org/packages_a.html</A>
+</I>&gt;<i> &gt; <A HREF="http://maintdb.mageia.org/packages_b.html">http://maintdb.mageia.org/packages_b.html</A>
+</I>&gt;<i> &gt; <A HREF="http://maintdb.mageia.org/packages_c.html">http://maintdb.mageia.org/packages_c.html</A>
+</I>&gt;<i>
+</I>&gt;<i> Hi,
+</I>&gt;<i>
+</I>&gt;<i> Thee is other paging system in rails and similar framework, no need to
+</I>&gt;<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.
+
+&gt;<i>
+</I>&gt;<i> &gt; The list of all packages and their maintainers, in text format :
+</I>&gt;<i> &gt; <A HREF="http://maintdb.mageia.org/packages.txt">http://maintdb.mageia.org/packages.txt</A>
+</I>&gt;<i> &gt; With the output like this :
+</I>&gt;<i> &gt; package1:maintainerlogin1
+</I>&gt;<i> &gt; package2:maintainerlogin2
+</I>&gt;<i> &gt; package3:maintainerlogin3
+</I>&gt;<i> &gt; ...
+</I>&gt;<i> &gt;
+</I>&gt;<i> &gt; ***
+</I>&gt;<i> &gt; An html page to show the maintainer of one package (with
+</I>&gt;<i> &gt; [packagename] replaced with the name of a package) :
+</I>&gt;<i> &gt; <A HREF="http://maintdb.mageia.org/packages/[packagename">http://maintdb.mageia.org/packages/[packagename</A>].html
+</I>&gt;<i> &gt; The same in text format :
+</I>&gt;<i> &gt; <A HREF="http://maintdb.mageia.org/packages/[packagename">http://maintdb.mageia.org/packages/[packagename</A>].txt
+</I>&gt;<i> &gt; With output like this (only one line):
+</I>&gt;<i> &gt; packagename:maintainerlogin
+</I>&gt;<i> &gt; If the package is unmaintained, it appears like this :
+</I>&gt;<i> &gt; packagename:nobody
+</I>&gt;<i> &gt; If the package does not exist, an empty file is returned.
+</I>&gt;<i>
+</I>&gt;<i> I would rather say :
+</I>&gt;<i> packagename:
+</I>&gt;<i>
+</I>&gt;<i> Using a name with a special meaning is just a special case to be placed
+</I>&gt;<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 :
+ &quot;This package is maintained by nobody.&quot;
+ or
+ &quot;This package is maintained by .&quot;
+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.
+
+&gt;<i> &gt; ***
+</I>&gt;<i> &gt; The list of maintainers (all maintainers who maintain at least one
+</I>&gt;<i> &gt; package) :
+</I>&gt;<i> &gt; <A HREF="http://maintdb.mageia.org/people.html">http://maintdb.mageia.org/people.html</A>
+</I>&gt;<i> &gt;
+</I>&gt;<i> &gt; ***
+</I>&gt;<i> &gt; The list of packages maintained by someone (with [loginname] replaced by
+</I>&gt;<i> &gt; a login) :
+</I>&gt;<i> &gt; <A HREF="http://maintdb.mageia.org/people/[loginname">http://maintdb.mageia.org/people/[loginname</A>].html
+</I>&gt;<i> &gt; And the same in text format :
+</I>&gt;<i> &gt; <A HREF="http://maintdb.mageia.org/people/[loginname">http://maintdb.mageia.org/people/[loginname</A>].txt
+</I>&gt;<i> &gt; With the same format for output :
+</I>&gt;<i> &gt; package1:loginname
+</I>&gt;<i> &gt; package2:loginname
+</I>&gt;<i> &gt; package3:loginname
+</I>&gt;<i> &gt; ...
+</I>&gt;<i> &gt; If the login does not exist, an empty file is returned.
+</I>&gt;<i>
+</I>&gt;<i> A REST API would give a 404, that's also something everybdy doing HTTP
+</I>&gt;<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.
+
+&gt;<i> &gt; ***
+</I>&gt;<i> &gt; The list of unmaintained packages :
+</I>&gt;<i> &gt; <A HREF="http://maintdb.mageia.org/people/nobody.html">http://maintdb.mageia.org/people/nobody.html</A>
+</I>&gt;<i> &gt; And the same in text format :
+</I>&gt;<i> &gt; <A HREF="http://maintdb.mageia.org/people/nobody.txt">http://maintdb.mageia.org/people/nobody.txt</A>
+</I>&gt;<i> &gt; With this output :
+</I>&gt;<i> &gt; package1:nobody
+</I>&gt;<i> &gt; package2:nobody
+</I>&gt;<i> &gt; package3:nobody
+</I>&gt;<i> &gt; ...
+</I>&gt;<i>
+</I>&gt;<i> I would use a different url for unmaintained packages rather than
+</I>&gt;<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.
+
+&gt;<i>
+</I>&gt;<i> &gt; ***
+</I>&gt;<i> &gt; The URL to add a package, used by the buildsystem when a package is
+</I>&gt;<i> &gt; uploaded on the repository :
+</I>&gt;<i> &gt; <A HREF="https://maintdb.mageia.org/admin/setnewpackage">https://maintdb.mageia.org/admin/setnewpackage</A>
+</I>&gt;<i> &gt; Protected with basic http authentication (with a login/password that was
+</I>&gt;<i> &gt; set in maintdb or apache configuration).
+</I>&gt;<i> &gt; Accessed with a POST request and the following two arguments :
+</I>&gt;<i> &gt; package: [packagename]
+</I>&gt;<i> &gt; maintainer: [maintainername]
+</I>&gt;<i> &gt; If the package already exists in the database, it is not updated.
+</I>&gt;<i> &gt;
+</I>&gt;<i> &gt; ***
+</I>&gt;<i> &gt; The same as the previous URL, but the package maintainer is updated when
+</I>&gt;<i> &gt; the package already exists in the database :
+</I>&gt;<i> &gt; <A HREF="https://maintdb.mageia.org/admin/setpackage">https://maintdb.mageia.org/admin/setpackage</A>
+</I>&gt;<i>
+</I>&gt;<i> IMHO, it would be easier to have just 1 url :
+</I>&gt;<i>
+</I>&gt;<i> /upload/$package/$login/ ( and either protect this at http level, or
+</I>&gt;<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>
+&quot;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.&quot;
+
+So I think it's better to use a POST request in our case.
+
+&gt;<i> &gt; If we compare with the maintainers db website used at mandriva, their
+</I>&gt;<i> &gt; version also has :
+</I>&gt;<i> &gt; - media name for each package, with pages to list packages from only
+</I>&gt;<i> &gt; one media
+</I>&gt;<i> &gt; - a search box to search for a package
+</I>&gt;<i> &gt; - links to bugzilla for each package
+</I>&gt;<i> &gt; But I don't think we should store the media name in maintdb.
+</I>&gt;<i>
+</I>&gt;<i> That's indeed inflexible, if we want to have a package in more than one
+</I>&gt;<i> media.
+</I>&gt;<i>
+</I>&gt;<i> &gt; maintdb should mainly be used in the following cases :
+</I>&gt;<i> &gt; - by sophie, mageia-app-db and other package databases which want to show
+</I>&gt;<i> &gt; maintainers of packages. They download the full list of packages and
+</I>&gt;<i> &gt; maintainers every day (or hours) from the text file, to synchronize
+</I>&gt;<i> &gt; with their database.
+</I>&gt;<i>
+</I>&gt;<i> So then we should ask them what they would prefer. I knw for usre that
+</I>&gt;<i> reusing the mandriva format, or the fedora format will ease the work on
+</I>&gt;<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 &quot;$<A HREF="https://www.mageia.org/mailman/listinfo/mageia-webteam">login at mageia.org</A>&quot;.
+
+
+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>