{"id":26547,"date":"2013-12-03T05:57:41","date_gmt":"2013-12-03T05:57:41","guid":{"rendered":"https:\/\/wordpress.org\/plugins-wp\/fofo-pico-plugin-framework\/"},"modified":"2014-03-09T22:59:43","modified_gmt":"2014-03-09T22:59:43","slug":"fofo-pico-plugin-framework","status":"closed","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/fofo-pico-plugin-framework\/","author":12327996,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0.2","stable_tag":"trunk","tested":"3.6.1","requires":"3.0.1","requires_php":"","requires_plugins":"","header_name":"Foxdell Folio Pico Plugin Framework &amp; Codex","header_author":"Team FoFo","header_description":"","assets_banners_color":"","last_updated":"2014-03-09 22:59:43","external_support_url":"","external_repository_url":"","donate_link":"http:\/\/www.foxdellfolio.com","header_plugin_uri":"http:\/\/www.FoxdellFolio.com","header_author_uri":"http:\/\/www.FoxdellFolio.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":828,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog","other_notes"],"tags":[],"upgrade_notice":[],"ratings":{"1":0,"2":0,"3":0,"4":0,"5":0},"assets_icons":[],"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0.2"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[7338,3973,30406,30405],"plugin_category":[],"plugin_contributors":[128014],"plugin_business_model":[],"class_list":["post-26547","plugin","type-plugin","status-closed","hentry","plugin_tags-mvc","plugin_tags-plugin-framework","plugin_tags-ppf","plugin_tags-rapid-application-development","plugin_contributors-chrisodell","plugin_committers-chrisodell"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/fofo-pico-plugin-framework.svg","icon_2x":false,"generated":true},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Foxdell Folio are pleased to present the Pico Plugin Framework. This\nframework has been designed to provide the benefits of an MVC implementation\ncontained in one file, currently of approximately 27K.<\/p>\n\n<p>Do we need yet another MVC framework? When looking around for an MVC\nframework to use we found that the MVC frameworks as plugins for\nWordPress had many features but required the implementation of a specific file \nstructure or needed the implementation of config files. All we wanted were a \nfew simple helper functions and a way of separating control logic from \npresentation logic, whilst still leveraging many of the features already present \nin WordPress. As we could not find one to fulfil these requirements we built\nour own.<\/p>\n\n<p>Features of the framework include<\/p>\n\n<ul>\n<li>Integration with the Settings API.<\/li>\n<li>WordPress form security using the wp_nonce set of functions.<\/li>\n<li>Ability to define models for manipulating custom data outside of the Settings API.<\/li>\n<li>Helper functions to make creating plugins simpler.<\/li>\n<li>Separation of control\/data\/presentation logic.<\/li>\n<\/ul>\n\n<p>If you like this framework and it helps boost your productivity then\nplease consider leavinga review for this plugin.<\/p>\n\n<p>PLEASE NOTE THERE IS A BREAKING CHANGE IN THIS RELEASE. Please see the change log and \nreference implementations to see how to use the PPFCreator class to create a PPFApp\ninstance rather than creating a PPFApp instance directly.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Unzip the archive file.<\/li>\n<li>Copy the extracted folder and it's contents to the WordPress Plugin Folder.<\/li>\n<li>Activate the Pico Plugin Framework through the Plugins menu option in WordPress.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt>What does this plugin do?<\/dt>\n<dd><p>This plugin of itself does nothing. It is purely documentation and a way of\ndistributing the file wth the framework implementation, PPFApp.php<\/p><\/dd>\n<dt>Um, how do I use the framework?<\/dt>\n<dd><ol>\n<li>Install this plugin.<\/li>\n<li>Read through the example provided in the documentation.<\/li>\n<li>Download the <a href=\"http:\/\/foxdellfolio.com\/downloads\/\">Starterpack<\/a> <\/li>\n<li>Read through the reference implementations.<\/li>\n<\/ol><\/dd>\n<dt>Crikey that seems like a lot of work, is there an easier way to get started?<\/dt>\n<dd><p>Not at this time. The quickest way to get started is to follow the example and\nlook at the source code of the MyFirstPPFPlugin in the <a href=\"http:\/\/foxdellfolio.com\/downloads\/\">Starterpack<\/a>.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0.1<\/h4>\n\n<ul>\n<li>First release<\/li>\n<\/ul>\n\n<h4>1.0.0.2<\/h4>\n\n<h4>PPF Changes<\/h4>\n\n<ul>\n<li>Changed class name to include version number.<\/li>\n<li>Added factory class to create PPF class and hide versioning.<\/li>\n<li>Changed class variable to global for current section.<\/li>\n<li>Removed in_section_form bool from ppf_close_form when using model.<\/li>\n<li>Added check to see if field exists when getting parameters for settings section.<\/li>\n<li>Modified the check for label and div in get_input_template to see if set in options array.<\/li>\n<li>Changed ppf_close_form to take an array for the options as the second parameter.<\/li>\n<li>Made save_model function public and changed name to ppf_save_model.<\/li>\n<li>Added the ppf_register_custom_editor function to allow the addition of more complex input types such as farbtastic.<\/li>\n<\/ul>\n\n<h4>Reference Implementation Changes<\/h4>\n\n<ul>\n<li>Changed ppf-ref-i.php so that save messages are checked to see if they exist. <\/li>\n<li>Modified ppf-ref-j.php to display the correct label in the admin screen<\/li>\n<li>Modified ppf-ref-j.php to pass string arguments as parameters in quotes.<\/li>\n<li>Added a Reference implemtation (Ref K) to demonstrate implementing a custom editor.<\/li>\n<\/ul>\n\n<h4>Codex Changes<\/h4>\n\n<ul>\n<li>Added the action_data page.<\/li>\n<li>Added pages for ppf_save_model and ppf_register_custom_editor.<\/li>\n<li>Updated page for ppf_close_form to refelct change from parameter\n$submit_value to array $submit_options.<\/li>\n<\/ul>\n\n<!--section=other_notes-->\n<h3>Support<\/h3>\n\n<p>For support issues please use the <a href=\"http:\/\/foxdellfolio.com\/forums\/\">Forums<\/a> on <a href=\"http:\/\/foxdellfolio.com\/\">FoxdellFolio<\/a><\/p>","raw_excerpt":"A small and concise plugin framework for rapid application development.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/26547","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=26547"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/chrisodell"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=26547"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=26547"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=26547"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=26547"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=26547"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=26547"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}