Upload
netnode-it-services-gmbh
View
1.351
Download
3
Tags:
Embed Size (px)
DESCRIPTION
Together with clou kreativ (www.cloukreativ.ch) we create www.biginlucerne.com, a photo contest in Lucerne, Switzerland. We used Drupal as a tool to allow users upload, rate, comment, share images. In this presentation Slava Rys explains some core functions, problems that occured during development as well as some insight about how the site was built. Also find additional comments on www.netnode.ch/blog
Citation preview
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
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
Design & concept bywww.cloukreativ.ch
Clientwww.lucerne.com
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?