[24bd860] | 1 | NAME |
---|
| 2 | Facebook.par - Facebook support for BarnOwl |
---|
| 3 | |
---|
| 4 | DESCRIPTION |
---|
| 5 | The Facebook module implements Facebook support for BarnOwl. |
---|
| 6 | |
---|
| 7 | SYNOPSIS |
---|
| 8 | (1) Create an empty file ~/.owl/facebook (you can use the command |
---|
| 9 | `touch ~/.owl/facebook`), in order to enable the module. |
---|
| 10 | |
---|
| 11 | (2) Run ":reload-module Facebook" inside BarnOwl. |
---|
| 12 | |
---|
| 13 | (3) Follow the instructions in the admin message. BarnOwl will |
---|
| 14 | ask you to log in via an OAuth URL, and run ':facebook-auth' |
---|
| 15 | with the resulting URL. It will then ask you to record the |
---|
| 16 | resulting access token in your ~/.owl/facebook file, so you do |
---|
| 17 | not have to login on subsequent BarnOwl sesions. |
---|
| 18 | |
---|
| 19 | This token is valid until you change your |
---|
| 20 | Facebook password or you revoke permissions for Barnowl at: |
---|
| 21 | http://www.facebook.com/settings/?tab=applications&app_id=235537266461636 |
---|
| 22 | |
---|
| 23 | (4) Start receiving wall updates in Barnowl! |
---|
| 24 | You can post updates with the ":facebook" command. |
---|
| 25 | |
---|
| 26 | POLLING |
---|
| 27 | Facebook.par polls for normal messages once a minute. To disable |
---|
| 28 | polling, you can unset the 'facebook:poll' variable in BarnOwl. |
---|
| 29 | |
---|
| 30 | TODO |
---|
[63afb72] | 31 | * Polling Facebook is pretty slow (on order of a second or more), |
---|
| 32 | and blocks the entire BarnOwl interface. We need to confront |
---|
| 33 | Perl's threading demon. |
---|
[24bd860] | 34 | * No messaging support. |
---|
| 35 | * No auto-completion support. |
---|
| 36 | * No posting to an arbitrary user's wall. |
---|
| 37 | * See code comments for more work items! |
---|
| 38 | |
---|
| 39 | TECHNICAL NOTES |
---|
| 40 | This module uses 100% undeprecated Facebook Graph API, and should be |
---|
| 41 | an interesting case study of how to implement a desktop application in |
---|
| 42 | the new Facebook world order. In particular, we do not use the old |
---|
| 43 | infinite session keys trick described in |
---|
| 44 | <http://www.emcro.com/blog/2009/01/facebook-infinite-session-keys-no-more/>, |
---|
| 45 | instead, we use offline_access to get non-expiring tokens. |
---|
| 46 | |
---|
| 47 | If we decide to extend our permissions to include read_friendlists |
---|
| 48 | (for filtering) and rsvp_event (RSVP from BarnOwl), we will need |
---|
| 49 | to make sure the UI for upgrading is correct. |
---|