SlideShare a Scribd company logo
1 of 15
Download to read offline
A rails powered job site
       a few words on plugins
about me

• Koen Van der Auwera
• Co-founder 10to1 (http://10to1.be)
• Enjoying Java since 2000, Ruby since 2003
• http://atog.be
Plugins


• A rails plugin is either an extension or a
  modification of the core framework
• It just works
To name a few
• restful authentication (Rick Olson)
• ssl Requirement (David Heinemeier
  Hansson)
• Auto complete (David Heinemeier
  Hansson)
• Simple captcha (Sur Max)
Restful authentication

• Rick Olson (Rails Core Team member)
• Restful Authentication Generator
• http://svn.techno-weenie.net/projects/
  plugins/restful_authentication/README
usage

• ‘script/generate authenticated user sessions
  [--include activation] [--stateful]’
• ‘user’, the model that gets created in signup
• ‘sessions’, the controller that handles the
  login
usage

• login_required filter
• signup
• login
SSL requirement

• David Heinemeier Hansson
• SSL usage / integration
• http://dev.rubyonrails.org/svn/rails/plugins/
  ssl_requirement/README
example

• Caboose sample rails app with SSL
• http://blog.caboo.se/articles/2007/4/21/
  sample-rails-app-branch-with-ssl
• Includes a self-signed certificate for
  localhost and a sample lighttpd config file
usage
class ApplicationController < ActiveRecord::Base
  include SslRequirement
end

class UserController < ApplicationController
  ssl_required :signup, :payment
  ssl_allowed :index
end
Auto complete

• David Heinemeier Hansson
• Auto completing text fields
• Script.aculo.us
• http://dev.rubyonrails.org/browser/plugins/
  auto_complete/README
usage
# Controller
class BlogController < ApplicationController
  auto_complete_for :post, :title
end

# View
<%= text_field_with_autocompletion :post, :title %>
Simple captcha

• Sur Max (http://expressica.com)
• A captcha plugin
• A single line in views and controllers/
  models
• http://expressica.com/simple_captcha
usage
ApplicationController < ActionController::Base
  include SimpleCaptcha::ControllerHelpers
end

# view
<%= show_simple_captcha %>

# controller
def do_something
  if simple_captcha_valid?
  else
  end
end
more plugins?


• http://dev.rubyonrails.org/browser/plugins/
• plugin list --source=http://
  dev.rubyonrails.com/svn/rails/plugins/

More Related Content

What's hot

Upgrade to HTML5 Video
Upgrade to HTML5 VideoUpgrade to HTML5 Video
Upgrade to HTML5 Video
steveheffernan
 
Automated Web App Performance Testing Using WebDriver
Automated Web App Performance Testing Using WebDriverAutomated Web App Performance Testing Using WebDriver
Automated Web App Performance Testing Using WebDriver
seleniumconf
 
Nodejs - Building a RESTful API
Nodejs - Building a RESTful APINodejs - Building a RESTful API
Nodejs - Building a RESTful API
Sang Cù
 

What's hot (20)

Upgrade to HTML5 Video
Upgrade to HTML5 VideoUpgrade to HTML5 Video
Upgrade to HTML5 Video
 
V sphere automation_vlaxa_2017
V sphere automation_vlaxa_2017V sphere automation_vlaxa_2017
V sphere automation_vlaxa_2017
 
ColdFusion builder plugins
ColdFusion builder pluginsColdFusion builder plugins
ColdFusion builder plugins
 
Алексей Швайка "Bundling: you are doing it wrong"
Алексей Швайка "Bundling: you are doing it wrong"Алексей Швайка "Bundling: you are doing it wrong"
Алексей Швайка "Bundling: you are doing it wrong"
 
Realtime with websockets
Realtime with websocketsRealtime with websockets
Realtime with websockets
 
Developing High Performance and Scalable ColdFusion Application Using Terraco...
Developing High Performance and Scalable ColdFusion Application Using Terraco...Developing High Performance and Scalable ColdFusion Application Using Terraco...
Developing High Performance and Scalable ColdFusion Application Using Terraco...
 
Isomorphic React Applications: Performance And Scalability
Isomorphic React Applications: Performance And ScalabilityIsomorphic React Applications: Performance And Scalability
Isomorphic React Applications: Performance And Scalability
 
Dev objective2015 lets git together
Dev objective2015 lets git togetherDev objective2015 lets git together
Dev objective2015 lets git together
 
Instant ColdFusion with Vagrant
Instant ColdFusion with VagrantInstant ColdFusion with Vagrant
Instant ColdFusion with Vagrant
 
Automated Web App Performance Testing Using WebDriver
Automated Web App Performance Testing Using WebDriverAutomated Web App Performance Testing Using WebDriver
Automated Web App Performance Testing Using WebDriver
 
Take home your very own free Vagrant CFML Dev Environment - Presented at dev....
Take home your very own free Vagrant CFML Dev Environment - Presented at dev....Take home your very own free Vagrant CFML Dev Environment - Presented at dev....
Take home your very own free Vagrant CFML Dev Environment - Presented at dev....
 
Hidden gems in cf2016
Hidden gems in cf2016Hidden gems in cf2016
Hidden gems in cf2016
 
WP-CLI - WordCamp Miami 2015
WP-CLI - WordCamp Miami 2015WP-CLI - WordCamp Miami 2015
WP-CLI - WordCamp Miami 2015
 
Keep Applications Online
Keep Applications OnlineKeep Applications Online
Keep Applications Online
 
Build App with Nodejs - YWC Workshop
Build App with Nodejs - YWC WorkshopBuild App with Nodejs - YWC Workshop
Build App with Nodejs - YWC Workshop
 
Owin & katana
Owin & katanaOwin & katana
Owin & katana
 
RESTFul Tools For Lazy Experts - CFSummit 2016
RESTFul Tools For Lazy Experts - CFSummit 2016RESTFul Tools For Lazy Experts - CFSummit 2016
RESTFul Tools For Lazy Experts - CFSummit 2016
 
Knock out Introduction with samples (jsfiddle.net)
Knock out Introduction with samples (jsfiddle.net)Knock out Introduction with samples (jsfiddle.net)
Knock out Introduction with samples (jsfiddle.net)
 
The Dark Side of the WordPress Speed Optimizations
The Dark Side of the WordPress Speed OptimizationsThe Dark Side of the WordPress Speed Optimizations
The Dark Side of the WordPress Speed Optimizations
 
Nodejs - Building a RESTful API
Nodejs - Building a RESTful APINodejs - Building a RESTful API
Nodejs - Building a RESTful API
 

Viewers also liked

Alien Far Side 4 Earth
Alien Far Side 4 EarthAlien Far Side 4 Earth
Alien Far Side 4 Earth
Tony Sherborne
 
A&E Machines 2 Treatment
A&E Machines 2 TreatmentA&E Machines 2 Treatment
A&E Machines 2 Treatment
Tony Sherborne
 
Alien Contact 1 Pattern
Alien Contact 1 PatternAlien Contact 1 Pattern
Alien Contact 1 Pattern
Tony Sherborne
 
Alien Far Side 1 Force
Alien Far Side 1 ForceAlien Far Side 1 Force
Alien Far Side 1 Force
Tony Sherborne
 
Alien Spore 3 Equation
Alien Spore 3 EquationAlien Spore 3 Equation
Alien Spore 3 Equation
Tony Sherborne
 

Viewers also liked (20)

Sinatra
SinatraSinatra
Sinatra
 
Oak @ Barcamp Gent 2
Oak @ Barcamp Gent 2Oak @ Barcamp Gent 2
Oak @ Barcamp Gent 2
 
knower 4 magic
knower 4 magicknower 4 magic
knower 4 magic
 
Shoes
ShoesShoes
Shoes
 
Blic-tyr
Blic-tyrBlic-tyr
Blic-tyr
 
Alien Spore 1 Planets
Alien Spore 1 PlanetsAlien Spore 1 Planets
Alien Spore 1 Planets
 
Making Multi-Structured Documents
Making Multi-Structured DocumentsMaking Multi-Structured Documents
Making Multi-Structured Documents
 
Alien Far Side 4 Earth
Alien Far Side 4 EarthAlien Far Side 4 Earth
Alien Far Side 4 Earth
 
A&E Machines 2 Treatment
A&E Machines 2 TreatmentA&E Machines 2 Treatment
A&E Machines 2 Treatment
 
Alien Contact 1 Pattern
Alien Contact 1 PatternAlien Contact 1 Pattern
Alien Contact 1 Pattern
 
seeker 3 domain
seeker 3 domainseeker 3 domain
seeker 3 domain
 
Alien Far Side 1 Force
Alien Far Side 1 ForceAlien Far Side 1 Force
Alien Far Side 1 Force
 
Alien Far Side 3 Moon
Alien Far Side 3 MoonAlien Far Side 3 Moon
Alien Far Side 3 Moon
 
More Shoes
More ShoesMore Shoes
More Shoes
 
Alien Spore 3 Equation
Alien Spore 3 EquationAlien Spore 3 Equation
Alien Spore 3 Equation
 
Healthy Chocolate Pt5
Healthy Chocolate Pt5Healthy Chocolate Pt5
Healthy Chocolate Pt5
 
Kevin
KevinKevin
Kevin
 
10 Insightful Quotes On Designing A Better Customer Experience
10 Insightful Quotes On Designing A Better Customer Experience10 Insightful Quotes On Designing A Better Customer Experience
10 Insightful Quotes On Designing A Better Customer Experience
 
How to Build a Dynamic Social Media Plan
How to Build a Dynamic Social Media PlanHow to Build a Dynamic Social Media Plan
How to Build a Dynamic Social Media Plan
 
Learn BEM: CSS Naming Convention
Learn BEM: CSS Naming ConventionLearn BEM: CSS Naming Convention
Learn BEM: CSS Naming Convention
 

Similar to A few words on plugins

Sustainable Agile Development
Sustainable Agile DevelopmentSustainable Agile Development
Sustainable Agile Development
Gabriele Lana
 

Similar to A few words on plugins (20)

Ruby on Rails workshop for beginner
Ruby on Rails workshop for beginnerRuby on Rails workshop for beginner
Ruby on Rails workshop for beginner
 
Single Page Apps
Single Page AppsSingle Page Apps
Single Page Apps
 
Containerisation Hack of a Legacy Software Solution - Alex Carter - CodeMill ...
Containerisation Hack of a Legacy Software Solution - Alex Carter - CodeMill ...Containerisation Hack of a Legacy Software Solution - Alex Carter - CodeMill ...
Containerisation Hack of a Legacy Software Solution - Alex Carter - CodeMill ...
 
The WP Engine Developer Experience. Increased agility, improved efficiency.
The WP Engine Developer Experience. Increased agility, improved efficiency.The WP Engine Developer Experience. Increased agility, improved efficiency.
The WP Engine Developer Experience. Increased agility, improved efficiency.
 
Selenium
SeleniumSelenium
Selenium
 
Peer Code Review: In a Nutshell and The Tantric Team: Getting Your Automated ...
Peer Code Review: In a Nutshell and The Tantric Team: Getting Your Automated ...Peer Code Review: In a Nutshell and The Tantric Team: Getting Your Automated ...
Peer Code Review: In a Nutshell and The Tantric Team: Getting Your Automated ...
 
Ui dev@naukri-2011
Ui dev@naukri-2011Ui dev@naukri-2011
Ui dev@naukri-2011
 
Rails Plugins
Rails PluginsRails Plugins
Rails Plugins
 
Xpirit MeetUp: Docker Windows Workshop
Xpirit MeetUp: Docker Windows WorkshopXpirit MeetUp: Docker Windows Workshop
Xpirit MeetUp: Docker Windows Workshop
 
WinOps 2017 - Docker on Windows - from 101 to Production
WinOps 2017 - Docker on Windows - from 101 to ProductionWinOps 2017 - Docker on Windows - from 101 to Production
WinOps 2017 - Docker on Windows - from 101 to Production
 
WinOps 2017 - Docker on Windows, the Beginner's Guide
WinOps 2017 - Docker on Windows, the Beginner's GuideWinOps 2017 - Docker on Windows, the Beginner's Guide
WinOps 2017 - Docker on Windows, the Beginner's Guide
 
Sustainable Agile Development
Sustainable Agile DevelopmentSustainable Agile Development
Sustainable Agile Development
 
Skype Development Techniques and Tools
Skype Development Techniques and ToolsSkype Development Techniques and Tools
Skype Development Techniques and Tools
 
Os Harkins
Os HarkinsOs Harkins
Os Harkins
 
Software as a Service workshop / Unlocked: the Hybrid Cloud 12th May 2014
Software as a Service workshop / Unlocked: the Hybrid Cloud 12th May 2014Software as a Service workshop / Unlocked: the Hybrid Cloud 12th May 2014
Software as a Service workshop / Unlocked: the Hybrid Cloud 12th May 2014
 
Building production websites with Node.js on the Microsoft stack
Building production websites with Node.js on the Microsoft stackBuilding production websites with Node.js on the Microsoft stack
Building production websites with Node.js on the Microsoft stack
 
PHP, OAuth, Web Services and YQL
PHP, OAuth, Web Services and YQLPHP, OAuth, Web Services and YQL
PHP, OAuth, Web Services and YQL
 
Nashville VMUG Keynote April 8 2015 - vSphere 6
Nashville VMUG Keynote April 8 2015 - vSphere 6Nashville VMUG Keynote April 8 2015 - vSphere 6
Nashville VMUG Keynote April 8 2015 - vSphere 6
 
Nagios Conference 2014 - Mike Weber - Nagios Rapid Deployment Options
Nagios Conference 2014 - Mike Weber - Nagios Rapid Deployment OptionsNagios Conference 2014 - Mike Weber - Nagios Rapid Deployment Options
Nagios Conference 2014 - Mike Weber - Nagios Rapid Deployment Options
 
Nodejs web,db,hosting
Nodejs web,db,hostingNodejs web,db,hosting
Nodejs web,db,hosting
 

Recently uploaded

Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
FIDO Alliance
 
CORS (Kitworks Team Study 양다윗 발표자료 240510)
CORS (Kitworks Team Study 양다윗 발표자료 240510)CORS (Kitworks Team Study 양다윗 발표자료 240510)
CORS (Kitworks Team Study 양다윗 발표자료 240510)
Wonjun Hwang
 

Recently uploaded (20)

The Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and InsightThe Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and Insight
 
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
 
Working together SRE & Platform Engineering
Working together SRE & Platform EngineeringWorking together SRE & Platform Engineering
Working together SRE & Platform Engineering
 
AI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by Anitaraj
 
ChatGPT and Beyond - Elevating DevOps Productivity
ChatGPT and Beyond - Elevating DevOps ProductivityChatGPT and Beyond - Elevating DevOps Productivity
ChatGPT and Beyond - Elevating DevOps Productivity
 
Introduction to FIDO Authentication and Passkeys.pptx
Introduction to FIDO Authentication and Passkeys.pptxIntroduction to FIDO Authentication and Passkeys.pptx
Introduction to FIDO Authentication and Passkeys.pptx
 
Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)
Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)
Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)
 
Google I/O Extended 2024 Warsaw
Google I/O Extended 2024 WarsawGoogle I/O Extended 2024 Warsaw
Google I/O Extended 2024 Warsaw
 
Design Guidelines for Passkeys 2024.pptx
Design Guidelines for Passkeys 2024.pptxDesign Guidelines for Passkeys 2024.pptx
Design Guidelines for Passkeys 2024.pptx
 
Overview of Hyperledger Foundation
Overview of Hyperledger FoundationOverview of Hyperledger Foundation
Overview of Hyperledger Foundation
 
Intro to Passkeys and the State of Passwordless.pptx
Intro to Passkeys and the State of Passwordless.pptxIntro to Passkeys and the State of Passwordless.pptx
Intro to Passkeys and the State of Passwordless.pptx
 
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
 
Frisco Automating Purchase Orders with MuleSoft IDP- May 10th, 2024.pptx.pdf
Frisco Automating Purchase Orders with MuleSoft IDP- May 10th, 2024.pptx.pdfFrisco Automating Purchase Orders with MuleSoft IDP- May 10th, 2024.pptx.pdf
Frisco Automating Purchase Orders with MuleSoft IDP- May 10th, 2024.pptx.pdf
 
Event-Driven Architecture Masterclass: Challenges in Stream Processing
Event-Driven Architecture Masterclass: Challenges in Stream ProcessingEvent-Driven Architecture Masterclass: Challenges in Stream Processing
Event-Driven Architecture Masterclass: Challenges in Stream Processing
 
How we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdfHow we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdf
 
Easier, Faster, and More Powerful – Notes Document Properties Reimagined
Easier, Faster, and More Powerful – Notes Document Properties ReimaginedEasier, Faster, and More Powerful – Notes Document Properties Reimagined
Easier, Faster, and More Powerful – Notes Document Properties Reimagined
 
Microsoft CSP Briefing Pre-Engagement - Questionnaire
Microsoft CSP Briefing Pre-Engagement - QuestionnaireMicrosoft CSP Briefing Pre-Engagement - Questionnaire
Microsoft CSP Briefing Pre-Engagement - Questionnaire
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
CORS (Kitworks Team Study 양다윗 발표자료 240510)
CORS (Kitworks Team Study 양다윗 발표자료 240510)CORS (Kitworks Team Study 양다윗 발표자료 240510)
CORS (Kitworks Team Study 양다윗 발표자료 240510)
 
JohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptx
 

A few words on plugins