1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
|
<!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=%3C1299574095.8638.6.camel%40akroma.ephaone.org%3E">
<META NAME="robots" CONTENT="index,nofollow">
<META http-equiv="Content-Type" content="text/html; charset=us-ascii">
<LINK REL="Previous" HREF="000431.html">
<LINK REL="Next" HREF="000433.html">
</HEAD>
<BODY BGCOLOR="#ffffff">
<H1>[Mageia-webteam] Proposal for maintainers database API</H1>
<B>Michael Scherer</B>
<A HREF="mailto:mageia-webteam%40mageia.org?Subject=Re%3A%20%5BMageia-webteam%5D%20Proposal%20for%20maintainers%20database%20API&In-Reply-To=%3C1299574095.8638.6.camel%40akroma.ephaone.org%3E"
TITLE="[Mageia-webteam] Proposal for maintainers database API">misc at zarb.org
</A><BR>
<I>Tue Mar 8 09:48:15 CET 2011</I>
<P><UL>
<LI>Previous message: <A HREF="000431.html">[Mageia-webteam] Proposal for maintainers database API
</A></li>
<LI>Next message: <A HREF="000433.html">[Mageia-webteam] Proposal for maintainers database API
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#432">[ date ]</a>
<a href="thread.html#432">[ thread ]</a>
<a href="subject.html#432">[ subject ]</a>
<a href="author.html#432">[ author ]</a>
</LI>
</UL>
<HR>
<!--beginarticle-->
<PRE>Le mardi 08 mars 2011 à 03:53 +0100, nicolas vigier a écrit :
><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>
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 ).
><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 would rather say :
packagename:
Using a name with a special meaning is just a special case to be placed
everywhere.
><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>
A REST API would give a 404, that's also something everybdy doing HTTP
should grasp and understand.
><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 would use a different url for unmaintained packages rather than
nobody. Adding special case is not very clean, as said before.
><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>
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 )
><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>
That's indeed inflexible, if we want to have a package in more than one
media.
><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>
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.
--
Michael Scherer
</PRE>
<!--endarticle-->
<HR>
<P><UL>
<!--threads-->
<LI>Previous message: <A HREF="000431.html">[Mageia-webteam] Proposal for maintainers database API
</A></li>
<LI>Next message: <A HREF="000433.html">[Mageia-webteam] Proposal for maintainers database API
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#432">[ date ]</a>
<a href="thread.html#432">[ thread ]</a>
<a href="subject.html#432">[ subject ]</a>
<a href="author.html#432">[ 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>
|