eXtreme Assignment 2 Journal


Assignment 2 [ Add a New Entry ]

Thursday, April 11, 2002


4/11/2002 03:38:00 AM

that logger.py is part of the Medusa web server that we're using. I didn't even think of using that...
did you guys try running testClipsterUI.py ? That's the test that shows you how the notification stuff works.
I'm still rather unclear as to what you guys are trying to do by finding out the class that created the log... That sounds a bit magical... Care to share with the rest of us?



Wednesday, April 10, 2002


4/10/2002 03:31:00 AM

Andy will be posting up the flow chart soon, but in the meanwhile lemme try to draw your attention to the details of what happened on Tuesday's Pair Programming session..

  1. We created the UserOptions module, look at the testUserOptions.py file for usage

  2. Clipster now has an event handler _handleNewClip which gets called whenever you call putClip. Note, however, that the method will ONLY be called if the user has explicitly set the option to allow this to happen

  3. _handleNewClip basically does a HTTP Post to all known peers of the new item that has just been added to the clip list

  4. ClipRequestHandler module now knows about HTTP Post, but it ignores it (look inside continue_request for this) and pops open a message box for fun.

  5. This whole notifying other peers of new clip idea is a step beyond our scope, so we should proceed without being bogged down with the details of handling the notifications, etc...



As far as tests go, all passed. For testClipster.py and testClipsterUI.py you should run Clipster.py first before you run the tests. And for many of the other tests, don't forget you have to run clean.bat before running them.

On a side note, we have discovered the CORRECT way to access AFS from the windows machines.
  1. Right click on the pad lock icon in the system tray and click "show tokens"

  2. Click on "get a new token" and authenticate to get one

  3. Click on the "Drive" tab and map our project directory to a windows drive.

  4. Now you can treat it just like your file system, woo-hoo! :) No more FTP!




Tuesday, April 09, 2002


4/09/2002 03:40:00 PM

Tuesday Session 9 PM

On the driver seat: Slim
On the machine gun seat: Andy

Story: I want any given clipboard peer to be able to notify other interested peers of new data availability

Tasks:
  • HttpServer does a POST to a given peer notifying it of the latest clip available in RSS formt

  • ClipRequestHandler will be able to handle the HTTP Post operation

  • Make both of these function optional to the user. (i.e. user will have to explicitly enable these features)

  • If a user opts-in to the notify feature, the trigger for this function is the same action the user takes in order to put a clip into Clipster.

  • If a user opts-in to the handle notify feature, just pop up a dialog box for now indicating notification.


Objects involved
  • UserOptions

  • HttpServer

  • HttpClient

  • ClipRequestHandler

  • RssParse






4/09/2002 03:31:00 PM

Here's our story just cuz it has been buried deep in the archives. :)

Number in parentheses are estimates.
  • I want any peer to be able to retrieve a list of things I can paste from a selected remote clipboard peer (2)

  • I want to be able to specify the remote clipboard peer from which to retrieve pastable data. (2)

  • I want the peer on the receiving end to cache recently downloaded data. (1.5)

  • I want the peer on the receiving end to decide what to paste as well as what data to download for pasting (1.5)

  • I want any given clipboard peer to be able to notify other interested peers of new data availability (1)

  • I want the application to keep a log of all the events (1.5)

  • I do not want the application to effect the content of the local clipboard (1)

  • I do not want things pasted to have any effect on the local machine. (1)

  • I want the application to provide feedback on the transfer of data from the remote clipboard peer if it is going to take more than a second (2.25)

  • I want to just CTRL-C on one computer and CTRL-SHIFT-V on another and have it work as if it were a series of CTRL-C and CTRL-V operations on one computer. (3+)