Developer Information

Accessing Subversion Repository

The SVN credentials are as follows:
URL: http://svn.theemptyspace.com/vcb/trunk/
Username: (your email address)
Password: (emailed)

You can change your password by going to http://svn.theemptyspace.com/ and logging in with your user/pass and clicking the “change password” link.

Steps for getting a local environment running

Assumes you have an Apache/MySQL/PHP environment setup on your local machine

  1. Set up the database:
    1. Create a database in MySQL called vcb_localhost.  Use UTF-8 encoding.  (if you want to use a domain other than “localhost”, create your database with the name “vcb_” + <yourdomain>.  replace all dots (.) with underscore (_).  For example, vcb_mycallboard_dev = http://mycallboard.dev)
    2. Import the localhost.sql file to the vcb_localhost database (test20170222_vcallboard_com.sql)
    3. In the site_config table, ensure the siteurl row is set to “localhost” (no longer needed)
  2. Set up the file system:
    1. Check out a working copy of https://svn.theemptyspace.com/vcb/trunk from the SVN repository.
    2. Copy db-sample.php to db.php and provide your MySQL hostname, username, and password inside that file.  (I think this is different now)
    3. Create a <repo>/logs/ directory that is writable by your web server.
    4. Make <repo>/site/images/cache writable by your web server.
  3. Setup the apache environment:
    1. Point DocumentRoot of your Apache server to <path to vcb-trunk>/site/
    2. Restart your http server.
    3. Access the server at http://localhost/
  4. Use the username: “administrator“, password: “administrator” to login.

Getting to know our environment

The user’s login is based on PHP sessions.  As such, each new page must begin with:

session_start();

Each page must also include our base config file.

require_once('config.php');

If you feel you need to modify the base config file, please discuss with Sam.

The config file also includes a linked constants.inc file that sets a bunch of constants for the site. Constants that are different on a site-by-site basis must live in the database’s site_config table. Constants that are the same for each site or which can be calculated based on rules can be statically set in the constants file.

Working in Asana (Our Agile-like Development Process)

We use Asana as our task manager and (in Agile terms) “backlog”.  The list in the Asana project “VCB Application (Ready)” is prioritized.

Here is the general process for working on our project in Asana:

  1. Working from the top of the list downward, assign a task to yourself when you’re ready to start working on it. (Do this by clicking on the “Assign Task” link and select yourself. The list is prioritized by what is ready to be worked on and most critical.)
  2. Post comments, questions, or requests for more information or for verification as a comment on the Asana task. (This gives my business partner an opportunity to help respond to questions as well)
  3. Give the task a due date you think you will be done with it by.
  4. Do the task and test it thoroughly.
  5. Check in the code with the Asana link in the checkin comment.
  6. Check off the task in Asana. This will automatically send me a notification to look at it and push it to alpha.vcallboard.com if it is ready.
  7. For large tasks with multiple sub-tasks, feel free to leave the main task blank and just assign yourself one of the subtasks.
  8. The “Resolved”, “Pushed to Beta”, and “Verified” checkboxes are always handled by Sam or Jason.