High Desert Drupal - First Meeting

Post on 19-May-2015

739 views 1 download

Tags:

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

‣Twitter

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

‣Facebook

‣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?