Welcome to Rietveld ------------------- This project shows how to create a somewhat substantial web application using Django on Google App Engine. It requires Django version 1.2. In addition, I hope it will serve as a practical tool for the Python developer community, and hopefully for other open source communities. As I've learned over the last two years at Google, where I developed a similar tool named Mondrian, proper code review habits can really improve the quality of a code base, and good tools for code review will improve developers' life. Some code in this project was derived from Mondrian, but this is not the full Mondrian tool. --Guido van Rossum, Python creator and Google employee Links ----- Mondrian video: http://www.youtube.com/watch?v=sMql3Di4Kgc Google App Engine: http://code.google.com/appengine/ Live app: http://codereview.appspot.com About code review: http://en.wikipedia.org/wiki/Code_review Django: http://djangoproject.com Python: http://python.org License ------- The license is Apache 2.0. See the file COPYING. Running ------- To run the app locally (e.g. for testing), download the Google App Engine SDK from http://code.google.com/appengine/downloads.html. You can then run the server using make serve (assuming you're on Linux or Mac OS X). On Windows just use Google App Engine Launcher. Rietveld uses Django 1.2 libraries. They are included in App Engine SDK version 1.4.2 and above. The server is only accessible on http://localhost:8080. The server in the Google App Engine SDK is not designed for serving real traffic. The App Engine FAQ at http://code.google.com/appengine/kb/general.html says about this: "You can override this using the -a <hostname> flag when running it, but doing so is not recommended because the SDK has not been hardened for security and may contain vulnerabilities." To deploy your own instance of the app to Google App Engine: 1. Register your own application ID on the App Engine admin site. 2. Edit app.yaml to use this app ID instead of 'codereview-hr'. 3. Upload using make update VERSION=123 *** Don't forget step 2! If you forget to change the application ID, you'll get a error message from "appcfg.py update" (called by "make update") complaining you don't have the right to administer this app. *** Don't update the Python runtime in app.yaml to Python 2.7! Currently Rietveld doesn't support Python 2.7 on App Engine due to some thread-safety issues (see http://code.google.com/p/rietveld/issues/detail?id=348). The VERSION=xxx argument sets the version; the version from the app.yaml is not used. This is to support a convention used for the main Rietveld instance (codereview.appspot.com) whereby we never deploy to the same version twice; the version must be manually picked by the developer doing the deployment. If you don't like this, just edit the Makefile to remove "--version $(VERSION)" and edit app.yaml to hardcode a version number.