Imaginary Landscape, LLC

Web technology to power your business.


chicago web development website development company

Job Board, version 0.1.2GPL logo

Welcome to the home page of Job Board, an open source application from Imaginary Landscape.  Job Board is written in Python using the Django framework and released under the GNU General Public License, version 3.  Job Board provides the following capabilities:

  • Allow job posters to post open jobs 
  • Allow job seekers to post resumes 

Installation

The installation consists of two steps.  First is the install of Bebop which is a set of Django utilities required to run Job Board.  The second is the actual installation of Job Board.

In a setuptools environment, install Bebop:

easy_install -UaZ http://www.imagescape.com/library/software/Bebop-0.1.2.tar.gz

Then install the Job Board:

easy_install -UaZ http://www.imagescape.com/library/software/JobBoard-0.1.2.tar.gz

Note:  These files are subject to change.  We haven't made a public release at the time of writing.  If they don't appear to be there, contact cwebber AT imagescape DOT com.

Configuration

Configure the job board.  More detailed instructions will come soon, but for now this will work.  Put the following in your settings module:

JOBBOARD__JOBS_ON_INDEX = 5
JOBBOARD__JOBS_PER_PAGE = 10
JOBBOARD__APPLICANTS_ON_INDEX = 5
JOBBOARD__APPLICANTS_PER_PAGE = 10
JOBBOARD__POSTS_EXPIRE_DAYS = 60
JOBBOARD__FROM_EMAIL = "jobboard@example.com"

Additionally, you can put the following import at the top, with your other imports, if you like:

from bebop.config.base import app_configs_from_settings

Lastly, put this at the bottom of your settings.py:

app_configs_from_settings(globals())

A brief description of each of these settings:

Setting
Description
jobs_on_index
How many job postings should appear on the index page
jobs_per_page
How many job postings should appear per page on the active jobs listing
applicants_on_index
How many applicant postings should appear on the index page
applicants_per_page
 How many applicant postings should appear per page on the active jobs listing
posts_expire_days
 In how many days from submission a post will expire and no longer appear on the listing or index
from_email
 What address notification emails will appear to come from


 

 

 

 

 

 

 

You'll also have to add to your INSTALLED_APPS setting the following strings:

'jobboard', 'django.contrib.humanize', 'django.contrib.webdesign'

In your root ``urls.py``, add the following to your urlpatterns:

(r'^jobboard/', include('jobboard.urls')),

Sync your database with ``syncdb`` from the commandline.

Customizing templates

All of job board's templates are customizable and overridable, and all exist under the the template path of 'jobboard/'.  There are a few templates you will likely want to override to meet the needs of your particular site.  (Note that these are *not* the only templates, only the ones that most users will want to override.)

jobboard/base.html

All templates in this application inherit from this file.  By default, this file also inherits from the file ``base_site.html``.  Note that an example file of base_site.html is provided by this application, but you should either override that in a site level templates directory or change base.html to wrap whatever base site template you use.

jobboard/index.html

This is the first page visitors to this application should see.  You should probably override this template and fill in whatever introduction message you would like your visitors to see (currently it provides a block of lorem ipsum text where your message should go).

Usage

The first thing you will definitely want to do is to add entries to the Position table.  Each entry here will be an option describing a type of position users can both apply to and employers can offer jobs for.  For example, if you added three entries of "Python Programmer", "System Administrator" and "Other", users will have the option to make posts relevant to any of those three positions.

The second thing you may want to do after installing this application are to go to the Django admin and add one or more entries to the NotifyEmail table.  While this isn't necessary, it is recommended, as any email address in this list will get sent a message any time a new post is submitted to the site.

Other than that, interfacing with Job Board is fairly simple.  New job posts are submitted and assigned an expiration date relevant to jobboard's "POSTS_EXPIRE_DAYS" configuration option.  If you're in the NotifyEmail table, you'll be sent an email notifying you of any and all new submissions, and then you'll have the option to go in and approve or delete any such posting.  Any posts that are approved will appear on the index of the job board and in either the job or applicant listings.