Skip to content

Slivka Points Center Documentation

Ben Rothman edited this page Feb 5, 2020 · 7 revisions

Welcome!

Congratulations on becoming Vice President of Slivka. I have taken the liberty of automating your job. Your mission, should you choose to accept it, is to acquire the skills necessary to maintain the system I put in place. If you're feeling adventurous, you can even improve upon it.

Sections:

  1. The Basics
    1. Accessing the Internals of SPC
    2. Accessing the Web Interface
  2. Common Task Walkthroughs
    1. Term Transition
    2. Pre-Spring Quarter Setup
    3. Housing Selection
    4. Fixing an Event Submission
    5. Deleting an Event Submission
    6. Committee Points
  3. Advanced Usage
    1. Setting up a local environment
      1. Git
      2. MAMP
    2. Guide to the Three Layers of SPC's Web Infrastructure
      1. Data Query Layer (Javascript, HTML, CSS)
      2. Data Manipulation Layer (PHP)
      3. Data Description Layer (SQL)
    3. Committing Changes

The Basics

Accessing the Internals of SPC

While you can go down to the slivka server and plug in a monitor/keyboard every time you want to make changes, I highly recommend you gain basic knowledge of navigating a command line. That last sentence was daunting, you can do this!

Command Line:

  • Mac: Just use Terminal.app
  • Windows: You need to install Cygwin with OpenSSH. Google it. Ask your local computer wizard for assistance.
Unix Commands:
  • ssh - secure shell, it connects you to the slivka web server
  • ls - lists files in the current directory
  • cd - change directory, ".." is parent directory, "." is current directory
  • vim/nano/emacs - these are all command-line text editors. Most computer nerds will tell you vim is the best, but I'm partial to nano
  • git - this is the version control system used with SPC. Only for advanced users.
Logging in and navigating to SPC:

Accessing the Web Interface

Most of the time you won't need to access the internal files of SPC, and instead just need to make small tweaks to the points. There is a nifty web interface to access this.

http://slivka.northwestern.edu/phpadmin

Be careful when you use this tool, as you can do a lot of damage if you're trying to modify more than one entry at a time.

Common Task Walkthroughs

Term Transition

Pre-Spring-Quarter Setup

Housing Selection

Pre-Fall-Quarter To-Do List

  1. Update the Directory
  2. Add "qtr_final" values to anyone not living in Slivka in the fall
  3. Add incoming freshmen to the database
  4. Update "suite" of everyone living in Slivka in the fall

Adding incoming freshmen Usually some time over the summer, freshmen will start joining the facebook group. When more than half have joined, I started going through the list and searching their names on the NU Directory. As soon as you can verify their NU Email you can add them to the directory.

Pre-Quarter To-Do List

Add quarter to quarters table

Advanced Usage

Setting up a Local Environment

You never want to modify the files of a website in production directly if you can avoid it. So whenever I wanted to make a change to SPC, I'd do it on a local copy of the site first, test it, then send it over to the live site.

Git

I use Github to keep a version history of every change I make to SPC files. Github uses the version control program called git. You can either install git onto your computer or use github's client software.

https://help.github.com/articles/set-up-git

MAMP

Now that you have the files, you need to create your own version of the server. For macs, there is this program called MAMP that stands for Mac, Apache, Mysql, PHP. These are the exact tools I use for SPC, so it is super convenient.

http://mamp.info/en/index.html (The free version)

Any Text Editor

You don't need any fancy IDE (integrated development environment), all you need is a text editor. I recommend Sublime Text 2.

Guide to the Three Layers of SPC's Web Infrastructure

Data Query Layer (Javascript, HTML, CSS)
Data Manipulation Layer (PHP)
Data Description Layer (SQL)

Look! A pretty visualization of the SPC database Schema! Click me!