public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-dev] gentoo popularity contest system
@ 2002-06-17 15:36 Faust Tanasescu
  0 siblings, 0 replies; only message in thread
From: Faust Tanasescu @ 2002-06-17 15:36 UTC (permalink / raw
  To: gentoo-dev; +Cc: george



			Gentoo's popularity contest package
			-----------------------------------

			by davoid and rufiao



ABSTRACT:

The purpose of this system is to guide the developers of gentoo as to what 
they
should be concentrating on based on what gentoo's users have installed on 
their
system for example.

The setup is a client-server system. The server should be stored on 
gentoo.org
It's mainly php and CGI scripts with access to a database.

The client is composed of a first-time setup utility and a deamon whose job 
is
to collect data on the system it runs on and to upload this package for 
analyze
to the gentoo.org webserver.

The server is composed of a php page that checks if the user can upload to 
it
(so to as limit abuse), and some back-end that would analyze the transferred
data and merge it into the table if it is correct.




I. Server-side setup
	1. New user authentication
	2. Normal package information upload
II. Client-side setup
	1. Contents of tarball
	2. first-time configuration of deamon




I. 1. New user authentication
==============================

o	php server accepts new user's e-mail address in URL form. Server then 
records
into newUsersPendingTable user's IP address, request time and any other 
relevant
information such as browser maybe. The mysql fields filled in by the php 
server
should be filly configurable on the server side using forms.

o	server sends an email to user with a  initial session ID generated using
/dev/urandom maybe, or whatever medium php is given. it also saves a record 
with
email/cookie pair in mysql table.

(user is required to copy-paste the 128-bit cookie from server that he 
received
at the e-mail address he specified upon initial connection and to put it 
into a
configuration file that deamon will read.)

    Note here that user is not required to answer to any e-mail. He just has 
to
set up his system. This could be as well implemented in the client's user
interface as a box that will hold the initial magic cookie, removing the 
need of
editing an external file.


o	when client comes online for the first transaction, it provides initial 
cookie
and e-mail associated with that cookie. Server detects it is the first time 
his
client would upload his information

o	client uploads file to client using POST method. server gives client new
session ID as soon as transfer is done. server merges information about 
packages
used, version, system into infoTable adds lastMerged in user's record.




I. 2. Normal package information upload
=======================================

o 	client connects to server, gives in email address and cookie, starts
transfer.

o	server gives client new session ID by some means (either redirecting user 
to a
new page for which in the URL there is the magic cookie that client has to
parse), records lastMerged, starts merging package into infoTable using some 
CGI
script ...


Problem: what if client deleted its cookie and wants to upload? cookie 
invalid?
	Answer: We could deny access to the database for the user in the future.
Problem2: where and how do clients upload their home-made tarball
	Answer: Clients use the POST method to upload files
Problem3: how do we check if the tarball hasn't been modified by the user 
with
bogus information, badly formed data that hog up tables?
	Answer: the php script should be smart enough to detect this. If script 
becomes
		too heavy, there's also CGI and a good perl script.
Problem4: table size limited in mysql.
	Answer: merging into a better database such as postgresql should be 
condidered.



II. Client-side setup
======================


II.1. Contents of the tarball uploaded by client deamon to server
===============================================================

In the final version, the user who wants to can control what information is
colected from his system.

- architecture
- ram
- installed packages
- connection to net
etc (whatever that the gentoo developers would need to know about their 
users)








_________________________________________________________________
Send and receive Hotmail on your mobile device: http://mobile.msn.com



^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2002-06-17 15:37 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2002-06-17 15:36 [gentoo-dev] gentoo popularity contest system Faust Tanasescu

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox