7401ICT: Laboratory 11


Exercises

  1. Complete all previous exercises.

  2. Seek feedback on your solution to Assignment 2.

  3. Design a RESTful implementation of the social bookmarking service delicious.com. Roughly speaking, the service provides the following operations:

    • A user can bookmark a URL.
    • A user can delete a bookmark.
    • A user can tag a bookmark with one or more labels.
    • A user can view his own bookmarks, by date or label.
    • A user can view another user's bookmarks, by date or label.
    • A user can view all recent bookmarks (belonging to any user).
    • A user can view all bookmarks by label (belonging to any user).
    • A user can view the users who have added a particular bookmark.
    • Many others...

    You should attempt this task in two steps:

    • First, design the URLs for a normal Django application, using, e.g., URLs like /bookmarks/{username}/ to view all bookmarks by a given user.
    • Second, remove all "verbs" from URLs, and use specific HTTP verbs instead. For example, replace /bookmarks/{id}/delete/ by an HTTP request to DELETE the URL /bookmarks/{id}/.
  4. Make a list of all the RESTful Web Services provided by Amazon, Google and Yahoo!, with a brief description of the purpose of each.

  5. Using (a) plain JavaScript, and (b) jQuery, modify an HTML document containing an element <div id="foo"> so that whenever the mouse is moved over that element, the content of the element is replaced by the page bar.html from the server.

  6. Seek advice on design and implementation of Assignment 3.