Overview
This document describes the soup-to-nuts process for creating and maintaining a "cspace_django_project" Project for your institution.
The details of how this whole process work are here.
This document is an outline that links to the details.
Prerequsites to development
At UCB, development of Django webapps is done using Pycharm. Therefore, your first step in any case is to install Pycharm on your development system.
Details on installing and using Pycharm
Creating a new CSpace Django Project for an institution
wsgi.py (mount point)
settings.py (static root)
...
The UCB practice for Django Webapps is to have one (or perhaps more) Django Projects per institution. Each of this is forked from the parent project, called cspace_django_project
The following steps will create such an institution level project in GitHub: CSpace-Django webapps - setting up a code repository
Checking out an existing institution's project for development
From the command line: git clone myforkofinstituionsproject.git
Open this directory in PyCharm
Creating of a new webapp for an existing project
If the webapp you want to work on exists, go to the next step, otherwise:
startapp
Edit cspace_django_site/settings.py (INSTALLED_APPS)
Edit cspace_django_site/urls.py (urlpatterns)
Resolve any other site-level dependencies: logging, cacheing, configuration: use , other python or code dependencies
Create an example config file (if necessary) See: Use of the config directory and .cfg files
Maintaining an existing webapp
- check out latest code (details?)
- modify
- test locally
- commit and push (where exactly?)
Deploying an institution project to a "Linux Server"
...
- copy example files to config/ and customize per deployment (if any)
- restart Apache
Maintenance of an existing webapp
- check out latest code (details?)
- modify
- test locally
- commit and push (where exactly?)
Pushing your spiffy revised project project to Dev or Production Server
In principle:
git pullYour project is already deployed and running (see the step above). You need to update the code to the latest version:
git pull
update configuration file (if needed)
manage.py collectstatic
restart apache
...