WHEN WEBFORM AND FEEDS AREN’T ENOUGH
                               ^AND NODES




Monday, July 30, 2012
WELCOME!
2
 Monday, July 30, 2012
ABOUT ME / US
                        Keenan	
  Holloway	
  ::	
  Developer
                        FORUM	
  ONE	
  ::	
  forumone.com




Monday, July 30, 2012
THIS SESSION WILL COVER:
              An	
  overview	
  of	
  the	
  Data	
  module
              -­‐	
  What	
  it	
  does,	
  Strengths,	
  Weaknesses

              Various	
  valuable	
  uses
              -­‐	
  CreaHng/Defining	
  Data
              -­‐	
  ManipulaHng	
  Data	
  through	
  custom	
  Forms	
  module,	
  Direct	
  
                       database	
  insert,	
  and	
  Views
              -­‐	
  InteracHng	
  with	
  data	
  through	
  Views	
  and	
  Panels




Monday, July 30, 2012
WHAT IT DOES
              Helps	
  you	
  model,	
  manage	
  and	
  query	
  custom	
  
                tables.
              Offers	
  an	
  administra@on	
  interface	
  and	
  a	
  low	
  
               level	
  API	
  for	
  manipula@ng	
  tables	
  and	
  
               accessing	
  their	
  contents.
              Provides	
  Views	
  integra@on.




Monday, July 30, 2012
STRENGTHS
              Great	
  for	
  flat	
  simple	
  data	
  sets.
              Great	
  for	
  data	
  that	
  is	
  frequently	
  updated.
              Great	
  for	
  custom	
  module	
  interac@on.
              Simplis@c	
  table	
  design.
              Built	
  on	
  en@ty	
  framework.
              Integrates	
  with	
  views.


Monday, July 30, 2012
WEAKNESSES
              Quite	
  a	
  few	
  bugs	
  present	
  most	
  likely	
  as	
  a	
  
               result	
  of	
  updated	
  support	
  modules.
              Coding	
  required	
  for	
  complex	
  table	
  
                rela@onships.
              Search	
  and	
  Feeds	
  integra@on	
  are	
  a	
  liLle	
  
                buggy	
  and	
  require	
  numerous	
  patches.




Monday, July 30, 2012
DATA VS NODES


8
 Monday, July 30, 2012
CAPITAL
        BIKESHARE
        LETS BUILD IT!
                         capitalbikeshare.com




9
 Monday, July 30, 2012
2012 Q1 TRIP HISTORY DATA
                          id;	
  bikeid;	
  sta+onid
                          ;W00006	
  	
  ;	
  31237
                          ;W00008	
  	
  ;	
  31238
                          ;W00009	
  	
  ;	
  31011
                          ;W00010	
  	
  ;	
  31305
                          ;W00012	
  	
  ;	
  31622
                          ;W00013	
  	
  ;	
  31703
                          ;W00014	
  	
  ;	
  31108
                          ;	
  ...	
  ;	
  ...




Monday, July 30, 2012
MODULE VERSIONS
                        data-­‐7.x-­‐1.x-­‐dev
                        -­‐	
  Must	
  Install	
  Patch
                        -­‐	
  h;p://drupal.org/node/1412014#comment-­‐5697626
                        ctools-­‐7.x-­‐1.x-­‐dev
                        views-­‐7.x-­‐3.x-­‐dev
                        panels-­‐7.x-­‐3.x-­‐dev




Monday, July 30, 2012
WE NEED BIKE STATIONS




Monday, July 30, 2012
WE NEED BIKES




Monday, July 30, 2012
LETS ADOPT THEM




Monday, July 30, 2012
DEMONSTRATION TIME!



15
 Monday, July 30, 2012
sites/all/modules/contrib/bikes/bikes.info

         name	
  =	
  Bikes
         descrip/on	
  =	
  Form	
  UI	
  to	
  add	
  addi/onal	
  bikes.
         package	
  =	
  Bikes
         core	
  =	
  7.x
         php	
  =	
  5.2




Monday, July 30, 2012
sites/all/modules/contrib/bikes/bikes.module

         <?php

         /**
         	
  *	
  Implements	
  hook_menu().
         	
  */
         func/on	
  bikes_menu()	
  {
         	
  	
  //	
  Add	
  menu	
  item	
  callback	
  for	
  custom	
  form
         	
  	
  $items['bikes/add']	
  =	
  array(
         	
  	
  	
  	
  'type'	
  =>	
  MENU_CALLBACK,
         	
  	
  	
  	
  	
  	
  'page	
  callback'	
  =>	
  'drupal_get_form',
         	
  	
  	
  	
  	
  	
  'page	
  arguments'	
  =>	
  array('bikes_myform'),	
  //	
  Returns	
  our	
  custom	
  form	
  item
         	
  	
  	
  	
  	
  	
  'access	
  arguments'	
  =>	
  array('access	
  content'),	
  //	
  Sets	
  access	
  to	
  see	
  this	
  form
         	
  	
  	
  	
  );

         	
  	
  return	
  $items;
         }




Monday, July 30, 2012
sites/all/modules/contrib/bikes/bikes.module	
  (Con@nued...)
         /*
         	
  *	
  Defines	
  the	
  custom	
  input	
  form
         	
  */
         func/on	
  bikes_myform()	
  {

         	
  	
  //	
  Define	
  form	
  input	
  field	
  for	
  Bike	
  ID
         	
  	
  $form['id']	
  =	
  array(
         	
  	
  	
  	
  '#type'	
  =>	
  'tex]ield',
         	
  	
  	
  	
  '#/tle'	
  =>	
  t('Bike	
  ID'),
         	
  	
  	
  	
  '#size'	
  =>	
  30,
         	
  	
  	
  	
  '#maxlength'	
  =>	
  64,
         	
  	
  	
  	
  '#descrip/on'	
  =>	
  t('Enter	
  the	
  ID	
  of	
  the	
  bike.'),
         	
  	
  );

         	
  	
  //	
  Define	
  form	
  input	
  field	
  for	
  Sta/on	
  ID
         	
  	
  $form['sta/on_id']	
  =	
  array(
         	
  	
  	
  	
  '#type'	
  =>	
  'tex]ield',
         	
  	
  	
  	
  '#/tle'	
  =>	
  t('Sta/on	
  ID'),
         	
  	
  	
  	
  '#size'	
  =>	
  30,
         	
  	
  	
  	
  '#maxlength'	
  =>	
  64,
         	
  	
  	
  	
  '#descrip/on'	
  =>	
  t('Enter	
  the	
  sta/on	
  ID	
  of	
  the	
  bike.'),
         	
  	
  );

         	
  	
  //	
  Define	
  form	
  submit	
  bucon
         	
  	
  $form['submit']	
  =	
  array('#type'	
  =>	
  'submit',	
  '#value'	
  =>	
  t('Save'));

         	
  	
  return	
  $form;
         }




Monday, July 30, 2012
sites/all/modules/contrib/bikes/bikes.module	
  (Con@nued...)
         /*
         	
  *	
  Defines	
  submit	
  opera/ons
         	
  */
         func/on	
  bikes_myform_submit($form,	
  &$form_state)	
  {

         	
  	
  //	
  On	
  submit,	
  insert	
  the	
  Bike	
  ID	
  and	
  Sta/on	
  ID	
  fields	
  into	
  the	
  'bikes'	
  table
         	
  	
  db_insert('bikes')
         	
  	
  -­‐>fields(array(
         	
  	
  	
  	
  'bikeid'	
  =>	
  $form_state['values']['id'],
         	
  	
  	
  	
  'sta/onid'	
  =>	
  $form_state['values']['sta/on_id'],
         	
  	
  ))
         	
  	
  -­‐>execute();

         	
  	
  //	
  Set	
  the	
  confirma/on	
  message
         	
  	
  drupal_set_message(t('Your	
  form	
  has	
  been	
  saved.'));
         }




Monday, July 30, 2012
WHAT WE COVERED:
              An	
  overview	
  of	
  the	
  Data	
  module
              -­‐	
  What	
  it	
  does,	
  Strengths,	
  Weaknesses

              Various	
  valuable	
  uses
              -­‐	
  CreaHng/Defining	
  Data
              -­‐	
  ManipulaHng	
  Data	
  through	
  custom	
  Forms	
  module,	
  Direct	
  
                       database	
  insert,	
  and	
  Views
              -­‐	
  InteracHng	
  with	
  data	
  through	
  Views	
  and	
  Panels




Monday, July 30, 2012
THANKS!
                         QUESTIONS AND ANSWERS


21
 Monday, July 30, 2012
CONTACT / RESOURCES
              Email:	
  holloway.keenan@gmail.com

              Drupal.org:	
  deviantpixel

              Presenta@on:	
  forumone.com/capitalcamp2012

              Addi@onal:	
  forumone.com/blogs/post/drupal-­‐tutorial-­‐pushing-­‐
                drupal-­‐6-­‐core-­‐auto-­‐complete




Monday, July 30, 2012

More Related Content

PPTX
Social Marketing and Advertising
PPTX
Introduction to Social Media Tools / Forum One Communications
PPTX
Netsquared wolz
PDF
Forum One Web Executive Seminar Series: Internet Technology Investment Planni...
PPT
Capitol Words / Clay Johnson / Forum One Web Executive Seminar
PDF
Forum One Responsive Design UXCampDC 2013
PPT
Out of Control: Transform Government By Giving Up Control / Forum One Web Exe...
PPT
Cover America Tour - Morgan Jindrich, Consumers Union / Forum One Web Executi...
Social Marketing and Advertising
Introduction to Social Media Tools / Forum One Communications
Netsquared wolz
Forum One Web Executive Seminar Series: Internet Technology Investment Planni...
Capitol Words / Clay Johnson / Forum One Web Executive Seminar
Forum One Responsive Design UXCampDC 2013
Out of Control: Transform Government By Giving Up Control / Forum One Web Exe...
Cover America Tour - Morgan Jindrich, Consumers Union / Forum One Web Executi...

Viewers also liked (10)

PPT
Measuring Online Success -- Bruce L. Geisert / Forum One Web Executive Seminar
PPT
Nothing But Nets: UN Foundation's Shannon Raybold / from Forum One Web Execut...
PPT
MySpace: Where Pop Culture Meets Social Activism - Heather Mansfield / Forum ...
PPT
Forum one helps U.S. Army with open source design and development
PPTX
Data Visualization: Addressing Data Overload With the Power of 'Wow'
PDF
The Fight Against-Divitis
PPT
Online Storytelling at Mercy Corps, Roger Burks / Forum One Communications We...
PDF
Beyond Basic Content Management: An Introduction to Drupal Administration
PPT
Gov 2.0, the FDA, and the Peanut Product Recall - Daniel Luxenberg, Sanjay Ko...
PDF
What Users Want (or Why Webpages Are Dead)
Measuring Online Success -- Bruce L. Geisert / Forum One Web Executive Seminar
Nothing But Nets: UN Foundation's Shannon Raybold / from Forum One Web Execut...
MySpace: Where Pop Culture Meets Social Activism - Heather Mansfield / Forum ...
Forum one helps U.S. Army with open source design and development
Data Visualization: Addressing Data Overload With the Power of 'Wow'
The Fight Against-Divitis
Online Storytelling at Mercy Corps, Roger Burks / Forum One Communications We...
Beyond Basic Content Management: An Introduction to Drupal Administration
Gov 2.0, the FDA, and the Peanut Product Recall - Daniel Luxenberg, Sanjay Ko...
What Users Want (or Why Webpages Are Dead)
Ad

Similar to When Webform and Feeds Aren't Enough (20)

PDF
Digitale fabriek - I2 - Dsquare
PDF
Outils sp2013
PDF
Views Mini-Course, Part I: An Introduction to Views
PDF
Bling css3
PDF
[ForumPHP 2023] Lights and shadows of BDD in Sylius (and probably other compa...
PDF
[PHPCon 2023] Blaski i cienie BDD
PDF
Data Binding
PDF
Game Developer Gathering : BlackBerry 10 Game Destination, Unity and Other tools
PPTX
Presentation of ind.tra solidworks report..pptx
ODP
WordPress Accessibility: WordCamp Chicago
PDF
Moodle February 2013
PDF
Como escalar aplicações PHP
PDF
Happy Content Creators
PDF
THE STATE OF GLOBAL INFRASTRUCTURE PERFORMANCE from Structure 2012
PPT
Gerry Hughes Bi Portfolio
PPTX
Zimmertwins Presentation
PDF
7 reasons why developers should love Joomla!
PPTX
2012 05-10 fia practical problems in mobile web final
PDF
Design and Fabrication of Human Powered Cycle
ODP
Writing Drupal 5 Module
Digitale fabriek - I2 - Dsquare
Outils sp2013
Views Mini-Course, Part I: An Introduction to Views
Bling css3
[ForumPHP 2023] Lights and shadows of BDD in Sylius (and probably other compa...
[PHPCon 2023] Blaski i cienie BDD
Data Binding
Game Developer Gathering : BlackBerry 10 Game Destination, Unity and Other tools
Presentation of ind.tra solidworks report..pptx
WordPress Accessibility: WordCamp Chicago
Moodle February 2013
Como escalar aplicações PHP
Happy Content Creators
THE STATE OF GLOBAL INFRASTRUCTURE PERFORMANCE from Structure 2012
Gerry Hughes Bi Portfolio
Zimmertwins Presentation
7 reasons why developers should love Joomla!
2012 05-10 fia practical problems in mobile web final
Design and Fabrication of Human Powered Cycle
Writing Drupal 5 Module
Ad

More from Forum One (20)

PDF
We Are the Champions of . . . What, Exactly? Tracking Digital Metrics That Ma...
PDF
Creative + Development - Designer vs Developer: Aligning Forces for Good
PDF
How Do You Measure the Impact of Your Digital Strategy?
PDF
The Ultimate Super Duper Guide to Content Quality
PPTX
I am a digital project manager (and so can you!)
PDF
Audio Matter: An Intro to Podcasting & Storytelling
PDF
Creative + UX webinar
PDF
Make Your Data Understandable: Communicating for Action and Impact
PDF
Creative + Analytics Webinar
PDF
Getting Started with Google Ad Grants
PDF
Staff Resource Planning - 1 pager
PDF
Staff Resource Planning
PDF
Analytics Goals Scorecard
PPTX
Content Strategy: Defining and Monitoring Success
PDF
Content Strategy Matrix
PPTX
Content Strategy for Your Audiences
PDF
From Stratosphere to Sea-Level: Grounding Your Analytics Reporting for Each A...
PDF
User Experience for Health IT - Understanding Your Audiences
PDF
Drupal & Design / 10 Thing I Hate About You
PDF
Data For Policy Influence: How to Manage, Distribute, and Present Your Data
We Are the Champions of . . . What, Exactly? Tracking Digital Metrics That Ma...
Creative + Development - Designer vs Developer: Aligning Forces for Good
How Do You Measure the Impact of Your Digital Strategy?
The Ultimate Super Duper Guide to Content Quality
I am a digital project manager (and so can you!)
Audio Matter: An Intro to Podcasting & Storytelling
Creative + UX webinar
Make Your Data Understandable: Communicating for Action and Impact
Creative + Analytics Webinar
Getting Started with Google Ad Grants
Staff Resource Planning - 1 pager
Staff Resource Planning
Analytics Goals Scorecard
Content Strategy: Defining and Monitoring Success
Content Strategy Matrix
Content Strategy for Your Audiences
From Stratosphere to Sea-Level: Grounding Your Analytics Reporting for Each A...
User Experience for Health IT - Understanding Your Audiences
Drupal & Design / 10 Thing I Hate About You
Data For Policy Influence: How to Manage, Distribute, and Present Your Data

Recently uploaded (20)

PPT
Retail Management and Retail Markets and Concepts
PPTX
CTG - Business Update 2Q2025 & 6M2025.pptx
PPTX
33ABJFA6556B1ZP researhchzfrsdfasdfsadzd
PPTX
interschool scomp.pptxzdkjhdjvdjvdjdhjhieij
PDF
income tax laws notes important pakistan
DOCX
Center Enamel A Strategic Partner for the Modernization of Georgia's Chemical...
DOCX
Hand book of Entrepreneurship 4 Chapters.docx
PDF
Communication Tactics in Legal Contexts: Historical Case Studies (www.kiu.ac...
PDF
Vinod Bhatt - Most Inspiring Supply Chain Leader in India 2025.pdf
PPTX
Market and Demand Analysis.pptx for Management students
PPTX
IMM.pptx marketing communication givguhfh thfyu
PDF
Middle East's Most Impactful Business Leaders to Follow in 2025
PDF
Immigration Law and Communication: Challenges and Solutions {www.kiu.ac.ug)
DOCX
Handbook of entrepreneurship- Chapter 7- Types of business organisations
PDF
Sustainable Digital Finance in Asia_FINAL_22.pdf
PDF
Kishore Vora - Best CFO in India to watch in 2025.pdf
PPTX
TRAINNING, DEVELOPMENT AND APPRAISAL.pptx
PPTX
2 - Self & Personality 587689213yiuedhwejbmansbeakjrk
PPTX
basic introduction to research chapter 1.pptx
PPTX
Project Management_ SMART Projects Class.pptx
Retail Management and Retail Markets and Concepts
CTG - Business Update 2Q2025 & 6M2025.pptx
33ABJFA6556B1ZP researhchzfrsdfasdfsadzd
interschool scomp.pptxzdkjhdjvdjvdjdhjhieij
income tax laws notes important pakistan
Center Enamel A Strategic Partner for the Modernization of Georgia's Chemical...
Hand book of Entrepreneurship 4 Chapters.docx
Communication Tactics in Legal Contexts: Historical Case Studies (www.kiu.ac...
Vinod Bhatt - Most Inspiring Supply Chain Leader in India 2025.pdf
Market and Demand Analysis.pptx for Management students
IMM.pptx marketing communication givguhfh thfyu
Middle East's Most Impactful Business Leaders to Follow in 2025
Immigration Law and Communication: Challenges and Solutions {www.kiu.ac.ug)
Handbook of entrepreneurship- Chapter 7- Types of business organisations
Sustainable Digital Finance in Asia_FINAL_22.pdf
Kishore Vora - Best CFO in India to watch in 2025.pdf
TRAINNING, DEVELOPMENT AND APPRAISAL.pptx
2 - Self & Personality 587689213yiuedhwejbmansbeakjrk
basic introduction to research chapter 1.pptx
Project Management_ SMART Projects Class.pptx

When Webform and Feeds Aren't Enough

  • 1. WHEN WEBFORM AND FEEDS AREN’T ENOUGH ^AND NODES Monday, July 30, 2012
  • 3. ABOUT ME / US Keenan  Holloway  ::  Developer FORUM  ONE  ::  forumone.com Monday, July 30, 2012
  • 4. THIS SESSION WILL COVER: An  overview  of  the  Data  module -­‐  What  it  does,  Strengths,  Weaknesses Various  valuable  uses -­‐  CreaHng/Defining  Data -­‐  ManipulaHng  Data  through  custom  Forms  module,  Direct   database  insert,  and  Views -­‐  InteracHng  with  data  through  Views  and  Panels Monday, July 30, 2012
  • 5. WHAT IT DOES Helps  you  model,  manage  and  query  custom   tables. Offers  an  administra@on  interface  and  a  low   level  API  for  manipula@ng  tables  and   accessing  their  contents. Provides  Views  integra@on. Monday, July 30, 2012
  • 6. STRENGTHS Great  for  flat  simple  data  sets. Great  for  data  that  is  frequently  updated. Great  for  custom  module  interac@on. Simplis@c  table  design. Built  on  en@ty  framework. Integrates  with  views. Monday, July 30, 2012
  • 7. WEAKNESSES Quite  a  few  bugs  present  most  likely  as  a   result  of  updated  support  modules. Coding  required  for  complex  table   rela@onships. Search  and  Feeds  integra@on  are  a  liLle   buggy  and  require  numerous  patches. Monday, July 30, 2012
  • 8. DATA VS NODES 8 Monday, July 30, 2012
  • 9. CAPITAL BIKESHARE LETS BUILD IT! capitalbikeshare.com 9 Monday, July 30, 2012
  • 10. 2012 Q1 TRIP HISTORY DATA id;  bikeid;  sta+onid ;W00006    ;  31237 ;W00008    ;  31238 ;W00009    ;  31011 ;W00010    ;  31305 ;W00012    ;  31622 ;W00013    ;  31703 ;W00014    ;  31108 ;  ...  ;  ... Monday, July 30, 2012
  • 11. MODULE VERSIONS data-­‐7.x-­‐1.x-­‐dev -­‐  Must  Install  Patch -­‐  h;p://drupal.org/node/1412014#comment-­‐5697626 ctools-­‐7.x-­‐1.x-­‐dev views-­‐7.x-­‐3.x-­‐dev panels-­‐7.x-­‐3.x-­‐dev Monday, July 30, 2012
  • 12. WE NEED BIKE STATIONS Monday, July 30, 2012
  • 13. WE NEED BIKES Monday, July 30, 2012
  • 14. LETS ADOPT THEM Monday, July 30, 2012
  • 16. sites/all/modules/contrib/bikes/bikes.info name  =  Bikes descrip/on  =  Form  UI  to  add  addi/onal  bikes. package  =  Bikes core  =  7.x php  =  5.2 Monday, July 30, 2012
  • 17. sites/all/modules/contrib/bikes/bikes.module <?php /**  *  Implements  hook_menu().  */ func/on  bikes_menu()  {    //  Add  menu  item  callback  for  custom  form    $items['bikes/add']  =  array(        'type'  =>  MENU_CALLBACK,            'page  callback'  =>  'drupal_get_form',            'page  arguments'  =>  array('bikes_myform'),  //  Returns  our  custom  form  item            'access  arguments'  =>  array('access  content'),  //  Sets  access  to  see  this  form        );    return  $items; } Monday, July 30, 2012
  • 18. sites/all/modules/contrib/bikes/bikes.module  (Con@nued...) /*  *  Defines  the  custom  input  form  */ func/on  bikes_myform()  {    //  Define  form  input  field  for  Bike  ID    $form['id']  =  array(        '#type'  =>  'tex]ield',        '#/tle'  =>  t('Bike  ID'),        '#size'  =>  30,        '#maxlength'  =>  64,        '#descrip/on'  =>  t('Enter  the  ID  of  the  bike.'),    );    //  Define  form  input  field  for  Sta/on  ID    $form['sta/on_id']  =  array(        '#type'  =>  'tex]ield',        '#/tle'  =>  t('Sta/on  ID'),        '#size'  =>  30,        '#maxlength'  =>  64,        '#descrip/on'  =>  t('Enter  the  sta/on  ID  of  the  bike.'),    );    //  Define  form  submit  bucon    $form['submit']  =  array('#type'  =>  'submit',  '#value'  =>  t('Save'));    return  $form; } Monday, July 30, 2012
  • 19. sites/all/modules/contrib/bikes/bikes.module  (Con@nued...) /*  *  Defines  submit  opera/ons  */ func/on  bikes_myform_submit($form,  &$form_state)  {    //  On  submit,  insert  the  Bike  ID  and  Sta/on  ID  fields  into  the  'bikes'  table    db_insert('bikes')    -­‐>fields(array(        'bikeid'  =>  $form_state['values']['id'],        'sta/onid'  =>  $form_state['values']['sta/on_id'],    ))    -­‐>execute();    //  Set  the  confirma/on  message    drupal_set_message(t('Your  form  has  been  saved.')); } Monday, July 30, 2012
  • 20. WHAT WE COVERED: An  overview  of  the  Data  module -­‐  What  it  does,  Strengths,  Weaknesses Various  valuable  uses -­‐  CreaHng/Defining  Data -­‐  ManipulaHng  Data  through  custom  Forms  module,  Direct   database  insert,  and  Views -­‐  InteracHng  with  data  through  Views  and  Panels Monday, July 30, 2012
  • 21. THANKS! QUESTIONS AND ANSWERS 21 Monday, July 30, 2012
  • 22. CONTACT / RESOURCES Email:  holloway.keenan@gmail.com Drupal.org:  deviantpixel Presenta@on:  forumone.com/capitalcamp2012 Addi@onal:  forumone.com/blogs/post/drupal-­‐tutorial-­‐pushing-­‐ drupal-­‐6-­‐core-­‐auto-­‐complete Monday, July 30, 2012