This plugin contains easy-to-use API that uses WP HTTP API to send data to Simperium.
Author: | Akeda Bagus (profile at wordpress.org) |
WordPress version required: | 3.6 |
WordPress version tested: | 3.9.1 |
Plugin version: | 0.1.0 |
Added to WordPress repository: | 16-05-2014 |
Last updated: | 18-05-2014
Warning! This plugin has not been updated in over 2 years. It may no longer be maintained or supported and may have compatibility issues when used with more recent versions of WordPress.
|
Rating, %: | 0 |
Rated by: | 0 |
Plugin URI: | https://github.com/gedex/wp-simperium |
Total downloads: | 763 |
Click to start download |
This plugin is intended for developer to send data to Simperium. Followings are use cases in which this plugin might come in handy:
- You need post-processing (for instance pinging dozen web services after a post is published) without blocking request. In this case you call provided actions or helper methods, then you spawn long-live process (either from the same server or different server) that listens to changes from your Simperium bucket for post-processing.
- You need to log events that happen during request lifecycle under restricted circumstances (for instance it won't possible to access log files on the server).
How to use it
Once this plugin is installed and activated, you can send data to Simperium in following ways:
- Via action hook:
do_action( 'simperium_send_data', $bucket, $data )
ordo_action( 'simperium_send_buffered_data', $bucket, $data )
. The first hook, will send the$data
immediately, while the later will send the data to buffer and will send all buffered data to Simperium at once after callingdo_action( 'simperium_flush_buffer', $bucket )
. If$bucket
arg is provided, it only flushes buffered data that's targetted to$bucket
. - Via helper method:
WP_Simperium::send_data( $bucket, $data )
orWP_Simperium::send_buffered_data( $bucket, $data )
. To flush buffer, you callWP_Simperium::flush_buffer( $bucket )
. Again,$bucket
arg is optional.
The value of $data
MUST BE in key-value array structure as nested structure is not supported by Simperium.
Before using the action hooks or helper methods, you need to supply Simperium app credentials via simperium_config
filter, for example:
add_filter( 'simperium_config', function() {
return array(
'app_id' => 'YOUR_APP_ID',
'api_key' => 'YOUR_API_KEY',
)
} );
In addition to app_id
and api_key
you can pass username
and/or access_token
to the array config. If access_token
is omitted, the plugin will request access_token
from Simperium with provided username
(if exists) or get_bloginfo( 'admin_email' )
and store the info in option. Subsequent calls will read access_token
information from option, but can be bypassed by providing access_token
in array config. It's preferred to supply your own access_token
or username
that hasn't
registered yet. Please keep in mind that token has 30 days life span. If you're using access_token
that's automatically retrieved by the plugin, you don't need to worry as scheduled event will refresh the token per 29 days.
Sender Examples
I've created sender examples plugin that you can use as a starting point, though it will run without any customization. Currently it has following features:
- Send post data once post status is transitioned to public.
- Send new comment.
- More will come later..
Consumer Examples
I'm working to provide listener apps, written in PHP (stay tuned!), for now you can check Simperium examples and their awesome libraries.
Contributing
- Development of this plugin is done on GitHub. Pull requests are always welcome.
- For Sender apps feedback, please check its GitHub repo.
- For Consumer apps feedback, please stay tuned!
FAQ
ChangeLog