Transcript
Page 1: Drupal session 3 - biginlucerne.com - lessons learned

drupal session 3

Biginlucerne.com - Lessons Learned

Topic: Biginlucerne.com - Lessons LearnedDate: 13.02.2012Presenter: Slava RysTwitter: @merdekitiBlog: http://www.netnode.ch/blog

http://www.netnode.ch - pure drupal - drupal development services

Page 2: Drupal session 3 - biginlucerne.com - lessons learned

What we’ll know in 15min?

•How biginlucerne.com is built using Drupal

•Challanges and solutions

Page 3: Drupal session 3 - biginlucerne.com - lessons learned

What is biginlucerne.com?

•Photo contest

•Social media campaign for Lucerne tourism

Design & concept bywww.cloukreativ.ch

Clientwww.lucerne.com

Page 4: Drupal session 3 - biginlucerne.com - lessons learned

Lets talk about key functions

•Facebook integration

•Voting mechanism

•Get next image for voting process

Page 5: Drupal session 3 - biginlucerne.com - lessons learned

Facebook integrations

Problems & solutions

•Fbconnect — does not work well yet

•Fb — the best module for FB integrations

Page 6: Drupal session 3 - biginlucerne.com - lessons learned

FB module functions?

•Connect FB account to user

•Development tools

•Views integrations

•Rules integrations

•Example module

•And lot of other functions...

Page 7: Drupal session 3 - biginlucerne.com - lessons learned

Why is this cool?

•No problem with instalations and setup (all works from the box)

•Easy UI

•Good documantation

Page 8: Drupal session 3 - biginlucerne.com - lessons learned

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

Page 9: Drupal session 3 - biginlucerne.com - lessons learned

Lets talk about the voting process

Problems & solutions

•The flag module was skipped

•Voting API & rate modules — the best solution for voiting process

Page 10: Drupal session 3 - biginlucerne.com - lessons learned

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.

Page 11: Drupal session 3 - biginlucerne.com - lessons learned

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

Page 12: Drupal session 3 - biginlucerne.com - lessons learned

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) {}

Page 13: Drupal session 3 - biginlucerne.com - lessons learned

Code example

Page 14: Drupal session 3 - biginlucerne.com - lessons learned

Get next image

Performance trick

•The views module was skipped

•Get next image using db_select()

Page 15: Drupal session 3 - biginlucerne.com - lessons learned

Code example

Page 16: Drupal session 3 - biginlucerne.com - lessons learned

Biggest problem

•Voting process

•Facebook Open Graph

•Facebook integrations

Page 17: Drupal session 3 - biginlucerne.com - lessons learned

Discussion

•Questions?

Page 18: Drupal session 3 - biginlucerne.com - lessons learned

Top Related