Meeting Notes
Attendees: Eli Lef (Graduate Division), Sharon Shafer Library Information Technology), Mike Takahashi (Office of Instructional Development); Ryan Ngyuen (Social Sciences Computing), Caroline Tam (Social Sciences Computing), Sam Nazarian (Social Sciences Computing), Mike Franks (Social Sciences Computing), Phillip Postovoit (MIMG), Andres Aguilar (Chancellor's Office), Peter Nielsen (ATS), Sal Santa Ana (ATS), Saba Nosrati (GSEIS)
Mike Fher (BioMed Library), Madeline Wright (UCLA Anderson), Michael miller (NN.LM PSR; BioMed Library), Brett Landenbergir (Center for Med and Research Studies), Rex Lorenzo (SEAS net), Yufei Jiang (School of Medicine), Nan Li (school of Medicine)
New web site for CWP: www.cwp.ucla.edu-- running on Plone
- need to create access- so hit join and then you will be sent a login (all members are going to be added as member status so you will need to submit any edits to Mike to be added to the site)
- demoing how to add links
Future Topics
- More Ajax
-Web design?
Web Acessibility with Patrick Burke
- Meeting today a UCOP, UCCSC Panel Discussion Tuesday should release more info either followup to this group, or separate presentation
- Example- Ajax and acessibility (Making Ajax Work with Screen Readers)
- natural language of document is used per web accessbility guidelines (:p)
- there are cetain things that you can do to alert the screeen reader (pop ups. etc)
- Jaws (program installed on computer) will tell you what is on the page (links, heading, etc); you can strip out any of these elements with Ajax calculator (works in IE6, Safari 1.0+ and Mozilla)
- with PDF's it is a little harder because you're not prone to labeling things that would with HTML; and for people who speak foreign languages, it weeds out how useful as the questions get more complex
- CAPTCHA
- 2.0 Guidelines recognizing that web is not just html
- putting in rules for other technologies
- PDFs label your graphics, mark up forms, principles same as html
- can't just say "don't be mouse-dependent" have to use "input device"
- UCSB seems quite good at incorporating 2.0 principles into their instructions
- 4 main standards
- operable
- perceivable - don't assume everyone has all 5 senses
- alt img tags (captioning multimedia)
- understandable
- accessbility randomizers, PDF can allow you to print out the page
- use OCR or image capture when we scan on PDF to be able to allow Jaws to read, if not, it returns as empty
- attribute text, multimedia, robust (has to be backwards compatibility), URL strings(?)
Ruby on Rails with Ryan Ngyuen
- ryan used: Coldfusion (Fusebox), PHP(fusebox), PHP(Mojavi)
- MVC: Model View Controller-- data acess, data presentation, business logic; Pro- very well organized; you can pass off to someone based on what data you want presented; Cons- you get lots of pages
- Ryan developed SSC Ticketing system and the KB using Ruby
- KB- 505 articles, 97 contributers, 700 lines in Ruby
- Ruby born from 37signals (site); rails is opinionated software (members on a team has a certain viewpoint on how things should be done); be able to push out features; keep it focus and simple- only put in things based on need (if only one person needs it, then they wont be prone to improve on it)
- no mySQL or databases, but if you destroy the association, it destroys any data that has been inputted a long with it, if you were looking for say a prof within a department, you can create a prof.name search, then a prof.department and automatically it would create a squeal string to the prof by department; you can also give it an array to be searchable
- ActiveRecord is the star, what makes Rails so easy
- Associations - how tables are related to each other
has_many: classes, : dependent => destroy
if destroy record, auto destroy all classes
foreign key is singular version of word_id
has_many: students, : through=> "classes"
belongs_to:department
belongs_to: uniersiy
has_and_belongs_to_many: grant_proposals
prof.name prof.classes prof.department.name
professor.find.byname(name_goes_here)
prof.students[0].uid
- Validations - checking values in range or type
- Callbacks - simple hooks to allow perform actions on save - do this, this and this
before_destroy: save_ryan
name field created_on or updated_on it will auto set current time
- Controllers
7 basic methods
index
new
edit
show
destroy
create
update
- Rails automatically knows plural of words, for Table names following their conventions makes working with Rails easier
- Plugins
acts_as_taggable
acts_as_versions
put in model file
isis - extracted ISIS code into plugin for use in future apps
- Test Driven Development
- Rails is big on testing
can test models, controllers
even before going to web, test apps
- Rails Deployment
Apache 1.x/2.x
Lighttpd 1.x
Mongrel 0.x in Ruby
Ruby app is basically CGI script, need FastCGI
37 Signals uses Apache
Lighttpd really fast
- all incoming requests come through Apache redirected to port 81
Capistrano - Ruby app
utility that can execute commands in parallel on multiple servers
write deployment recipe
rake deploy_on_venice
deploy your app with one single command
- Rails cuts development time in half
- Rails is poster-child for Web 2.0
- recommended book Agile Web Development in Rails
- 2nd edition in Fall, but beta in PDF now
Creating Image Based Rollovers with CSS with Mike Takahashi
- Pixy message- using multiple image space in one single image and setting the CSS; so all you're doing is repositioning your image as opposed to reloading (like youwould with tables)
- image rollover state
- listamatic
- Examples
write.oid.ucla.edu
http://www.kevadamson.com/talking-of-design/
- one drawback is that since images are a fixed
- Menus Listamatic
- Text based rollovers is easy, just use hover property
