Building communities using Userpoints Khalid Baheyeldin Open Craft Tech Seminar Cairo, Egypt August 25, 2007

Slides:



Advertisements
Similar presentations
RP Designs Semi-Custom e-Commerce Package. Overview RP Designs semi- custom e-commerce package is a complete website solution. Visitors can browse a catalog.
Advertisements

Chit Fund Company Flowchart.
Business Development Suit Presented by Thomas Mathews.
July 2010 D2.1 Upgrading strategy Javier Soto Catalog Release 3. Communities.
Easy Website Creation Using WordPress Welcome and Thank You to our Sponsors.
6 th Annual Focus Users’ Conference 6 th Annual Focus Users’ Conference Accounts Receivable Presented by: Robert Myers Presented by: Robert Myers.
Drupal Create a website/web app quickly with this Content Management System Jiaying Xu Spring 2011 COMS E6125 Web-enHanced Information.
WELCOME TO THE AHIA CONNECTED COMMUNITY! HEALTHCARE INTERNAL AUDIT'S PROFESSIONAL THOUGHT LEADERSHIP COMMUNITY.
Show your Drupal site who’s the boss! How to take control away from the system and give it back to the users!
Drupal and the CMS Project. Lesson Learned #1 Keep your modules updated, especially when there are security concerns in the update notes 2010 | The Sky’s.
Web 2.0: Concepts and Applications 2 Publishing Online.
Business Savvy Web Workshop Ken Barrett MSc. - Director.
IdentiTrip 2006 Our Skills Making your Job Easier.
Administration Tab CiviCRM. Data Organization in CiviCRM: "Building Blocks" Contacts Reports Mail Tags Activities Contribe Member Events and Event Attendences.
Planned Giving Design Center. What is the Planned Giving Design Center? National network of websites dedicated to advancing philanthropy.
Welcome message. The background image would be an image of Electronic Circuit And have a flash action script to animate 0 and 1. This site would be for.
Content Management Systems Drupal. Content Introduction Setting up Drupal Structure Features Core functions Comparison of Joomla and Drupal Total Cost.
Nonprofit? There's an App for That! Drupal Modules for Activism, Donations and other Nonprofit #NYCCamp Benjamin J. Kallos iMediaEDGE
Web 2.0: Concepts and Applications 2 Publishing Online.
Getting the Most Out of Interfase!.  This presentation will include: Faculty Database Mentor Database Activity Log Mass Templates Record Merge.
Drupal Commerce Better than Uber Andrew Root: druroot.
Nickelodeon – Blogs User Guide. 1. Introduction The admin tool allows you to create and publish blog posts easily and efficiently along with managing.
Guidelines for ENSCONET partners in the use of the e-forum.
Information Systems | SEPTEMBER 10, 2008 Service Portal Maintenance Understanding the Fundamentals of Drupal.
IdentiTrip 2006 Key Features & Benefits All data imported from MIS system Quick MIS upload annually for new intake and class changes No manual input of.
Lindsey Velez, Director of Instructional Technology Single Sign-On One Click.
INFM 700 Project 3 (Aqua) - Akashdeep Ray - Arnaud Lawson - Neha AR - Vidisha Vedvyas.
ClubRunner Website Capabilities Presentation for District 5790 District Assembly April 16, 2016.
How to use Drupal Awdhesh Kumar (Team Leader) Presentation Topic.
Drupal for Fun and Profit Making a career out of Open Source Khalid Baheyeldin DrupalCon Boston March 3, 2008
Khalid Baheyeldin, Toronto, Mar 13, 2007 Building Drupal sites using CCK, Views and Panels Khalid Baheyeldin Drupal Users Group, Toronto.
TREVOR BOARDMAN, TRISTAN HUMMEL, JOSEPH KADRICH, ERIC ROBY.
Building Drupal sites using CCK, Views and Panels Khalid Baheyeldin Drupal Camp, Toronto May 11-12, 2007
SQL Database Management
ORSP Service Center User Tutorial
THE PRESENT AND FUTURE nopCommerce  .
REDCap General Overview
SharePoint 101 – An Overview of SharePoint 2010, 2013 and Office 365
AUU Website Solution Purpose built for the AUU
Project Management: Messages
New Features and Functions
Agenda Learn about the new TJ Ministry Application & Registration System Mixture of PowerPoint Slides, Demo’s and Hands-on Goals: Learn Concepts Play.
MARKETING STRATEGY PROJECT “SwapzK”.
Overview Blogs and wikis are two Web 2.0 tools that allow users to publish content online Blogs function as online journals Wikis are collections of searchable,
Custom Profile Options
Security Management: Successes and Failures
TOPSpro Special Topics
SubAnywhere: Setup and Configuration
Building communities using Userpoints
SCEC Drupal Website Development Overview and Status
KW Agent Website Training
ServiceNow Implementation Knowledge Management
Drupal Web page management system Jonathan Millis
RFPMonkey.com External Review
Introduction With TimeCard users can tag SharePoint events with information that converts them into time sheets. This way they can report.
Better Living through Extensions
Setting Up and Supporting Clients Using Employee Development in ADP Workforce Now [Developer: Use this slide if you are not using audio. You can add.
FAST Administration Training
How to Add Currency Converter in WordPress Have you ever wanted to know how to add currency converter to WordPress? dont worry! Keep reading this guide.
Manage your Interest Group
Superior Drupal Integration for CiviCRM with a focus on Events
Easy Website Creation Using WordPress
2017 Features Released Marsha Sapino AAP, BSACS
Cyber Recruiter: Sneak Peak
ScaterBoys What it’s all about in 5 min…
Advanced Features Webinar: Consequences, Triggers, Text Notifications
Is a Content Management System in Your Future?
Evaluations and Trials in Alma
Professional Services Tools Library (PSTL)
Effective Communication
Presentation transcript:

Building communities using Userpoints Khalid Baheyeldin Open Craft Tech Seminar Cairo, Egypt August 25,

Agenda ● Introduction ● Userpoints Module ● Features ● Usage ● Userpoints API ● Hands on ● Conclusion ● Questions, discussion

About 2bits ● Based in Waterloo, Ontario ● Active member of the Drupal community since 2003 ● Member of security and infrastructure teams ● 25+ modules on drupal.org ● Listed on Drupal.org's service providers section ● Maintain modules that run on drupal.org (donations, feature, lists,...) ● Google Summer of Code mentoring (2005, 2006, 2007)

2bits Services ● Clients mainly in the USA and Canada ● Subcontracting development projects ● Customization of existing modules ● Development of new modules ● Installation, upgrades ● Automated backups ● Performance tuning and optimization

About Khalid ● Developing for computers for way too long (22 years), Drupal since 2003 ● Core contributions ● Site maintenance feature ● Logging and alerts in Drupal 6 ● Many patches ● Member of ● Drupal security team ● webmasters team ● infrastructure team ● Co-founder of 2bits ● Blog at ● Contributed modules ● Adsense ● Userpoints ● Nodevote ● Job search ● Favorite nodes ● Flag content ● Stock API and module ● Custom Error ● Currency ● Image watermark ● Site menu ● logging and alerts ● Second Life ● Technorati ● Click thru ● Referral

History ● Commissioned by a photography and art site ● As an incentive for promoting participation ● Released to the community

Features and Benefits ● Psychological factor ● Mimics “gaming” ● Provides instant gratification ● Users often strive for more recognition, as well as competition. ● Users can be sort of tiered within the site ● Gifts and awards

Functionality ● Basic package has two modules ● userpoints – Just an API, and management module. ● userpoints_basic – Basic core Drupal functionality (posting nodes, comments,...etc.), as well as invite module

Configuration ● Point moderation – Whether points are to be added/subtracted in real time, or delayed until approval. – Prevents abuse on sites that use points as a means for getting gifts and such. – Under Administer -> User management -> Points ● Allows adding of points manually by the admin

Configuration (cont'd) ● Branding of points – Allows calling them something else, for example “brownies”, or some site specific jargon.

Configuration (cont'd) ● Basic events – Posting a node – Each type (blog, page, story, cck,...etc.) can have a different value. – Posting a comment – Moderating a comment – No fractional points please!

Contributions ● Mini ecosystem, like views ● Written by various people for various things ● Following is an overview of some of them

Contributions (cont'd) ● Userpoints Reset – Resets all points for all users – Destructive – One time operation ● Userpoints Retroactive – Only for nodes and comments – Nothing else

Contributions (cont'd) ● Ecommerce – Users earn points for purchasing from the ecommerce store. – Points can also be used as a payment form ● Node limit – Allows limiting of node creation depending on how many points a user has. – Can be used for subscriptions

Contributions (cont'd) ● Referral – Users earn points for referring a user. – Users earn points for actions performed by users they referred. – A multiplier is used for the calculation. ● Invite – Interface for invite module – Points for inviting, and registering

Contributions (cont'd) ● Role – Users join/leave roles as they gain/lose points – Can be used to allow access to other areas of the site, or more privileges ● Role exempt – Certain roles are exempted from points, e.g. admins or moderators, so they do not “compete” with regular users.

Contributions (cont'd) ● notify – Users are notified by when they reach a certain level of points ● Inactive expiry – Inactive users lose a certain number of points every preset period (can you think of banks?)

Contributions (cont'd) ● Periodic expiry – All points for all users are expired every certain period. – Good for contests and the like. ● Autoapprove – Automatically approves transactions after a certain period

Contributions (cont'd) ● Userpoints Cap – Limit the number of points a user can earn. ● Reserve – Sets exchange rate for points depending on cash in Ecommerce

Userpoints API ● Simple API for modules to use ● Documented in the README.txt ● Your module decides to award points at certain events. ● Your module can act on other modules awarding points ● Examples abound in the contrib directory

Userpoints hook ● hook_userpoints($op, $points, $uid, $event) – $op is operation type – $points is number of points to add (or subtract, if negative) – $uid is the Drupal user id of the user – $event is an event identifier

$op ● $op can be one of: – 'setting' ● Build your configuration form, and return it, and they will automatically appear in userpoints settings. – 'points before' ● Calls your modules (and other modules) before the points are awarded. Returning FALSE prevents points from being awarded.

$op (cont'd) ● 'points after' – Points have been awarded, your module can take actions on that event

API function call ● userpoints_userpointsapi('points', $points, $uid, $event, $description, $reference) – Modules call this function explicitly to add/subtract points to a user. – Points are added (if positive) or subtracted (if negative)

API call (cont'd) ● $event – An identifier of the event the points is being awarded for, this – Gets recorded in the transaction table (allows auditing, recalculating,...etc). – May require events to be registered in the future.

How many? ● userpoints_get_current_points($uid) – You can call this function to know how much points a use has. – Returns the current number of points for that user. ● Use in themes or other modules for displaying points (e.g. below the avatar). ● Some examples on

Real Life Example ● 7 am Thursday someone sent me an asking for an unreleased module, and two other custom ones to be developed. ● Replied around noon. ● Got this reply by 2pm: Thanks to your API, it turned out much easier than expected. I was able to code all 3 by the time you responded to this and will post them on drupal.org for you to review. Great module! :)

The future? ● Maximum ever points earned – field in the database already, but not presented, and may not be calculated correctly now ● Points from one user to another – Barter or site currency ● More than one point “pools”. ● Time dimension – How many points for a user in the last month

The future (cont'd) ● Integration with votingAPI – Vote Up/Down already uses it. – Need more, eg. fivestar,...etc. ● Event registry – More structure and discipline for the data ● Better UI for managing points (AJAX?)

API redesign ● API 3.0 – Arguments to be an array – Sensible defaults (e.g. if uid not specified, then current user) – More here

Sites ● Performancing – Tools for bloggers ● Altiris users site – Community for Altiris users ● MEPIS Linux distro, Debian derived ● Poop Report – an intellectual scatology site ● Ruby Baboon

Hands On Let us see it all in action...

Conclusion ● Questions? ● Comments? ● Discussions?