{"id":78468,"date":"2017-12-12T18:07:47","date_gmt":"2017-12-12T18:07:47","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/wp247-extension-notification-server\/"},"modified":"2017-12-14T21:56:16","modified_gmt":"2017-12-14T21:56:16","slug":"wp247-extension-notification-server","status":"publish","type":"plugin","link":"https:\/\/pl.wordpress.org\/plugins\/wp247-extension-notification-server\/","author":2086304,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.0.1","stable_tag":"1.0.1","tested":"4.9.29","requires":"4.0","requires_php":"5.6.31","requires_plugins":"","header_name":"WP247 Extension Notification Server","header_author":"wp247","header_description":"Provides the ability for extension developers to send notification messages to their extension users - This is the server (Extension Developer's) side plugin","assets_banners_color":"","last_updated":"2017-12-14 21:56:16","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/www.paypal.com\/cgi-bin\/webscr?cmd=_s-xclick&hosted_button_id=RM26LBV2K6NAU","header_plugin_uri":"","header_author_uri":"http:\/\/wp247.net\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":1168,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","changelog","faq"],"tags":[],"upgrade_notice":{"1.0":"<p>Initial release<\/p>"},"ratings":{"1":0,"2":0,"3":0,"4":0,"5":0},"assets_icons":[],"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0","1.0.1"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"Extension Notification Server Settings - Extension","2":"Extension Notification Server Settings - Notice","3":"Extension Notification Server Help - Overview","4":"Extension Notification Server Help - Notices","5":"Extension Notification Server Help - Settings","6":"Extension Notification Server Help - API","7":"Extension Notification Server Help - Co-requisite","8":"Extension Notification Server Help - Privacy Policy"},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[1245,2231,1334,1159,1141],"plugin_category":[41],"plugin_contributors":[86138],"plugin_business_model":[],"class_list":["post-78468","plugin","type-plugin","status-publish","hentry","plugin_tags-extension","plugin_tags-message","plugin_tags-notice","plugin_tags-notification","plugin_tags-theme","plugin_category-communication","plugin_contributors-wescleveland","plugin_committers-wescleveland"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/wp247-extension-notification-server.svg","icon_2x":false,"generated":true},"screenshots":[],"raw_content":"<!--section=description-->\n<h4>OVERVIEW<\/h4>\n\n<p>The strength of WordPress is in it's ability to be customized through the use of extensions (plugins and themes).<\/p>\n\n<p>The <strong>WP247 Extension Notification System<\/strong> provides a standard interface for WordPress extension developers to communicate important information about their extension to their extension users.<\/p>\n\n<p>The <em>Settings<\/em> page provides you with complete control over which extensions the <strong>WP247 Extension Notification System<\/strong> will communicate with and which notices will continue to be displayed.<\/p>\n\n<h4>NOTICES<\/h4>\n\n<p>The <strong>WP247 Extension Notification System<\/strong> will display notices until they are dismissed. The extension developer assigns one of three dismissibility types to each notice they send:<\/p>\n\n<ul>\n<li><strong>None<\/strong> indicates that the notice is not dismissible. The <em>dismiss<\/em> button will not appear.<\/li>\n<li><strong>Temporary<\/strong> indicates that the notice will be temporarily dismissed when you click the <em>dismiss<\/em> button. Once dismissed, the notice will not appear until the next time the Admin page is refreshed.<\/li>\n<li><strong>Permanent<\/strong> indicates that the notice will be permanently dismissed when you click the <em>dismiss<\/em> button. Once dismissed, the notice will not appear again.<\/li>\n<\/ul>\n\n<p>Regardless of the dimissibility setting chosen by the extension developer, you can permanently dismiss any notice by clicking the <em>Permanently Dismiss<\/em> link at the lower right of the notice or by checking the checkbox next to the notice title in the <strong>WP247 Extension Notification System<\/strong>'s <em>Settings<\/em> section.<\/p>\n\n<h4>SETTINGS<\/h4>\n\n<p>The <strong>WP247 Extension Notification Server<\/strong> Settings page is where you tell the <strong>WP247 Extension Notification Server<\/strong> about your extension and notices.<\/p>\n\n<p><strong>Extension<\/strong><\/p>\n\n<p>The <em>Extension<\/em> section is where you identify your extension. This information will also be used in your extension's code (see the API help topic for more information) when polled by the <strong>WP247 Extension Notification Client<\/strong> plugin to see which extensions are participating in Extension Notifications. The <em>Extension<\/em> settings are:<\/p>\n\n<ul>\n<li><em>Extension Name<\/em>: The name your extension is known as.<\/li>\n<li><em>Extension Id<\/em>: The slug used by your extension. This should match the directory name your extension get installed into.<\/li>\n<li><em>Extension Type<\/em>: The type of extention (Plugin or Theme).<\/li>\n<li><em>Server URL<\/em>: The URL that will respond to the <strong>WP247 Extension Notification Client<\/strong> plugin's notice update inquiries.<\/li>\n<li><em>Frequency<\/em>: How often should the <strong>WP247 Extension Notification Client<\/strong> plugin's inquire about new notice updates. <\/li>\n<\/ul>\n\n<p><strong>Notice<\/strong><\/p>\n\n<p>The <em>Notice<\/em> section is where you compose the notification message that is to be distributed to your extension's users. The <em>Notice<\/em> settings are:<\/p>\n\n<ul>\n<li><em>Status<\/em> indicates whether or not the notice should currently be distributed when the <strong>WP247 Extension Notification Client<\/strong> plugin inquires about any notice updates.<\/li>\n<li><em>Notice Title<\/em>: The title of your notice. This will appear on the first line when the notice is displayed.<\/li>\n<li><em>Notice Type<\/em>: The type of notice. This will determine where the notice appears and what color the side border will be.<\/li>\n<li><em>Dismissability<\/em>: Whether or not the notice is dismissible and if so, temporarily or permanently. Regardless of this setting, the WP247 Extension Notification Client plugin will allow the client site to permanently dismiss any notice.<\/li>\n<li><em>Duration<\/em>: Identifies how long should this notice be displayed to the client.<\/li>\n<li><em>Notice Content<\/em>: The message you desire to send.<\/li>\n<\/ul>\n\n<p>=API=<\/p>\n\n<p>In order to use the <strong>WP247 Extension Notification System<\/strong> you must first configure your extension information. This will then be used in your extension to tell the <strong>WP247 Extension Notification System<\/strong> that your extension is participting in extension notifications.<\/p>\n\n<p>You will then need to modify your extension so that it reaponds to the <em>wp247xns_client_extension_poll<\/em> filter.<\/p>\n\n<p>First, you must modify your extension to tell WordPress that you are responding to the <em>wp247xns_client_extension_poll<\/em> filter:<\/p>\n\n<pre><code>add_filter( \"wp247xns_client_extension_poll_{extension_type}_{extension_id}\", \"my_routine\" );\n<\/code><\/pre>\n\n<p>Then you must create a function in your extension to respond to the filter:<\/p>\n\n<pre><code>function my_routine( $extensions ) {\n   return array(\n             \"name\"        =&gt; \"Your Extension name\",\n             \"id\"          =&gt; \"your-extension-id\",\n             \"type\"        =&gt; \"plugin\",\n             \"version\"     =&gt; \"\",          \/\/ your extension's version number (not required)\n             \"server_url\"  =&gt; \"http:\/\/your-extension-wordpress-url\/wp-admin\/admin-ajax.php\",\n             \"frequency\"   =&gt; \"1 day\",     \/\/ (not required) defaults to \"1 day\"\n          );\n}\n<\/code><\/pre>\n\n<p>That's it. The <strong>WP247 Extension Notification System<\/strong> will take care of the rest!<\/p>\n\n<h4>Co-requisite<\/h4>\n\n<p>One final note. In order for your users to receive your notices, they must have installed and activated the <strong>WP247 Extension Notification Client<\/strong> plugin. You may want to prompt your users to install and activate this plugin if it is not active at the time your extension is loaded. For your convenience, we have provided a standardized method for accomplishing this.<\/p>\n\n<p>First, copy the <em>\/wp-content\/plugins\/wp247-extension-notification-server\/admin\/wp247xns-client-corequisite-notice<\/em> folder to your extension's Admin folder.<\/p>\n\n<p>Next, modify your extension to instantiate the <strong>WP247XNS_Client_Corequisite_Notice<\/strong> class. Something like:<\/p>\n\n<pre><code>require_once 'wp247xns-client-corequisite-notice\/wp247xns-client-corequisite-notice.php';\n$my_wp247xns_client_corequisite_notice\n    = new WP247XNS_Client_Corequisite_Notice( 'Your extension name' );\n<\/code><\/pre>\n\n<p>The <strong>WP247XNS_Client_Corequisite_Notice<\/strong> class constructor takes from one to three parameters:<\/p>\n\n<pre><code>WP247XNS_Client_Corequisite_Notice(\n    $extension_name,\n    $nag_frequency = '30 days',\n    $text_domain = 'wp247xns-client-corequisite-notice'\n);\n<\/code><\/pre>\n\n<p>This will result in a notice being displayed to your extension's users when either the <strong>WP247 Extension Notification Client<\/strong> plugin is not activated or your particular extension is not enabled to participate in the <strong>WP247 Extension Notification System<\/strong>. They will be able to dismiss the nottice, but it will be re-displayed after the nag frequency has passed.<\/p>\n\n<h4>Privacy Policy<\/h4>\n\n<p>Rest assured that the <strong>WP247 Extension Notification System<\/strong> does not capture any information about your site and does not send any information about your site when servers are polled for new notices.<\/p>\n\n<p>In addition, the <strong>WP247 Extension Notification System<\/strong> does not capture any information from the client's site.<\/p>\n\n<!--section=installation-->\n<p>In the WordPress backend:<\/p>\n\n<ul>\n<li>Go to Plugins-&gt;Add New<\/li>\n<li>Search for the plugin '<strong>WP247 Extension Notification Server<\/strong>'<\/li>\n<li>Click the \"Install\" button<\/li>\n<li>Click on \"Activate\"<\/li>\n<\/ul>\n\n<p>That's it. You're now ready to build and send extension notification messages.<\/p>\n\n<!--section=changelog-->\n<h4>1.0.1<\/h4>\n\n<p>Fix Settings API bug<\/p>\n\n<h4>1.0<\/h4>\n\n<p>Initial release<\/p>\n\n<!--section=faq-->\n<dl>\n<dt>Installation Instructions<\/dt>\n<dd><p>In the WordPress backend:<\/p>\n\n<ul>\n<li>Go to Plugins-&gt;Add New<\/li>\n<li>Search for the plugin '<strong>WP247 Extension Notification Server<\/strong>'<\/li>\n<li>Click the \"Install\" button<\/li>\n<li>Click on \"Activate\"<\/li>\n<\/ul>\n\n<p>That's it. You're now ready to build and send extension notification messages.<\/p><\/dd>\n\n<\/dl>","raw_excerpt":"Provides the ability for WordPress extension developers to send notification messages to their users","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/pl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/78468","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/pl.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/pl.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=78468"}],"author":[{"embeddable":true,"href":"https:\/\/pl.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/wescleveland"}],"wp:attachment":[{"href":"https:\/\/pl.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=78468"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/pl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=78468"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/pl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=78468"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/pl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=78468"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/pl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=78468"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/pl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=78468"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}