high desert drupal - first meeting
TRANSCRIPT
Welcome to High Desert Drupal
Tom Friedhof - ActiveLAMPHelior Colorado - Day of the Dead Studios
The Internet.The medium for communication.
Disconnected from the world.
No Internet :(
Look things up manually!
Communication.It’s what the Web is all about.
Share Data‣Flickr
‣Del.icio.us
‣Google Calander
‣Pownce
News and Updates‣Reputable News Sites
‣Blogs
‣RSS Feeds
Point of Reference‣Reference.com
‣Wikipedia.org
‣Maps.google.com
‣Answers.yahoo.com
‣w3schools
‣php.net/manual/en/
‣dev.mysql.com/doc
‣drupal.org/handbooks
Entertainment‣YouTube
‣iTunes Music Store
Communities‣MySpace
‣Digg
‣Last.fm
‣list goes on forever...
The Problem. Inconsistency.
Anyone can post BS onlineThere are no Internet police in regards to content. Yet.
Technology can’t filter content but users can.
Information is redundant/contradictoryData should be standardized/updated/corrected
Presentation is awkwardLayout and design are terriblePoor choice of technologyUsability? Accessibility?
SecurityFraudulent sitesSSL CertificatesHackers!!
How do we Correct these issues?One piece at a time...
Who?Developers
Designers
Administrators
Content Providers
Owners
Without the duties of each role, your website will .fail
Creating a web presence takes a lot of work!
designers writing code
developers playing with photoshop
content providers learning HTML
Administrators worried about content
Owners performing usability/accessibility testing
Security
Browser compatibility
Validation
Search engine optimization
Hosting costs?
Over load.
You don’t have to do everything
Every role is just as important as the next
What’s this group about?
• A place to talk about Web Development.
• Meeting other people that build web sites.
• Learning Opportunities
• Participating, because everyone gets something out of it.
• This group is whatever we want to make it.
Introductions• Where do you currently
work?
• Are you currently involved in any web projects? What technologies do you use?
• Do you work in web development professionally? Is this a hobby for you?
• Are you currently looking for work?
What is open source?
Don’t work in a vacuum.
A few reasons why...(and advantages)
Security
• Filtering XSS Exploits
• Form Hijacking
• Data Validation
• Etc... (The list goes on)
Browser Quirks
• CSS does not work the same in every major browser
• JavaScript does not work the same in every major browser
• Etc...
Development Time• You don’t have to code everything in your
web site.
• You’re using code that is tested by a wide range of people.
• Bug fixes and feature enhancements don’t have to be written by you.
• You can spend more time working on more important things.
What if you work by yourself?
How do you avoid working in a vacuum?
Join a community
• Come to groups like this and share what you’re working on.
• Attend industry conferences.
• Read and contribute to discussion boards.
• Use IRC, Skype, or any other Chat software to keep in touch with other developers.
Use Open Source
JavaScript Libraries
• YUI
• Prototype
• mootools
• scriptaculous
• extjs
• jQuery
CSS Frameworks
• YUI Grids
• Blueprint
PHP Frameworks
• Zend Framework
• CakePHP
• Symfony Project
• PEAR
• eZComponents
• Drupal
Why should you use Drupal?
Drupal for Developers
• The underlying framework is written really well.
• It’s a great system to build on top of, rather then building from scratch.
• The flexibility to modify and add in any kind of functionality without modifying someone else’s code.
• You can look under the hood of modules and learn new coding techniques.
For Non-Developers
• You can build a pretty nice functional site without writing one single line of code.
• You build sites by piecing modules together.
• Lots of Drupal Modules.
Most Important Reason
The Community
jQuery Demo
Use Case
• Find an Element in the DOM.
• Hide a child node of that element from user.
• Make it look nice with an effect. (Ex. Slide, Fade, etc...)
The Hard Way
• Find the element.elem = document.getElementById(‘my_element’);
• Locate a child element of the element found.
• Major browsers handle firstChild and nextSibling differently
The Hard Way (cont.)
• Find the height of the element.
• Setup a timer in Javascript using a for loop.
• Modify the style property of JS object in timer loop.
• Use setTimeout() to facilitate all of this.
The Hard Way (cont.)
• Looks something like this:
for (var i=0;i<=100;i +=5) {(function() {
var pos = i;setTimeout(function() {
elem.style.height = (((100 - pos) / 100) * h) + “px”;
}, (pos + 1) * 10);})();
}
OR
With jQuery
$('#element_id li:nth-child(2)').slideUp();
Drupal Demo
Use Case
• Add an event calendar to web site.
• Any user can add events.
• Have a full page view of calendar.
• Show calendar in a list ordered by nearest event.
The Hard Way (cont.)
• You have to write a PHP page for every different way you want the data presented.
The Hard Way
• You have to know PHP.
• You have to know MySQL.
• You need to be familiar with working with dates.
The Hard Way (cont.)
• Create the database table to hold all this data
• You have to know MySQL to do this.
The Hard Way (cont.)
• You have to write a ton of logic to write a calendar.
• You need to be very familiar with working with dates in PHP.
• Writing a Calendar is hard work.
OR
With Drupal
• Download Drupal and modules below:
• CCK
• Views
• Date
• Calendar
Questions?