From 1be510f9529cb082f802408b472a77d074b394c0 Mon Sep 17 00:00:00 2001 From: Nicolas Vigier Date: Sun, 14 Apr 2013 13:46:12 +0000 Subject: Add zarb MLs html archives --- zarb-ml/mageia-webteam/2011-March/000434.html | 236 ++++++++++++++++++++++++++ 1 file changed, 236 insertions(+) create mode 100644 zarb-ml/mageia-webteam/2011-March/000434.html (limited to 'zarb-ml/mageia-webteam/2011-March/000434.html') 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 @@ + + + + [Mageia-webteam] Proposal for maintainers database API + + + + + + + + + +

[Mageia-webteam] Proposal for maintainers database API

+ nicolas vigier + boklm at mars-attacks.org +
+ Tue Mar 8 13:13:50 CET 2011 +

+
+ +
On Tue, 08 Mar 2011, Michael Scherer wrote:
+
+> Le mardi 08 mars 2011 à 03:53 +0100, nicolas vigier a écrit :
+> > Here is a proposal for an API that can be used on the maintainers
+> > database, with the list of URLs and what they should do :
+> > 
+> > ***
+> > An html page with the list of all packages, and their maintainer :
+> > http://maintdb.mageia.org/packages.html
+> > As we have many packages, the page will be long, so maybe we want to
+> > split the list by first letter of package name :
+> > http://maintdb.mageia.org/packages_a.html
+> > http://maintdb.mageia.org/packages_b.html
+> > http://maintdb.mageia.org/packages_c.html
+> 
+> Hi, 
+> 
+> Thee is other paging system in rails and similar framework, no need to
+> specify this ( and I also think this is not part of a API ).
+
+Yes, ok. Maybe I should not have mentioned html pages as they are probably
+not needed.
+
+> 
+> > The list of all packages and their maintainers, in text format :
+> > http://maintdb.mageia.org/packages.txt
+> > With the output like this :
+> > package1:maintainerlogin1
+> > package2:maintainerlogin2
+> > package3:maintainerlogin3
+> > ...
+> > 
+> > ***
+> > An html page to show the maintainer of one package (with
+> > [packagename] replaced with the name of a package) :
+> > http://maintdb.mageia.org/packages/[packagename].html
+> > The same in text format :
+> > http://maintdb.mageia.org/packages/[packagename].txt
+> > With output like this (only one line):
+> > packagename:maintainerlogin
+> > If the package is unmaintained, it appears like this :
+> > packagename:nobody
+> > If the package does not exist, an empty file is returned.
+> 
+> I would rather say : 
+> packagename: 
+> 
+> Using a name with a special meaning is just a special case to be placed
+> everywhere.
+
+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.
+
+> > ***
+> > The list of maintainers (all maintainers who maintain at least one
+> > package) :
+> > http://maintdb.mageia.org/people.html
+> > 
+> > ***
+> > The list of packages maintained by someone (with [loginname] replaced by
+> > a login) :
+> > http://maintdb.mageia.org/people/[loginname].html
+> > And the same in text format :
+> > http://maintdb.mageia.org/people/[loginname].txt
+> > With the same format for output :
+> > package1:loginname
+> > package2:loginname
+> > package3:loginname
+> > ...
+> > If the login does not exist, an empty file is returned.
+> 
+> A REST API would give a 404, that's also something everybdy doing HTTP
+> should grasp and understand.
+
+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.
+
+> > ***
+> > The list of unmaintained packages :
+> > http://maintdb.mageia.org/people/nobody.html
+> > And the same in text format :
+> > http://maintdb.mageia.org/people/nobody.txt
+> > With this output :
+> > package1:nobody
+> > package2:nobody
+> > package3:nobody
+> > ...
+> 
+> I would use a different url for unmaintained packages rather than
+> nobody. Adding special case is not very clean, as said before.
+
+I think the special case would be to use a different URL for unmaintained
+and maintained packages.
+
+> 
+> > ***
+> > The URL to add a package, used by the buildsystem when a package is
+> > uploaded on the repository :
+> > https://maintdb.mageia.org/admin/setnewpackage
+> > Protected with basic http authentication (with a login/password that was
+> > set in maintdb or apache configuration).
+> > Accessed with a POST request and the following two arguments :
+> > package: [packagename]
+> > maintainer: [maintainername]
+> > If the package already exists in the database, it is not updated.
+> > 
+> > ***
+> > The same as the previous URL, but the package maintainer is updated when
+> > the package already exists in the database :
+> > https://maintdb.mageia.org/admin/setpackage
+> 
+> IMHO, it would be easier to have just 1 url :
+> 
+> /upload/$package/$login/ ( and either protect this at http level, or
+> using a key somewhere in the url )
+
+According to this wikipedia page :
+http://en.wikipedia.org/wiki/POST_%28HTTP%29#Affecting_server_state
+"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.
+
+> > If we compare with the maintainers db website used at mandriva, their
+> > version also has :
+> >  - media name for each package, with pages to list packages from only
+> >    one media
+> >  - a search box to search for a package
+> >  - links to bugzilla for each package
+> > But I don't think we should store the media name in maintdb. 
+> 
+> That's indeed inflexible, if we want to have a package in more than one
+> media.
+> 
+> > maintdb should mainly be used in the following cases :
+> >  - by sophie, mageia-app-db and other package databases which want to show
+> >    maintainers of packages. They download the full list of packages and
+> >    maintainers every day (or hours) from the text file, to synchronize
+> >    with their database.
+> 
+> So then we should ask them what they would prefer. I knw for usre that
+> reusing the mandriva format, or the fedora format will ease the work on
+> sophie side.
+
+The mandriva format :
+http://maint.mandriva.com/lookup.php
+
+It's :
+packagename	email at domain
+
+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 "$login at mageia.org".
+
+
+No comment about using the website to take/drop maintainership, or using
+a command line tool ?
+
+
+ + + + + + + + + + +
+

+ +
+More information about the Mageia-webteam +mailing list
+ -- cgit v1.2.1