alvin is a django app used in-house for doing basic digital media object cataloging.
It's intended to be a temporary solution, transitioning between an older process and something else to come.
alvin requires Django [https://www.djangoproject.com/] and the Django application django_filters [https://github.com/alex/django-filter]. Django has its own requirements, primarily that Python and a database are installed. Django can be deployed in a number of ways; we've used WSGI. For more information on deploying Django itself, see https://docs.djangoproject.com/en/1.5/howto/deployment/ [Django v. 1.5 documentation].
alvin is distributed with three subdirectories:
alvincontains the django application codemediacontains the static media files (e.g., css, javascript)templatescontains the django template files
The alvin and templates directories can be installed anywhere you would like on your system, but for security reasons should not be in under the web server's document root. media on the other hand, should be in a web-accessible location, either on the same server as django or a separate server dedicated to serving static media.
If a database for alvin does not already exist, create one now. For the next step of editing the django settings file, you will need to remember the database engine (one of 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'), the database name, the database username, and the database user's password. No tables need to be created inside the database; the django syncdb command will take care of table creation later.
Once installed, the 'settings.py.example' file in the 'alvin' directory should be copied to 'settings.py' and populated with local values. Update the following fields:
DATABASE_ENGINEvalue should be database you are usingDATABASE_NAMEvalue should be the name of the database created for this appDATABASE_USERvalue should be username for the databaseDATABASE_PASSWORDvalue should be the password for the database userTIME_ZONEchange as appropriate for your locationMEDIA_ROOTMEDIA_URLADMIN_MEDIA_PREFIXROOT_URLCONFvalue should be 'alvin.urls'TEMPLATE_DIRSvalue should be the path to when you installed alvin'stemplatedirectoryINSTALLED_APPSshould include'django_filters'and'alvin.core'
After the settings.py file has been updated, from within the alvin directory, run the command:
python manage.py syncdb
The command should create the necessary tables. Also, because a file of inital data has been included (initial_data.json), the syncdb command should load the initial data. It will do this each time the command is run, overwriting changes that have been made. To avoid this behavior, remove or rename the initial_data.json file.
At this point, the application should be functional.