SVA.edu Faculty Info API

May 22nd, 2013
The SVA.edu Faculty Info API is intended for outside web developers who are creating websites for SVA academic departments and wish to include faculty CV information. Using the API has the following benefits:

  • Keep information up to date. This information is very dynamic and will likely live on a part of the website that is not going to be updated much after launch. Using the API is the only way to ensure your faculty’s latest feats propagate to your website.
  • A better user experience. If users browse faculty information on your website and then go to SVA.edu and see slightly different versions of the same text, this can result in a very off-putting user experience. It raises questions about authenticity and makes users think twice about something they shouldn’t. Avoid this scenario by only having one version of this information.
  • Content integrity. Faculty information of this nature is very sensitive information for an academic institution such as SVA. This information must be vetted before it appears on any SVA website by the proper administrative staff in Academic Affairs. As great as our faculty are, they have been known to inflate their credentials in the past and this is a situation SVA would like to avoid going forward.

Prerequisites

Familiarity with JSON and PHP


Step 1: Getting the JSON

The url for any faculty member at SVA is:
http://www.sva.edu/faculty/bob-giraldi
To get the JSON format of the CV information, use the following url:
http://www.sva.edu/faculty/bob-giraldi/json
This will yield the following JSON response:
    {
        "first_name":"Bob",
        "last_name":"Giraldi",
        "sva_email":"rgiraldi@sva.edu",
        "headline":"Chair, MPS Live Action Short Film Department, School of Visual Arts; president, film director, GIRALDI MEDIA; principal, partner, Rated Content",
        "accomplishments":[
            {"heading":"Education:","description":"BS, University of San Francisco"},
            {"heading":"Film projects include:","description":"Basquiat, Vincent Gallo as Flying Christ, Downtown Calling, Beat Street, Pesceador<\/em>"},
            {"heading":"Advertising campaigns (commercials) include:","description":"\"Just Say No,\" \"Run DMC\/My Adidas,\" \"Ossie Davis Voter Protection Campaign\""},
            {"heading":"Music video projects include:","description":"Run DMC, Deee-lite, Raheem DeVaughn, Doug E. Fresh"},
            {"heading":"Publications include:","description":"A Hedonist's Guide to Art, Artforum, Art Monthly, That's the Joint!: The Hip-Hop Studies Reader<\/em>"},
            {"heading":"Screenings include:","description":"Serpentine Gallery; Musee d'Art Moderne de la Ville de Paris; Fondation Beyeler, Switzerland; Pool Art Fair; Institute of Contemporary Arts, London; San Francisco Art Institute; Squat Theatre; Austin Film Festival; Noise Pop Festival; East End Film Festival; Irish Film Institute, Dublin"},
            {"heading":"Awards and honors include:","description":"ACE Award; Best Video of the Year, Rolling Stone;<\/em> Paulette Goddard Award, New York University"}
            ]
    }

Note that each accomplishment is broken into two parts: heading and description. For now these are all the available fields.


Step 2: Getting a PHP object from the JSON

    <?php
        $url = "http://www.sva.edu/faculty/$slug/json";
        $bioData = json_decode(file_get_contents($url));
    ?>
In Line 1, $slug is the name of the faculty member as it appears in the url of his/her page on SVA.edu. Line 2 loads the JSON into the $bioData variable, which acts as a normal PHP object.


Step 3: Displaying the data

    <?php
    echo $bioData->first_name . ' ' . echo $bioData->last_name . '<br />';

    $bioAccomplishments = '';
    foreach($bioData->accomplishments as $accomplishment){
        $bioAccomplishments.=
            "<div class='accomplishment'>" .
	        "<div class='heading'>".$accomplishment->heading."</div>" .
	        "<div class='description'>".$accomplishment->description."</div>" .
            "</div>";	
    }
    echo $bioAccomplishments;
    ?>


Further Development

If there is interest in retrieving more information from the faculty page via JSON, or if you have any questions, please email vap@sva.edu.