Blog

Waldemar Kornewald on May 22, 2010

Changed project structure

We really wanted to avoid this, but with the soon-to-be-announced MongoDB backend we realized that our current project structure for djangoappengine-based projects makes portability between different nonrel backends and installation on MongoDB-based projects unnecessarily difficult. Please adapt your project to the new recommended structure. We've published detailed installation instructions in the djangoappengine documentation which also describes how to create symbolic links on Windows 7, Vista, and XP and Linux and MacOS X.

What changed

The "common-apps" folder is deprecated. From now on, you'll get a warning if that folder exists in your project. The "django", "djangoappengine", and "djangotoolbox" links should now be placed right into your main project folder.

We've also moved "djangotoolbox" into a subfolder of the djangotoolbox repository, so please change the link accordingly. That was necessary because we had to add a setup.py installation file for MongoDB users.

Also, the app.yaml file has to reflect those changes. Please remove the "common-apps/" prefix from all paths in your app.yaml. See the django-testapp/app.yaml for an example.

Finally, replace your manage.py file with the one in django-testapp. Just download the django-testapp/manage.py from the repository and copy it into your projects.

Now you can delete the "common-apps" folder.

Again, please look at the djangoappengine documentation for detailed installation instructions if you want to reinstall Django-nonrel from scratch. We've also added general update instructions on how to update the source code to the latest version.

We're sorry that those changes had to be done. We hope that you understand that this is worth it to get easy portability across nonrel backends. For example, with those changes this website can run unmodified on App Engine and MongoDB and SQL (you merely need to change settings.py to specify your desired backend).