You are not logged in Log in Join
You are here: Home » Members » k_vertigo » Stories » Gideon » ClientInteraction

Log in
Name

Password

 
 

History for ClientInteraction

??changed:
-
ClientInteraction

  Goal

     Gideon shouldn't mandate client implementation decisions, it should be 
    adaptable to client needs.

     Gideon should offer flexible accesss to different sets of metadata (see       MetaData for further discussion).
 

  Thoughts
  
    Probably the only hard requirement that i really want to push for client 
  interaction is that the server should support replying with a full dependency
  list for a package. for example package foo has dependencies a,b,c. and package b depends on package e and f. the client should be able to expose the
  depedency list a,b,c,e,f in a single interaction with proper nesting. hmm...
  if a depends on b. then it should get installed after b (obviously) but this
  again requires proper nesting for dependencies if this information is to 
  be conveyed in a single response.

  hmm... is the above realistic?, probably not, the alternative is having a 
  client required to download separate metadata files for each depedency and 
  than organize them in a graph.

  actually pushing this to the client makes alot of sense. the client knows best  
  what the installed packages, the server would have to make exhaustive lists   
  otherwise.

  See GideonProtocols for server exposed protocols that clients can use.

<hr solid id=comments_below>


Zen (Mar 13, 2002 8:08 pm; Comment #1)  --
 If the only protocols that a client can talk to a master server is HTTP, HTTPS or FTP, then you have just increased the number of possible mirrors by a factor of 1000 (as they can simply mirror a master repository using wget or similar). This puts more intelligence on the client, but also allows for distribution of packages using such means a CDROM of even floppy disk, as the client just needs to be pointed at a URL that is the repository. This puts the burden of searching and dependancy generation on the clients, but if this is an issue then a gideon_client.py module could be shared amonst all that are developed (although only one is needed, and is probably called distutils).