SlideShare a Scribd company logo
drupal session 3


                                                   Biginlucerne.com -
                                                   Lessons Learned
                                                   Topic: Biginlucerne.com - Lessons Learned
                                                   Date: 13.02.2012
                                                   Presenter: Slava Rys
                                                   Twitter: @merdekiti
                                                   Blog: http://www.netnode.ch/blog




http://www.netnode.ch - pure drupal - drupal development services
What we’ll know in 15min?




• How biginlucerne.com is built using Drupal
• Challanges and solutions
What is biginlucerne.com?

• Photo contest
• Social media campaign for Lucerne tourism
                                     Client
                                     www.lucerne.com



                                     Design & concept by
                                     www.cloukreativ.ch
Lets talk about key functions



• Facebook integration
• Voting mechanism
• Get next image for voting process
Facebook integrations



Problems & solutions
• Fbconnect — does not work well yet
• Fb — the best module for FB integrations
FB module functions?

• Connect FB account to user
• Development tools
• Views integrations
• Rules integrations
• Example module
• And lot of other functions...
Why is this cool?



• No problem with instalations and setup (all works
  from the box)
• Easy UI
• Good documantation
The FB module hook

hook_fb_user ($op, $data, &$return) {}

$op:

•   FB_USER_OP_PRE_USER- Before account creation, fb_user.module

•   FB_USER_OP_POST_USER - After account creation, fb_user.module

•   FB_USER_OP_POST_EXTERNAL_LOGIN - user map has changed global user.

•   FB_USER_OP_POST_USER_CONNECT - Connected local account to FB account,
    fb_user.module

•   FB_USER_OP_POST_USER_DISCONNECT - Disconnected local account from FB
    account, fb_user.module
Lets talk about the voting process



Problems & solutions
• The flag module was skipped
• Voting API & rate modules — the best solution for
  voiting process
Drupal Voting API module is cool!

The Voting API does four key jobs for module developers:
•   CRUD: Create/Retrieve/Update/Delete operations for voting data.

•   Calculation: Every time a user creates a vote, VotingAPI calculates the results
    and caches them for you.

•   Workflow: By integrating with Actions.module, VotingAPI can trigger workflow
    steps (like promoting a node to the front page, hiding a comment that's been
    flagged as spam, or emailing an administrator) when votes are cast and results
    are tallied.

•   Display: VotingAPI integrates with Views.module, allowing you to slice and dice
    your site's content based on user consensus.
Drupal rate module is cool!

•   This module provides flexible voting widgets for
    nodes and comments.
•   Administrators can add multiple widgets. By default,
    there are 8 widget types
•   By using "custom" you can customize the rating
    buttons and Voting API mode. Widget types can be
    extended by other modules.
•   Flexible API
The Rate module hooks

•   hook_rate_templates() {}

•   hook_rate_widget_alter(&$widget, $context) {}

•   hook_rate_widget_insert(&$widget, $values) {}

•   hook_rate_widget_update(&$widget, $values) {}

•   hook_rate_widget_delete(&$widget) {

•   hook_rate_vote_alter($vote, $context) {}
Code example
Get next image


Performance trick
•   The views module was skipped
•   Get next image using db_select()
Code example
Biggest problem



 • Voting process
 • Facebook Open Graph
 • Facebook integrations
Discussion




 • Questions?
drupal pur
  www.net node.ch

More Related Content

Viewers also liked

WebUP Luzern Intro + Internet Geschichte
WebUP Luzern Intro + Internet GeschichteWebUP Luzern Intro + Internet Geschichte
WebUP Luzern Intro + Internet GeschichteNETNODE AG
 
Creación y estilizado de una página en HTML5 - 70-480 certificacion microsoft
Creación y estilizado de una página en HTML5 - 70-480 certificacion microsoftCreación y estilizado de una página en HTML5 - 70-480 certificacion microsoft
Creación y estilizado de una página en HTML5 - 70-480 certificacion microsoft
Nicolas Navarro Rincón
 
Symfony Study 090518
Symfony Study 090518Symfony Study 090518
Symfony Study 090518
Masao Maeda
 
netnode - drupal pur - drupal development experts
netnode - drupal pur - drupal development expertsnetnode - drupal pur - drupal development experts
netnode - drupal pur - drupal development experts
NETNODE AG
 
Inbound Marketing
Inbound MarketingInbound Marketing
Inbound MarketingNETNODE AG
 
Drupal vs. Joomla vs. Wordpress
Drupal vs. Joomla vs. WordpressDrupal vs. Joomla vs. Wordpress
Drupal vs. Joomla vs. Wordpress
NETNODE AG
 

Viewers also liked (6)

WebUP Luzern Intro + Internet Geschichte
WebUP Luzern Intro + Internet GeschichteWebUP Luzern Intro + Internet Geschichte
WebUP Luzern Intro + Internet Geschichte
 
Creación y estilizado de una página en HTML5 - 70-480 certificacion microsoft
Creación y estilizado de una página en HTML5 - 70-480 certificacion microsoftCreación y estilizado de una página en HTML5 - 70-480 certificacion microsoft
Creación y estilizado de una página en HTML5 - 70-480 certificacion microsoft
 
Symfony Study 090518
Symfony Study 090518Symfony Study 090518
Symfony Study 090518
 
netnode - drupal pur - drupal development experts
netnode - drupal pur - drupal development expertsnetnode - drupal pur - drupal development experts
netnode - drupal pur - drupal development experts
 
Inbound Marketing
Inbound MarketingInbound Marketing
Inbound Marketing
 
Drupal vs. Joomla vs. Wordpress
Drupal vs. Joomla vs. WordpressDrupal vs. Joomla vs. Wordpress
Drupal vs. Joomla vs. Wordpress
 

Similar to Drupal session 3 - biginlucerne.com - lessons learned

Building Facebook Apps
Building Facebook AppsBuilding Facebook Apps
Building Facebook Apps
David Keener
 
What’s new in DotNetNuke 6.2
What’s new in DotNetNuke 6.2What’s new in DotNetNuke 6.2
What’s new in DotNetNuke 6.2
brchapman
 
IBM Connect 2014 - AD302: New Ways to Work With Your IBM Connections Communities
IBM Connect 2014 - AD302: New Ways to Work With Your IBM Connections CommunitiesIBM Connect 2014 - AD302: New Ways to Work With Your IBM Connections Communities
IBM Connect 2014 - AD302: New Ways to Work With Your IBM Connections Communities
IBM Connections Developers
 
How to get to number 1 position in google in 30 days
How to get to number 1 position in google in 30 daysHow to get to number 1 position in google in 30 days
How to get to number 1 position in google in 30 days
Sam Kamani
 
Media handling in Drupal (Drupalcamp Leuven 2013)
Media handling in Drupal (Drupalcamp Leuven 2013)Media handling in Drupal (Drupalcamp Leuven 2013)
Media handling in Drupal (Drupalcamp Leuven 2013)
Pure Sign
 
Drupal 8 UX
Drupal 8 UXDrupal 8 UX
Drupal 8 UX
Bojhan
 
DotNetNuke Seattle Users Group
DotNetNuke Seattle Users GroupDotNetNuke Seattle Users Group
DotNetNuke Seattle Users Group
Scott McCulloch
 
Media handling in Drupal (Drupalcamp Leuven 2013)
Media handling in Drupal (Drupalcamp Leuven 2013)Media handling in Drupal (Drupalcamp Leuven 2013)
Media handling in Drupal (Drupalcamp Leuven 2013)
Sven Decabooter
 
Discover Drupal preview
Discover Drupal previewDiscover Drupal preview
Discover Drupal preview
dropsolid
 
Instructional Design & Instructional Tools: An Online & Hybrid Course Perspec...
Instructional Design & Instructional Tools:An Online & Hybrid Course Perspec...Instructional Design & Instructional Tools:An Online & Hybrid Course Perspec...
Instructional Design & Instructional Tools: An Online & Hybrid Course Perspec...Julia Parra
 
TELECOM Bretagne Social Web and Web 2.0 25 janvier 2012
TELECOM Bretagne Social Web and Web 2.0 25 janvier 2012TELECOM Bretagne Social Web and Web 2.0 25 janvier 2012
TELECOM Bretagne Social Web and Web 2.0 25 janvier 2012Daniel Dufourt
 
Technology to deliver Exceptional Social Digital Experiences
Technology to deliver Exceptional Social Digital ExperiencesTechnology to deliver Exceptional Social Digital Experiences
Technology to deliver Exceptional Social Digital Experiences
IBM Connections Developers
 
DMPTool2 Administrator Webinar #2
DMPTool2 Administrator Webinar #2DMPTool2 Administrator Webinar #2
DMPTool2 Administrator Webinar #2
University of California Curation Center
 
Responsive Design for Complex Websites (IXDA Munich)
Responsive Design for Complex Websites (IXDA Munich)Responsive Design for Complex Websites (IXDA Munich)
Responsive Design for Complex Websites (IXDA Munich)
Sabine Berghaus
 
Web 20-5316-25603
Web 20-5316-25603Web 20-5316-25603
Web 20-5316-25603
Lily Gonzalez
 
Leveraging Rails to Build Facebook Apps
Leveraging Rails to Build Facebook AppsLeveraging Rails to Build Facebook Apps
Leveraging Rails to Build Facebook Apps
David Keener
 
Web 20-5316-25603
Web 20-5316-25603Web 20-5316-25603
Web 20-5316-25603mapamengual
 
Selling UX in Your Organization - Stir Trek 2012
Selling UX in Your Organization - Stir Trek 2012Selling UX in Your Organization - Stir Trek 2012
Selling UX in Your Organization - Stir Trek 2012
Carol Smith
 
Google: An Educator's Best Friend
Google: An Educator's Best FriendGoogle: An Educator's Best Friend
Google: An Educator's Best Friendahopkins
 

Similar to Drupal session 3 - biginlucerne.com - lessons learned (20)

Building Facebook Apps
Building Facebook AppsBuilding Facebook Apps
Building Facebook Apps
 
What’s new in DotNetNuke 6.2
What’s new in DotNetNuke 6.2What’s new in DotNetNuke 6.2
What’s new in DotNetNuke 6.2
 
IBM Connect 2014 - AD302: New Ways to Work With Your IBM Connections Communities
IBM Connect 2014 - AD302: New Ways to Work With Your IBM Connections CommunitiesIBM Connect 2014 - AD302: New Ways to Work With Your IBM Connections Communities
IBM Connect 2014 - AD302: New Ways to Work With Your IBM Connections Communities
 
(MAKAV).pptx
(MAKAV).pptx(MAKAV).pptx
(MAKAV).pptx
 
How to get to number 1 position in google in 30 days
How to get to number 1 position in google in 30 daysHow to get to number 1 position in google in 30 days
How to get to number 1 position in google in 30 days
 
Media handling in Drupal (Drupalcamp Leuven 2013)
Media handling in Drupal (Drupalcamp Leuven 2013)Media handling in Drupal (Drupalcamp Leuven 2013)
Media handling in Drupal (Drupalcamp Leuven 2013)
 
Drupal 8 UX
Drupal 8 UXDrupal 8 UX
Drupal 8 UX
 
DotNetNuke Seattle Users Group
DotNetNuke Seattle Users GroupDotNetNuke Seattle Users Group
DotNetNuke Seattle Users Group
 
Media handling in Drupal (Drupalcamp Leuven 2013)
Media handling in Drupal (Drupalcamp Leuven 2013)Media handling in Drupal (Drupalcamp Leuven 2013)
Media handling in Drupal (Drupalcamp Leuven 2013)
 
Discover Drupal preview
Discover Drupal previewDiscover Drupal preview
Discover Drupal preview
 
Instructional Design & Instructional Tools: An Online & Hybrid Course Perspec...
Instructional Design & Instructional Tools:An Online & Hybrid Course Perspec...Instructional Design & Instructional Tools:An Online & Hybrid Course Perspec...
Instructional Design & Instructional Tools: An Online & Hybrid Course Perspec...
 
TELECOM Bretagne Social Web and Web 2.0 25 janvier 2012
TELECOM Bretagne Social Web and Web 2.0 25 janvier 2012TELECOM Bretagne Social Web and Web 2.0 25 janvier 2012
TELECOM Bretagne Social Web and Web 2.0 25 janvier 2012
 
Technology to deliver Exceptional Social Digital Experiences
Technology to deliver Exceptional Social Digital ExperiencesTechnology to deliver Exceptional Social Digital Experiences
Technology to deliver Exceptional Social Digital Experiences
 
DMPTool2 Administrator Webinar #2
DMPTool2 Administrator Webinar #2DMPTool2 Administrator Webinar #2
DMPTool2 Administrator Webinar #2
 
Responsive Design for Complex Websites (IXDA Munich)
Responsive Design for Complex Websites (IXDA Munich)Responsive Design for Complex Websites (IXDA Munich)
Responsive Design for Complex Websites (IXDA Munich)
 
Web 20-5316-25603
Web 20-5316-25603Web 20-5316-25603
Web 20-5316-25603
 
Leveraging Rails to Build Facebook Apps
Leveraging Rails to Build Facebook AppsLeveraging Rails to Build Facebook Apps
Leveraging Rails to Build Facebook Apps
 
Web 20-5316-25603
Web 20-5316-25603Web 20-5316-25603
Web 20-5316-25603
 
Selling UX in Your Organization - Stir Trek 2012
Selling UX in Your Organization - Stir Trek 2012Selling UX in Your Organization - Stir Trek 2012
Selling UX in Your Organization - Stir Trek 2012
 
Google: An Educator's Best Friend
Google: An Educator's Best FriendGoogle: An Educator's Best Friend
Google: An Educator's Best Friend
 

More from NETNODE AG

NETNODE Culture Book
NETNODE Culture BookNETNODE Culture Book
NETNODE Culture Book
NETNODE AG
 
Akquise - epic mindshare #A
Akquise - epic mindshare #AAkquise - epic mindshare #A
Akquise - epic mindshare #A
NETNODE AG
 
Abstimmungsbarometer app
Abstimmungsbarometer appAbstimmungsbarometer app
Abstimmungsbarometer appNETNODE AG
 
Drupalmonitor.com - Drupal User Group Meetup Basel
Drupalmonitor.com - Drupal User Group Meetup BaselDrupalmonitor.com - Drupal User Group Meetup Basel
Drupalmonitor.com - Drupal User Group Meetup Basel
NETNODE AG
 
drupal session 4 - drupal version control at netnode
drupal session 4 - drupal version control at netnodedrupal session 4 - drupal version control at netnode
drupal session 4 - drupal version control at netnode
NETNODE AG
 
Drupal session 1 - What are drupal sessions?
Drupal session 1 - What are drupal sessions?Drupal session 1 - What are drupal sessions?
Drupal session 1 - What are drupal sessions?
NETNODE AG
 
drupalmonitor.com - drupal monitoring made simple
drupalmonitor.com - drupal monitoring made simpledrupalmonitor.com - drupal monitoring made simple
drupalmonitor.com - drupal monitoring made simpleNETNODE AG
 
Mehrsprachige Webseiten mit Drupal
Mehrsprachige Webseiten mit DrupalMehrsprachige Webseiten mit Drupal
Mehrsprachige Webseiten mit DrupalNETNODE AG
 
The Lean Startup - Basics
The Lean Startup - BasicsThe Lean Startup - Basics
The Lean Startup - Basics
NETNODE AG
 
23 FACEBOOK APP DEVELOPMENT ESSENTIALS
23 FACEBOOK APP DEVELOPMENT ESSENTIALS23 FACEBOOK APP DEVELOPMENT ESSENTIALS
23 FACEBOOK APP DEVELOPMENT ESSENTIALS
NETNODE AG
 

More from NETNODE AG (10)

NETNODE Culture Book
NETNODE Culture BookNETNODE Culture Book
NETNODE Culture Book
 
Akquise - epic mindshare #A
Akquise - epic mindshare #AAkquise - epic mindshare #A
Akquise - epic mindshare #A
 
Abstimmungsbarometer app
Abstimmungsbarometer appAbstimmungsbarometer app
Abstimmungsbarometer app
 
Drupalmonitor.com - Drupal User Group Meetup Basel
Drupalmonitor.com - Drupal User Group Meetup BaselDrupalmonitor.com - Drupal User Group Meetup Basel
Drupalmonitor.com - Drupal User Group Meetup Basel
 
drupal session 4 - drupal version control at netnode
drupal session 4 - drupal version control at netnodedrupal session 4 - drupal version control at netnode
drupal session 4 - drupal version control at netnode
 
Drupal session 1 - What are drupal sessions?
Drupal session 1 - What are drupal sessions?Drupal session 1 - What are drupal sessions?
Drupal session 1 - What are drupal sessions?
 
drupalmonitor.com - drupal monitoring made simple
drupalmonitor.com - drupal monitoring made simpledrupalmonitor.com - drupal monitoring made simple
drupalmonitor.com - drupal monitoring made simple
 
Mehrsprachige Webseiten mit Drupal
Mehrsprachige Webseiten mit DrupalMehrsprachige Webseiten mit Drupal
Mehrsprachige Webseiten mit Drupal
 
The Lean Startup - Basics
The Lean Startup - BasicsThe Lean Startup - Basics
The Lean Startup - Basics
 
23 FACEBOOK APP DEVELOPMENT ESSENTIALS
23 FACEBOOK APP DEVELOPMENT ESSENTIALS23 FACEBOOK APP DEVELOPMENT ESSENTIALS
23 FACEBOOK APP DEVELOPMENT ESSENTIALS
 

Recently uploaded

Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
Frank van Harmelen
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
Paul Groth
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
Product School
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 

Recently uploaded (20)

Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 

Drupal session 3 - biginlucerne.com - lessons learned

  • 1. drupal session 3 Biginlucerne.com - Lessons Learned Topic: Biginlucerne.com - Lessons Learned Date: 13.02.2012 Presenter: Slava Rys Twitter: @merdekiti Blog: http://www.netnode.ch/blog http://www.netnode.ch - pure drupal - drupal development services
  • 2. What we’ll know in 15min? • How biginlucerne.com is built using Drupal • Challanges and solutions
  • 3. What is biginlucerne.com? • Photo contest • Social media campaign for Lucerne tourism Client www.lucerne.com Design & concept by www.cloukreativ.ch
  • 4. Lets talk about key functions • Facebook integration • Voting mechanism • Get next image for voting process
  • 5. Facebook integrations Problems & solutions • Fbconnect — does not work well yet • Fb — the best module for FB integrations
  • 6. FB module functions? • Connect FB account to user • Development tools • Views integrations • Rules integrations • Example module • And lot of other functions...
  • 7. Why is this cool? • No problem with instalations and setup (all works from the box) • Easy UI • Good documantation
  • 8. The FB module hook hook_fb_user ($op, $data, &$return) {} $op: • FB_USER_OP_PRE_USER- Before account creation, fb_user.module • FB_USER_OP_POST_USER - After account creation, fb_user.module • FB_USER_OP_POST_EXTERNAL_LOGIN - user map has changed global user. • FB_USER_OP_POST_USER_CONNECT - Connected local account to FB account, fb_user.module • FB_USER_OP_POST_USER_DISCONNECT - Disconnected local account from FB account, fb_user.module
  • 9. Lets talk about the voting process Problems & solutions • The flag module was skipped • Voting API & rate modules — the best solution for voiting process
  • 10. Drupal Voting API module is cool! The Voting API does four key jobs for module developers: • CRUD: Create/Retrieve/Update/Delete operations for voting data. • Calculation: Every time a user creates a vote, VotingAPI calculates the results and caches them for you. • Workflow: By integrating with Actions.module, VotingAPI can trigger workflow steps (like promoting a node to the front page, hiding a comment that's been flagged as spam, or emailing an administrator) when votes are cast and results are tallied. • Display: VotingAPI integrates with Views.module, allowing you to slice and dice your site's content based on user consensus.
  • 11. Drupal rate module is cool! • This module provides flexible voting widgets for nodes and comments. • Administrators can add multiple widgets. By default, there are 8 widget types • By using "custom" you can customize the rating buttons and Voting API mode. Widget types can be extended by other modules. • Flexible API
  • 12. The Rate module hooks • hook_rate_templates() {} • hook_rate_widget_alter(&$widget, $context) {} • hook_rate_widget_insert(&$widget, $values) {} • hook_rate_widget_update(&$widget, $values) {} • hook_rate_widget_delete(&$widget) { • hook_rate_vote_alter($vote, $context) {}
  • 14. Get next image Performance trick • The views module was skipped • Get next image using db_select()
  • 16. Biggest problem • Voting process • Facebook Open Graph • Facebook integrations
  • 18. drupal pur www.net node.ch