Integrating with Confluence Notifications and Tasks (aka, WorkBox), AtlasCamp US 2012
Upcoming SlideShare
Loading in...5
×
 

Integrating with Confluence Notifications and Tasks (aka, WorkBox), AtlasCamp US 2012

on

  • 2,355 views

Shihab Hamid, Integration Dev Team Lead ...

Shihab Hamid, Integration Dev Team Lead

With Confluence 4.3 introduced an amazing new feature – Tasks and Notifications. Plugin developers can take advantage of both to offer richer experiences. This talk will show you how.

Statistics

Views

Total Views
2,355
Views on SlideShare
2,081
Embed Views
274

Actions

Likes
3
Downloads
12
Comments
0

5 Embeds 274

http://www.atlassian.com 221
https://www.atlassian.com 31
http://lanyrd.com 11
http://magnolia-staging.private.atlassian.com 10
https://wacdev.internal.atlassian.com 1

Accessibility

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Integrating with Confluence Notifications and Tasks (aka, WorkBox), AtlasCamp US 2012 Integrating with Confluence Notifications and Tasks (aka, WorkBox), AtlasCamp US 2012 Presentation Transcript

  • Getting into WorkBoxIntegrating with Notifications & Tasks @shihabhamid
  • Why WorkBox? @me
  • WorkBox Features
  • WorkBox Features
  • WorkBox Features
  • ..all available on the go
  • Why should you care?Get your plugin noticedEmail notifications now in-appThink of cool integrations on top of WorkBox
  • Example 1Time for a Quickie
  • Example 1Time for a Quickie
  • Example 1SpeakEasyGreasemonkey foryour instancePrototype yourplugins fast
  • Example 1SpeakEasyGreasemonkey foryour instancePrototype yourplugins fast
  • Example 1Create a buttonCheck we’re on a page
  • Example 1Create a buttonCheck we’re on a pageAdd the it to the right spot
  • Example 1Create a task
  • Example 1Create a task
  • Example 1Create a task
  • Example 1Create a task
  • Example 1Create a task
  • Example 1Create a task
  • Example 1Make it better! Detect whether a page has a task
  • Tasks API REST Java /mywork/1/task TaskService GET find POST createOrUpdate PUT createOrUpdate DELETE delete
  • When to use tasks?
  • When to use tasks?Tasks are designed to be light-weight and personal
  • When to use tasks?Tasks are designed to be light-weight and personalTasks only have the concept of complete/incomplete
  • When to use tasks?Tasks are designed to be light-weight and personalTasks only have the concept of complete/incompleteTasks allow users to make their own notes
  • When to use tasks?Tasks are designed to be light-weight and personalTasks only have the concept of complete/incompleteTasks allow users to make their own notesUsers can prioritise their tasks
  • When to use tasks?Tasks are designed to be light-weight and personalTasks only have the concept of complete/incompleteTasks allow users to make their own notesUsers can prioritise their tasksTasks can be used as pointers to things that need toget done
  • What next?
  • What next?Prototyped the plugin in SpeakEasy
  • What next?Prototyped the plugin in SpeakEasyConverted it to a <web resource/> plugin
  • What next?Prototyped the plugin in SpeakEasyConverted it to a <web resource/> pluginDo your users know about your cool plugin?
  • Example 2Invite your users to try
  • Example 2Invite your users to try Plugins start with a PluginEnabledEvent
  • Example 2Invite your users to try Plugins start with a PluginEnabledEvent Notify your users of your cool plugin
  • Example 2Invite your users to try
  • Example 2Invite your users to try You will spam users
  • Example 2Invite your users to try You will spam users when any plugin is enabled
  • Example 2Invite your users to try You will spam users when any plugin is enabled every time your plugin is enabled
  • Example 2Invite your users to try You will spam users when any plugin is enabled every time your plugin is enabled Your notifications won’t be crash hot
  • Example 2Spicing up your notification
  • Example 2Spicing up your notification
  • Example 2Spicing up your notification
  • Your users are an asset In-App Notifications are a powerful way of getting the attention of your users Spamming them won’t make you more money
  • What is a Notification?
  • What is a Notification? title iconaggregation read/unread
  • What is a Notification? item:title aggregation action:icon avatar description action
  • What is a Notification? item actions taskify entry actions
  • What is a Notification? A notification is an instance of an action on an item item = page, issue, blog post action = share, comment, mention, like
  • Taking a notification apart
  • Taking a notification apart
  • Taking a notification apart
  • Taking a notification apart En#ty( Page( Ac#on( Like( Comment( Share( Men#on( Jonathan( Alice(No#fica#on( commented( on(Page( commented( on(Page(
  • Taking a notification apart En#ty( Page( Ac#on( Like( Comment( Share( Men#on( Jonathan( Alice(No#fica#on( commented( on(Page( commented( on(Page(
  • Taking a notification apart En#ty( Page( Ac#on( Like( Comment( Share( Men#on( Jonathan( Alice(No#fica#on( commented( on(Page( commented( on(Page(
  • Example 3One Last Example
  • Example 3One Last ExampleMarketing team wants to monitor and react to tweets
  • Example 3One Last ExampleMarketing team wants to monitor and react to tweetsLet’s put them in WorkBox!
  • Example 3The System I <3 the NewShinyFeature yo…so goood! Twitter Twitter Listener Twitter User Notification Service Marketing Team
  • Example 3The System I <3 the NewShinyFeature yo…so goood! Twitter Twitter Listener Twitter User Notification Service Marketing Team
  • Example 3Getting Tweets
  • Example 3Getting TweetsConfigure the client to track marketing’s key words
  • Example 3Getting TweetsConfigure the client to track marketing’s key wordsPing the marketing team when a new tweet matches
  • Example 3Getting TweetsConfigure the client to track marketing’s key wordsPing the marketing team when a new tweet matches
  • Example 3Tweets as NotificationsOur marketing team only cares about tweets andretweets mentioning a certain key word
  • Example 3Tweets as NotificationsOur marketing team only cares about tweets andretweets mentioning a certain key word En#ty( Tweet( Post( Ac#on( (Tweet/RT)( Bob(tweeted( Jenny(RT( No#fica#on( BLAH!( BLAH!(
  • Example 3Aggregating TweetsWe want RTs to aggregate with the original tweets
  • Example 3Aggregating TweetsWe want RTs to aggregate with the original tweets
  • Example 3Aggregating TweetsRegister i18n and use global IDs
  • Example 3Aggregating TweetsRegister i18n and use global IDs
  • Example 3Aggregating TweetsRegister i18n and use global IDs
  • Example 3Notification Actions We want our marketing team to be able to quickly Reply to negative tweets RT happy experiences
  • Example 3Notification Actions Register the actions you want to appear at the item and notification instance level
  • Example 3Notification Actions Register the actions you want to appear at the item and notification instance level
  • Example 3Notification Actions Register the actions you want to appear at the item and notification instance level
  • Example 3Notification Actions
  • Example 3Notification Actions
  • Example 3Notification Actions
  • Example 3Notification Actions
  • Example 3Notification Actions
  • Example 3Social Media Monitoring
  • Example 3Make it better! We could add in social media monitoring support on Facebook fan pages
  • Example 3Make it better! We could add in social media monitoring support on Facebook fan pages En#ty( Wall(Post( Ac#on( Comment( Alice( Bob( No#fica#on( commented( commented( “Cool!”( “I(hate(this”(
  • Example 3Make it better! We could add in social media monitoring support on Facebook fan pages En#ty( Wall(Post( Ac#on( Comment( Alice( Bob( No#fica#on( commented( commented( “Cool!”( “I(hate(this”(
  • Example 3Make it even better! Notifications and Tasks can store arbitrary metadata
  • Example 3Make it even better! Notifications and Tasks can store arbitrary metadata
  • Example 3Make it even better! Notifications and Tasks have an Event API
  • Example 3Make it even better! Notifications and Tasks have an Event API
  • Example 3Make it even better! Notifications and Tasks have an Event API
  • Example 3Make it even better! Notifications and Tasks have an Event API Urgent tweet
  • When to use Notifications
  • When to use NotificationsInform your users of a change that directly affects them
  • When to use NotificationsInform your users of a change that directly affects themMove email notifications to in-app
  • When to use NotificationsInform your users of a change that directly affects themMove email notifications to in-appWhen there are quick actions users can take
  • When to use NotificationsInform your users of a change that directly affects themMove email notifications to in-appWhen there are quick actions users can takeBe aware that users can create tasks from notifications
  • When to use NotificationsInform your users of a change that directly affects themMove email notifications to in-appWhen there are quick actions users can takeBe aware that users can create tasks from notificationsNotifications are transient
  • What’s coming up?In WorkBox 1.1 JIRA Integration Remote Java APIs AppLinks: Trusted Apps & OAuth Better Android compatibility
  • Get your hack on!Bamboo En#ty( Build(Plan( Build( Ac#on( Execu#on( Alice(broke( Bob(Fixed( No#fica#on( the(build( the(build(
  • Get your hack on!WorkBox Chrome Extension and Native App
  • Get your hack on!WorkBox CLI for tasks
  • Get your hack on!WorkBox CLI for tasks
  • It’s your turn!
  • Further ReadingAPI Documentation http://docs.atlassian.com/mywork-api/1.0.2/ http://docs.atlassian.com/mywork-confluence-host-plugin/ REST/1.0.2/Tutorials https://developer.atlassian.com/display/CONFDEV/Working +with+the+Tasks+REST+API+in+Confluence https://developer.atlassian.com/display/CONFDEV/Posting +Notifications+in+Confluence
  • Code ExamplesCode from the talk https://bitbucket.org/shamid/mywork-ril https://bitbucket.org/shamid/mywork-tweetsOther code examples https://bitbucket.org/cofarrell/mywork-example https://bitbucket.org/sherif/workday-chrome-extension https://bitbucket.org/samtardif/workbox-cli