Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Removing a bunch of incorrect, useless and/or obselete files that the…

… repository has been carrying around.

git-svn-id: http://svn.osqa.net/svnroot/osqa/trunk@79 0cfe37f9-358a-4d5e-be75-b63607b5c754
  • Loading branch information...
commit 1eb51aa3f7a7add93f837456759d453288e6a454 1 parent 052a64d
rick authored
View
16 .gitignore
@@ -1,16 +0,0 @@
-*.pyc
-*.swp
-*.log
-cache/??
-osqa.wsgi
-nbproject
-settings_local.py
-.idea
-*.iml
-env
-nbproject
-pip-log.txt
-*.zip
-tmp/*
-forum/upfiles/[^R]*
-.svn
View
39 HOW_TO_DEBUG
@@ -1,39 +0,0 @@
-1) LOGGING
-Please remember that log files may contain plaintext passwords, etc.
-
-Please do not add print statements - at least do not commit them to git
-because in some environments printing to stdout causes errors
-
-Instead use python logging this way:
---------------------------------
-#somewere on top of file
-import logging
-
-#anywhere below
-logging.debug('this maybe works')
-logging.error('have big error!')
-#or even
-logging.debug('') #this will add time, line number, function and file record
-#sometimes useful record for call tracing on its own
-#etc - take a look at http://docs.python.org/library/logging.html
--------------------------------
-
-in OSQA logging is currently set up in settings_local.py.dist
-please update it if you need - in older revs logging strings have less info
-
-messages of interest can be grepped out of the log file by module/file/function name
-e.g. to take out all django_authopenid logs run:
->grep 'osqa\/django_authopenid' log/django.osqa.log | sed 's/^.*MSG: //'
-in the example above 'sed' call truncates out a long prefix
-and makes output look more meaningful
-
-2) DJANGO DEBUG TOOLBAR
-osqa works with django debug toolbar
-if debugging under apache server, check
-that debug toolbar media is loaded correctly
-if toolbar is enabled but you do not see it, possibly some Alias statement
-in apache config is wrong in your VirtualHost or elsewhere
-
-3) If you discover new debugging techniques, please add here.
-Possible areas to improve - at this point there is no SQL query logging,
-as well as request data and http header.
View
31 INSTALL.pip
@@ -1,31 +0,0 @@
-* Install virtualenv and pip:
- easy_install virtualenv
- easy_install pip
-
-* Install MySQL:
- sudo apt-get install mysql-client mysql-server
-
-* Install sphinxsearch. See:
- [optional]
- http://sphinxsearch.com/downloads.html
- http://www.hackido.com/2009/01/install-sphinx-search-on-ubuntu.html
- git://github.com/johnl/deb-sphinx-search.git
-
-* Install a virtual environment OUTSIDE of this directory:
- pip install -E ~/env -r osqa-requirements.txt
-[there is discussion on the pinax forums about what it should be outside
-the source directory]
-
-* Notice that you will need to register with recaptcha.net and receive
- recaptcha public and private keys that need to be saved in your
- settings_local.py file
-
-* Start your environment:
- source ~/env/bin/activate
-
-* Install mysql-python into your virtualenv, because we can't
-automagically install it with pip:
- easy_install --prefix ~/env/ mysql-python
-
-For more information about why pip can't automatically install the
-MySQL driver, see this message: http://groups.google.com/group/python-virtualenv/msg/ea988085951c92b3
View
346 INSTALL.webfaction
@@ -1,346 +0,0 @@
-Detailed instructions for installing OSQA on WebFaction
-
-Adapted from http://code.pinaxproject.com/wiki/DetailedPinaxWebfaction/
-
-Please email turian at gmail with any updates or corrections.
-
-
-Installing OSQA on Webfaction
-------------------------------------
-
-Details the steps for setting up OSQA on a Webfaction shared-hosting
-account, including email setup, using Apache2, mod_wsgi, psycopg2.
-
-If you want to search-and-replace through this file, you will need to replace:
- osqa_server [name of Webfaction application, which will be in ~/webapps/]
- osqa_static [name of Webfaction application for static media serving]
- DOMAIN.com [domain name for OSQA site]
- PORT [port number assigned by WebFaction to your mod_wsgi application]
- SITENAME [name you give the OSQA site, which will contain the apache logs]
- MYOSQA [name of the OSQA project]
- MAILBOX_USERNAME [username you give the email address]
- MAILBOX_PASSWORD [password that webfaction gives to this email username]
- OSQADATABASE_NAME [username you give the database]
- OSQADATABASE_PASSWORD [password that webfaction gives to this database]
- ~/envs/osqa [directory for the OSQA python environment, grep for 'env']
- USERNAME [your WebFaction username]
-
-Some things I'm not sure about:
-
-Here's what I don't know how to do:
- * Set up a nginx server for static media.
- * Configure sphinx search
- * Use PostgreSQL, not MySQL: http://osqa.net/question/13/can-i-use-osqa-with-postgresql
-
-
-Webfaction Control Panel
---------------------------
-
-(Note: if you sign up and pick django it will create the application
-for you, website/subdomain and associate the two for you.)
-
- If necessary, add or create any domains or subdomains you may need.
-
- https://panel.webfaction.com/domain/list/
-
- Let's call the domain DOMAIN.com.
-
- Create a new Webfaction application with a "Type:" of "mod_wsgi
- 2.5/Python2.5", naming it "osqa_server". (These instructions
- might also work with mod_wsgi 2.0, if you like.)
-
- https://panel.webfaction.com/app_/list
-
- Note the port number assigned to the mod_wsgi application. Call
- it PORT.
-
- Create a new Webfaction website which will associate the subdomain
- with the new osqa_server application. Give it name SITENAME, at least one
- domain, and set it to use the osqa_server application for the site's
- root location, "/".
-
- https://panel.webfaction.com/site/list
-
- You will need to create a database, typically one for each project
- you create. Change the type to PostgreSql and modify the name (it
- defaults to your webfaction account name) by adding an underscore
- and a project-specific identifier such as "_osqa". Before
- leaving this section of the control panel, you may wish to change
- the password.
-
- https://panel.webfaction.com/database/create
-
- Call these OSQADATABASE_NAME and OSQADATABASE_PASSWORD.
-
- Save the database password for later.
-
- [The following I haven't figured out yet]
- You will probably want to add a static media server. This is a
- Webfaction application. I created one of type "Static only (no
- .htaccess)" and with the name of "osqa_static".
-
- https://panel.webfaction.com/app_/create
-
- To configure email, you need an email mailbox. Add one here. Note
- that your mailbox password shouldn't be the same password you use
- to SSH to webfaction.
-
- https://panel.webfaction.com/mailbox/list
-
- Save the mail password for later.
- We will call the username and password MAILBOX_USERNAME and
- MAILBOX_PASSWORD, respectively.
- You might also consider adding an email address like admin@DOMAIN.com,
- here:
-
- https://panel.webfaction.com/email/list
-
-
-OSQA Software
---------------
-
- Log onto webfaction and get the code. I use my fork because I have
- a simple pip installation:
- git://github.com/turian/osqa.git
- In my situation, I keep source code in ~/utils/src, create
- virtual environments in ~/envs/osqa, and create Pinax projects in
- ~/webapps/osqa_server/projects.
-
- You will need pip + virtualenv installed:
-
- easy_install --prefix=~/utils/ pip
- easy_install --prefix=~/utils/ virtualenv
-
- cd ~/utils/src/
- git clone git://github.com/turian/osqa.git
- cd osqa
-
- # We need python2.5 to be compatible with WSGI
- python2.5 ~/utils/bin/pip install -E ~/envs/osqa -r osqa-requirements.txt
- source ~/envs/osqa/bin/activate
-
- # [Optional] If you want a MySQL database
- easy_install-2.5 --prefix ~/envs/osqa/ mysql-python
-
-Additional Software
--------------------
-
- [Note that PostgreSQL installation doesn't work for me.]
-
- You will need to install psycopg2 separately for PostgreSQL.
- Psycopg2 requires a little fiddling. Continuing to
- work in the ~/utils/src/ directory:
-
- cd ~/utils/src/
- wget http://initd.org/pub/software/psycopg/psycopg2-2.0.13.tar.gz
- tar zxf psycopg2-2.0.13.tar.gz
- cd psycopg2-2.0.13
- nano setup.cfg
-
- # edit the line reading "#pg_config=" so that it reads:
- "pg_config=/usr/local/pgsql/bin/pg_config"
-
- python2.5 setup.py build
- python2.5 setup.py install
-
-
-Create a Project
-----------------
-
- In Pinax, you clone a project from OSQA.
- However, OSQA we just copy it.
-
- cd ~/webapps/osqa_server
- mkdir projects
- cd projects
- cp -R ~/utils/src/osqa MYOSQA
- cd MYOSQA
- export OSQAPROJECT=`pwd`
-
- Make some directories, as described in the OSQA INSTALL file:
- [okay I haven't actually done this yet]
-
-# mkdir -p $OSQASITE/upfiles/
-# mkdir -p $OSQALOG
-# sudo chown -R `whoami`:www-data $OSQASITE
-# sudo chown -R `whoami`:www-data $OSQALOG
-# chmod -R g+w $OSQASITE/upfiles
-# chmod -R g+w $OSQALOG
-
-
- Edit the settings files:
-
- cd $OSQAPROJECT
- cp settings_local.py.dist settings_local.py
- vi settings_local.py settings.py
-
- Pay attention to the following settings:
-
- DATABASE_ENGINE = 'mysql'
- DATABASE_NAME = 'OSQADATABASE_NAME'
- DATABASE_USER = 'OSQADATABASE_NAME'
- DATABASE_PASSWORD = 'OSQADATABASE_PASSWORD'
-
- EMAIL_HOST='smtp.webfaction.com'
- EMAIL_HOST_USER='MAILBOX_USERNAME'
- EMAIL_HOST_PASSWORD='MAILBOX_PASSWORD'
- EMAIL_PORT='25'
- DEFAULT_FROM_EMAIL = 'MAILBOX_USERNAME@DOMAIN.com'
- SERVER_EMAIL = 'MAILBOX_USERNAME@DOMAIN.com'
- # The following setting might not be necessary, it's used in Pinax tho
- CONTACT_EMAIL = "MAILBOX_USERNAME@DOMAIN.com"
-
- APP_URL = 'http://DOMAIN.com' #used by email notif system and RSS
-
- [Later on, the install instructions should talk about]
- SERVE_MEDIA = False # [Not present, not ready yet]
-
- Create a directory for logs:
-
- cd $OSQAPROJECT
- mkdir log
-
- Modify mail cron scripts "cron/send_email_alerts" as follows:
- [Pinax has cron/emit_notices.sh, cron/retry_deferred.sh,
- cron/send_mail.sh, are these also necessary?]
-
- #!/bin/sh
-
- WORKON_HOME=~/envs/osqa
- PROJECT_ROOT=~/webapps/osqa_server/projects/MYOSQA/
-
- # activate virtual environment
- . $WORKON_HOME/bin/activate
-
- cd $PROJECT_ROOT
- python manage.py send_email_alerts >> $PROJECT_ROOT/log/cron_mail.log 2>&1
-
- Use command "crontab -e" to add this script to your cron file, to run twice a day::
-
- 1 0,12 * * * ~/webapps/osqa_server/projects/MYOSQA/cron/send_email_alerts
-
- [Configure sphinx]
-
- Create the database tables, indices, and so forth:
-
- python manage.py syncdb
-
- [Ignore the following static media steps, I haven't tried them]
- Build media directory links within the project and create symbolic
- links on the static media server.
- python manage.py build_media -all
- mkdir ~/webapps/OSQA_STATIC/MYOSQA
- ln -sd ~/webapps/osqa_server/projects/MYOSQA/site_media ~/webapps/OSQA_STATIC/MYOSQA/site_media
-
-
- Set up the badges:
-
- 1. You should run the SQL commands in:
-
- sql_scripts/badges.sql
-
- 2. Edit paths in the file `cron/multi_award_badges`. (This
- file doesn't yet exist in the git repositories, so just
- copy `cron/send_email_alerts` and make sure the command
- `multi_award_badges` is executed.)
-
- 3. Run `cron/multi_award_badges` to make sure it works okay.
-
- 4. Use `crontab -e` to call `cron/multi_award_badges` maybe
- four times an hour.
-
- 4,19,34,49 * * * * ~/webapps/osqa_server/projects/MYOSQA/cron/multi_award_badges
-
- 5. Repeat steps 1-4 for `cron/once_award_badges`.
-
-
-Configure Apache2
-----------------
-
- Edit ~/webapps/osqa_server/apache2/conf/httpd.conf as follows::
-
- ServerAdmin "MAILBOX_USERNAME@DOMAIN.com"
- ServerRoot "/home/USERNAME/webapps/osqa_server/apache2"
- ServerName DOMAIN.com
-
- LoadModule dir_module modules/mod_dir.so
- LoadModule env_module modules/mod_env.so
- #LoadModule setenvif_module modules/mod_setenvif.so
- LoadModule log_config_module modules/mod_log_config.so
- LoadModule mime_module modules/mod_mime.so
- LoadModule rewrite_module modules/mod_rewrite.so
- LoadModule wsgi_module modules/mod_wsgi.so
-
- KeepAlive Off
- Listen PORT
- LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
- CustomLog /home/USERNAME/logs/user/access_osqa_server_log combined
- ErrorLog /home/USERNAME/logs/user/error_osqa_server_log
- ServerLimit 2
-
- #SetEnvIf X-Forwarded-SSL on HTTPS=1
-
- WSGIPythonPath /home/USERNAME/envs/osqa/lib/python2.5/site-packages/
- WSGIScriptAlias / /home/USERNAME/webapps/osqa_server/projects/MYOSQA/osqa.wsgi
-
- LoadModule alias_module modules/mod_alias.so
- WSGIDaemonProcess osqaWSGI user=USERNAME group=USERNAME threads=25 python-path=/home/USERNAME/envs/osqa/lib/python2.5/site-packages
- WSGIProcessGroup osqaWSGI
-
- NameVirtualHost 127.0.0.1:PORT
-
- #ErrorLog "logs/MYOSQA_2009_05_06.log"
- SetHandler none
- #Alias /site_media /home/USERNAME/webapps/static/MYOSQA/site_media
-
- #force all content to be served as static files
- #otherwise django will be crunching images through itself wasting time
- Alias /content/ /home/USERNAME/webapps/osqa_server/projects/MYOSQA/templates/content/
- Alias /forum/admin/media/ /home/turian/envs/osqa/lib/python2.5/site-packages/django/contrib/admin/media/
- #AliasMatch /([^/]*\.css) /home/USERNAME/webapps/osqa_server/projects/MYOSQA/templates/content/style/$1
- <Directory "/home/USERNAME/webapps/osqa_server/projects/MYOSQA/templates/content">
- # Order deny,allow
- # Allow from all
- </Directory>
-
- If you want virtual hosts of the admin interface under HTTPS, please
- look at OSQA's install file.
-
- Create osqa.wsgi and edit it:
- cp osqa.wsgi.dist osqa.wsgi
-
- Edit ~/webapps/osqa_server/projects/MYOSQA/deploy/osqa.wsgi as follows::
-
- import os
- import sys
-
- # redirect sys.stdout to sys.stderr for bad libraries like geopy that uses
- # print statements for optional import exceptions.
- sys.stdout = sys.stderr
-
- from os.path import abspath, dirname, join
- from site import addsitedir
-
- # add the virtual environment site-packages to the path
- from site import addsitedir
- addsitedir('/home/USERNAME/envs/osqa/lib/python2.5/site-packages')
-
- sys.path.insert(0, abspath(join(dirname(__file__), "../")))
- sys.path.append(abspath(dirname(__file__)))
-
- from django.conf import settings
- os.environ["DJANGO_SETTINGS_MODULE"] = "MYOSQA.settings"
-
- #print sys.path
-
- from django.core.handlers.wsgi import WSGIHandler
- application = WSGIHandler()
-
-And then you're up and running with:
-
- ~/webapps/osqa_server/apache2/bin/stop
- ~/webapps/osqa_server/apache2/bin/start
-
-You should log in to the admin interface (http://DOMAIN.com/admin/),
-and go to "Sites > Sites", and change the domain name that is used in
-all emails.
View
3  LICENSE
@@ -1,4 +1,5 @@
-Copyright (C) 2009. Chen Gang
+Copyright (c) 2010. OSQA
+Some portions Copyright (c) 2009 Chen Gang
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
View
28 PENDING
@@ -1,28 +0,0 @@
-There are two kinds of things that can be done:
-refactorings (think of jogging in the morning, going to a spa, well make the code better :)
-new features (go to law school, get a job, do something real)
-Just a joke - pick yourself a task and work on it.
-
-==Refactoring==
-* validate HTML
-* set up loading of default settings from inside the /forum dir
-* automatic dependency checking for modules
-* propose how to rename directory forum --> osqa
- without breaking things and keeping name of the project root
- named the same way - osqa
-
-==New features==
-Whoever wants - pick a feature from the WISH_LIST
-add it here and start working on it
-If you are not starting immediately - leave it on the wishlist :)
-
-==Notes==
-1)after this is done most new suggested features
- may be worked on easily since most of them
- only require editing view functions and templates
-
- However, anyone can work on new features anyway - you'll
- just have to probably copy-paste your code into
- the branch undergoing refactoring which involves
- splitting the files. Auto merging across split points
- is harder or impossible.
View
10 README
@@ -1,10 +0,0 @@
-This is OSQA project - open source Q&A system
-
-Project Q&A site - http://meta.osqa.net
-Homepage - http://www.osqa.net
-MASTER devel. code - http://svn.osqa.net/svnroot/osqa/trunk
-Bug tracking - http://jira.osqa.net (bugs can be also at http://meta.osqa.net too)
-Wiki - http://wiki.osqa.net
-
-OSQA is based on the CNPROG project, originally created by Mike Chen and Sailing Cai.
-
View
32 ROADMAP.rst
@@ -1,32 +0,0 @@
-This document is a map for our activities down the road - therefore ROADMAP.
-ROADMAP does not specify deadlines - those belong to the PENDING file
-
-Intro
-=========
-ROADMAP aims to streamline activities of the OSQA open source project and
-to minimize ad-hoc approaches of "big-picture" level.
-
-With one exception: under extreme time pressure improvised approaches are perfectly acceptable.
-
-Items in this document must be discussed in public via dev@osqa.net
-
-Architecture
-=============
-
-Sub-systems
------------------
-* authentication system
-* Q&A system
-
-Authentication system
--------------------------
-* MUST authenticate people visiting the website via web browsers.
-* Upon successful authentication must associates the visitor with
- his/her Django system user account
-* MUST allow multiple methods of authentication to the same account
-* MUST support a method to recover lost authentication link by email
-* MAY offer an option to "soft-validate" user's email (send a link
- with a special key, so that user clicks and we know that email is valid)
- "soft" - meaning that lack of validation won't block people
- from using the site
-
View
10 UPGRADE
@@ -1,10 +0,0 @@
-If you're upgrading your code, please take the following steps in consideration:
-
-If your current code is older than March 27 2010, you'll have to run the syncdb management command again
-and the create_subscriptions command.
-
-If your code is older than March 29 2010, you'll have to run the create_extended_user management command.
-
-Starting at April 6 2010 we started bundling south migrations with OSQA. If your code is older than that, you'll need to run
-"python manage.py migrate forum 0001 --fake", after that, or if your code is newer than this date just run "python manage.py migrate forum"
-each time you upgrade your code.
View
24 WISH_LIST
@@ -1,24 +0,0 @@
-* The wonder bar (integrated the search / ask functionality)
-* The authentication system ???
-* allow multiple logins to the same account
-* allow multiple logins to the same account
-* more advanced templating/skinning system
-* per-tag email subscriptions
-* view for personalized news on the site
-* a little flag popping when there are news
-* drill-down mode for navigation by tags
-* improved admin console
-* sort out mess with profile - currently we patch django User
-
-* Some functionality should be moved out of the forums app, in the case
-that the forum app is restricted only to authenticated users:
-
- (r'^%s/$' % _('signin/'), 'django_authopenid.views.signin'),
- url(r'^%s$' % _('about/'), app.about, name='about'),
- url(r'^%s$' % _('faq/'), app.faq, name='faq'),
- url(r'^%s$' % _('privacy/'), app.privacy, name='privacy'),
- url(r'^%s$' % _('logout/'), app.logout, name='logout'),
- url(r'^%s$' % _('feedback/'), app.feedback, name='feedback'),
- (r'^%sfb/' % _('account/'), include('fbconnect.urls')),
- (r'^%s' % _('account/'), include('django_authopenid.urls')),
-
View
5 cron/multi_award_badges
@@ -1,5 +0,0 @@
-#!/bin/sh
-PYTHONPATH=/path/to/dir_above_osqa_site
-export PYTHONPATH
-PROJECT_ROOT=$PYTHONPATH/osqa_site
-python manage.py multi_award_badges >> $PROJECT_ROOT/log/cron_badges.log 2>&1
View
10 cron/multi_award_badges_virtualenv
@@ -1,10 +0,0 @@
-#!/bin/sh
-
-WORKON_HOME=~/envs/osqa
-PROJECT_ROOT=~/webapps/osqa_server/projects/osqa/
-
-# activate virtual environment
-. $WORKON_HOME/bin/activate
-
-cd $PROJECT_ROOT
-python manage.py multi_award_badges >> $PROJECT_ROOT/log/cron_badges.log 2>&1
View
14 cron/once_award_badges
@@ -1,14 +0,0 @@
-#!/bin/sh
-PYTHONPATH=/path/to/dir_above_osqa_site
-export PYTHONPATH
-PROJECT_ROOT=$PYTHONPATH/osqa_site
-python manage.py once_award_badges >> $PROJECT_ROOT/log/cron_badges.log 2>&1
-
-
-#!/bin/sh
-PYTHONPATH=/usr/local/sites/osqa_production
-export PYTHONPATH
-PROJECT_ROOT=$PYTHONPATH/robofaqs
-python $PROJECT_ROOT/manage.py once_award_badges >> $PROJECT_ROOT/log/cron_badges.log 2>&1
-python $PROJECT_ROOT/manage.py multi_award_badges >> $PROJECT_ROOT/log/cron_badges.log 2>&1
-python $PROJECT_ROOT/manage.py send_email_alerts >> $PROJECT_ROOT/log/cron_email.log 2>&1
View
10 cron/once_award_badges_virtualenv
@@ -1,10 +0,0 @@
-#!/bin/sh
-
-WORKON_HOME=~/envs/osqa
-PROJECT_ROOT=~/webapps/osqa_server/projects/osqa/
-
-# activate virtual environment
-. $WORKON_HOME/bin/activate
-
-cd $PROJECT_ROOT
-python manage.py once_award_badges >> $PROJECT_ROOT/log/cron_badges.log 2>&1
View
12 dos2unix.sh
@@ -1,12 +0,0 @@
-#please take care not to dos2unix anything in your .git directory
-#because that will probably break your repo
-dos2unix `find . -name '*.py'`
-dos2unix `find . -name '*.po'`
-dos2unix `find . -name '*.js'`
-dos2unix `find . -name '*.css'`
-dos2unix `find . -name '*.txt'`
-dos2unix `find ./sphinx -type f`
-dos2unix `find ./cron -type f`
-dos2unix settings_local.py.dist
-dos2unix README
-dos2unix INSTALL
View
4 osqa-requirements.txt
@@ -1,4 +0,0 @@
-django>=1.1 # Note: email subscription sender job requires Django 1.1, everything else works with 1.0
-python-openid
-html5lib
-markdown2
View
11 pip-log.txt
@@ -1,11 +0,0 @@
-Exception:
-Traceback (most recent call last):
- File "d:\env\lib\site-packages\pip-0.6.3-py2.6.egg\pip\basecommand.py", line 115, in main
- self.run(options, args)
- File "d:\env\lib\site-packages\pip-0.6.3-py2.6.egg\pip\commands\install.py", line 153, in run
- for req in parse_requirements(filename, finder=finder, options=options):
- File "d:\env\lib\site-packages\pip-0.6.3-py2.6.egg\pip\req.py", line 1274, in parse_requirements
- filename, content = get_file_content(filename, comes_from=comes_from)
- File "d:\env\lib\site-packages\pip-0.6.3-py2.6.egg\pip\util.py", line 300, in get_file_content
- f = open(url)
-IOError: [Errno 2] No such file or directory: 'osqa_requirements.txt'
Please sign in to comment.
Something went wrong with that request. Please try again.