SlideShare une entreprise Scribd logo
1  sur  18
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

Contenu connexe

En vedette

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 microsoftNicolas Navarro Rincón
 
Symfony Study 090518
Symfony Study 090518Symfony Study 090518
Symfony Study 090518Masao Maeda
 
netnode - drupal pur - drupal development experts
netnode - drupal pur - drupal development expertsnetnode - drupal pur - drupal development experts
netnode - drupal pur - drupal development expertsNETNODE 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. WordpressNETNODE AG
 

En vedette (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
 

Similaire à Drupal session 3 - biginlucerne.com - lessons learned

Building Facebook Apps
Building Facebook AppsBuilding Facebook Apps
Building Facebook AppsDavid 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.2brchapman
 
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 CommunitiesIBM 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 daysSam 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 UXBojhan
 
DotNetNuke Seattle Users Group
DotNetNuke Seattle Users GroupDotNetNuke Seattle Users Group
DotNetNuke Seattle Users GroupScott 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 previewdropsolid
 
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 ExperiencesIBM Connections Developers
 
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
 
Leveraging Rails to Build Facebook Apps
Leveraging Rails to Build Facebook AppsLeveraging Rails to Build Facebook Apps
Leveraging Rails to Build Facebook AppsDavid 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 2012Carol Smith
 
Google: An Educator's Best Friend
Google: An Educator's Best FriendGoogle: An Educator's Best Friend
Google: An Educator's Best Friendahopkins
 

Similaire à 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
 

Plus de NETNODE AG

NETNODE Culture Book
NETNODE Culture BookNETNODE Culture Book
NETNODE Culture BookNETNODE AG
 
Akquise - epic mindshare #A
Akquise - epic mindshare #AAkquise - epic mindshare #A
Akquise - epic mindshare #ANETNODE 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 BaselNETNODE 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 netnodeNETNODE 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 - BasicsNETNODE AG
 
23 FACEBOOK APP DEVELOPMENT ESSENTIALS
23 FACEBOOK APP DEVELOPMENT ESSENTIALS23 FACEBOOK APP DEVELOPMENT ESSENTIALS
23 FACEBOOK APP DEVELOPMENT ESSENTIALSNETNODE AG
 

Plus de 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
 

Dernier

A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 

Dernier (20)

A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 

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