building responsive websites - cs.nyu.edu · building responsive websites nyu computer science...

18
Building Responsive Websites NYU Computer Science Website Overview Daniel Tsadok Wednesday, January 30, 13

Upload: others

Post on 19-Jun-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Building Responsive Websites - cs.nyu.edu · Building Responsive Websites NYU Computer Science Website Overview Daniel Tsadok Wednesday, January 30, 13

Building Responsive WebsitesNYU Computer Science Website Overview

Daniel Tsadok

Wednesday, January 30, 13

Page 2: Building Responsive Websites - cs.nyu.edu · Building Responsive Websites NYU Computer Science Website Overview Daniel Tsadok Wednesday, January 30, 13

Who Am I?Daniel Tsadok

Courant Web Developer, 2008-present

I write software for and managecs.nyu.edu

cims.nyu.edumath.nyu.edu

Wednesday, January 30, 13

Page 3: Building Responsive Websites - cs.nyu.edu · Building Responsive Websites NYU Computer Science Website Overview Daniel Tsadok Wednesday, January 30, 13

Types of Content

• News *

• Course Schedule *

• Office Hours *

• Contact Information

• Static Content

• Events/Colloquia *

• Final Exams *

• Department Calendar *

• Program Information

• User Content (Not covered)

* Dynamic

Wednesday, January 30, 13

Page 4: Building Responsive Websites - cs.nyu.edu · Building Responsive Websites NYU Computer Science Website Overview Daniel Tsadok Wednesday, January 30, 13

Dynamic Content

Wednesday, January 30, 13

Page 5: Building Responsive Websites - cs.nyu.edu · Building Responsive Websites NYU Computer Science Website Overview Daniel Tsadok Wednesday, January 30, 13

Content ManagementGoals:

• Consistent Layout

• Simple interface

• Version Control

• Access Control

• Addressable/Routable

Wednesday, January 30, 13

Page 6: Building Responsive Websites - cs.nyu.edu · Building Responsive Websites NYU Computer Science Website Overview Daniel Tsadok Wednesday, January 30, 13

CMS Live Demo

Wednesday, January 30, 13

Page 7: Building Responsive Websites - cs.nyu.edu · Building Responsive Websites NYU Computer Science Website Overview Daniel Tsadok Wednesday, January 30, 13

CMS Feeds

CMS Page

/events/17/foo

Feed

/events/CMS Page

/events/18/bar

CMS Page

/events/19/baz

Wednesday, January 30, 13

Page 8: Building Responsive Websites - cs.nyu.edu · Building Responsive Websites NYU Computer Science Website Overview Daniel Tsadok Wednesday, January 30, 13

Imported ContentRails App Server

DB

DB

Internal CS database (MSAccess...)

CoursesFinal Exams

Faculty ListingOffice Hours

csv import script (cron)

Wednesday, January 30, 13

Page 9: Building Responsive Websites - cs.nyu.edu · Building Responsive Websites NYU Computer Science Website Overview Daniel Tsadok Wednesday, January 30, 13

Architecture

Wednesday, January 30, 13

Page 10: Building Responsive Websites - cs.nyu.edu · Building Responsive Websites NYU Computer Science Website Overview Daniel Tsadok Wednesday, January 30, 13

Original

ApacheWeb Server

Static Files Clients

Wednesday, January 30, 13

Page 11: Building Responsive Websites - cs.nyu.edu · Building Responsive Websites NYU Computer Science Website Overview Daniel Tsadok Wednesday, January 30, 13

Original

ApacheWeb Server

Static Files Clients

Pros and Cons?

Wednesday, January 30, 13

Page 12: Building Responsive Websites - cs.nyu.edu · Building Responsive Websites NYU Computer Science Website Overview Daniel Tsadok Wednesday, January 30, 13

Current Architecture

ApacheWeb Server

Static Files

ClientsRails App Server

DBResponse

Dynamic Content

User pages

Home Directories

Wednesday, January 30, 13

Page 13: Building Responsive Websites - cs.nyu.edu · Building Responsive Websites NYU Computer Science Website Overview Daniel Tsadok Wednesday, January 30, 13

mod_proxy

ApacheWeb Server ClientsRails App Server

Request

ProxyPass /rails/(.*) http://rails/$1

Wednesday, January 30, 13

Page 14: Building Responsive Websites - cs.nyu.edu · Building Responsive Websites NYU Computer Science Website Overview Daniel Tsadok Wednesday, January 30, 13

Authentication

• Courant LDAP (CIMS account)

• NYU (ITS) LDAP (Net ID)

• before_filter in Rails

Wednesday, January 30, 13

Page 15: Building Responsive Websites - cs.nyu.edu · Building Responsive Websites NYU Computer Science Website Overview Daniel Tsadok Wednesday, January 30, 13

Why Rails?

Wednesday, January 30, 13

Page 16: Building Responsive Websites - cs.nyu.edu · Building Responsive Websites NYU Computer Science Website Overview Daniel Tsadok Wednesday, January 30, 13

Why Rails?Model:class Colloquium belongs_to :semester

Controller:@colloquia = @current_semester.colloquia.limit(5)

View:<% for colloquium in @colloquia %> <div><%= colloquium.title %></div><% end %>

Wednesday, January 30, 13

Page 17: Building Responsive Websites - cs.nyu.edu · Building Responsive Websites NYU Computer Science Website Overview Daniel Tsadok Wednesday, January 30, 13

Other Frameworks

Sinatra (simpler than Rails)

Torquebox: jruby on Rails with JBoss

Groovy on Grails (JVM)

Scala (JVM)

BackboneJS (MVC for client-side)

Wednesday, January 30, 13

Page 18: Building Responsive Websites - cs.nyu.edu · Building Responsive Websites NYU Computer Science Website Overview Daniel Tsadok Wednesday, January 30, 13

Thank You

[email protected]

Wednesday, January 30, 13