Differences between revisions 2 and 3
Revision 2 as of 2012-07-07 19:52:02
Size: 1786
Editor: server2
Comment:
Revision 3 as of 2012-07-07 20:40:46
Size: 3260
Editor: server2
Comment:
Deletions are marked like this. Additions are marked like this.
Line 24: Line 24:

= Debugging =

 1. {{{/etc/apache2/sites-enabled/appstore}}}
  This file tells Apache and mod_wsgi where to find the site. The most important line is this:
  {{{
WSGIScriptAlias / /var/www/CyAppStore/django.wsgi
}}}
  This tells Apache and mod_wsgi where to locate the site code. Make sure the path to {{{django.wsgi}}} is correct.
 1. {{{/var/www/CyAppStore/django.wsgi}}}
  This file invokes Django's WSGI handler. It needs to correctly reference {{{settings.py}}} to start the site. Make sure these two lines correctly reference the location of the site:
  {{{
SITE_PARENT_DIR = '/var/www'
SITE_DIR = filejoin(SITE_PARENT_DIR, 'CyAppStore')
}}}
  To check if these variables are being defined correctly, you can launch a separate Python interpreter and enter these lines:
  {{{
from os.path import join as filejoin
SITE_PARENT_DIR = '/var/www'
SITE_DIR = filejoin(SITE_PARENT_DIR, 'CyAppStore')
}}}
  Then check if the variables {{{SITE_PARENT_DIR}}} and {{{SITE_DIR}}} are correct.
 1. {{{/var/www/CyAppStore/settings.py}}}
  This file is pretty complicated. But if you've checked everything at this point, here's some ways to pinpoint problems in {{{settings.py}}}.
   a. s
   a. If you're getting database errors, enter this command at the shell prompt in the same directory as {{{settings.py}}}:
   {{{
python manage.py dbshell
}}}
   If you're able to get a SQL prompt, that means the log in settings into the SQL database is correct.

App Store Code Structure

Terminology

  • Django app: Django organizes websites into separate modules called apps. Each app has its own directory at the top level typically containing files like __init__.py, model.py, and views.py.

  • templates: HTML files with placeholders, which Django processes by filling in Python code.

  • static files: general website files (images, Java Script, CSS) that are served as is without any processing from Django.

  • media files: general website files referenced by the database backend.

Explanation of important files

  • settings.py: Django settings file for configuring things like the database, location of templates, static files, and so on.

  • urls.py: the general URL layout of the entire site. Each URL entry in this file delegates URL paths to each Django app.

  • django.wsgi: the configuration file used when the App Store is deployed to an Apache server using mod_wsgi.

  • apps: navigation of Cytoscape apps and app pages.

  • users: user login/logout.

  • search: free text searching.

  • backend: programs can obtain details of apps from the backend; used by the Cytoscape App Manager

  • help: about, contact us, getting started pages

  • submit_app: Cytoscape 3.0 app submission pages and jar verification

  • templates: Templates in this directory are used throughout the App Store.

  • static: Each subdirectory has static files for a Django app. The common subdirectory has static files that belong to the entire site. When deploying the site to Apache, Apache should directly serve these files instead of through Django.

  • util: small utility functions used throughout the site's code

Debugging

  1. /etc/apache2/sites-enabled/appstore

    • This file tells Apache and mod_wsgi where to find the site. The most important line is this:
      WSGIScriptAlias / /var/www/CyAppStore/django.wsgi

      This tells Apache and mod_wsgi where to locate the site code. Make sure the path to django.wsgi is correct.

  2. /var/www/CyAppStore/django.wsgi

    • This file invokes Django's WSGI handler. It needs to correctly reference settings.py to start the site. Make sure these two lines correctly reference the location of the site:

      SITE_PARENT_DIR = '/var/www'
      SITE_DIR = filejoin(SITE_PARENT_DIR, 'CyAppStore')
      To check if these variables are being defined correctly, you can launch a separate Python interpreter and enter these lines:
      from os.path import join as filejoin
      SITE_PARENT_DIR = '/var/www'
      SITE_DIR = filejoin(SITE_PARENT_DIR, 'CyAppStore')

      Then check if the variables SITE_PARENT_DIR and SITE_DIR are correct.

  3. /var/www/CyAppStore/settings.py

    • This file is pretty complicated. But if you've checked everything at this point, here's some ways to pinpoint problems in settings.py.

      1. s
      2. If you're getting database errors, enter this command at the shell prompt in the same directory as settings.py:

        python manage.py dbshell
        If you're able to get a SQL prompt, that means the log in settings into the SQL database is correct.

AppStore (last edited 2018-02-14 16:54:47 by bdemchak)

Funding for Cytoscape is provided by a federal grant from the U.S. National Institute of General Medical Sciences (NIGMS) of the Na tional Institutes of Health (NIH) under award number GM070743-01. Corporate funding is provided through a contract from Unilever PLC.

MoinMoin Appliance - Powered by TurnKey Linux