CINXE.COM
WordPress › Make WordPress Plugins
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="en-US"><head profile="http://gmpg.org/xfn/11"><script type="text/javascript" src="/_static/js/bundle-playback.js?v=HxkREWBo" charset="utf-8"></script> <script type="text/javascript" src="/_static/js/wombat.js?v=txqj7nKC" charset="utf-8"></script> <script>window.RufflePlayer=window.RufflePlayer||{};window.RufflePlayer.config={"autoplay":"on","unmuteOverlay":"hidden"};</script> <script type="text/javascript" src="/_static/js/ruffle/ruffle.js"></script> <script type="text/javascript"> __wm.init("https://web.archive.org/web"); __wm.wombat("http://make.wordpress.org/plugins/","20130124095632","https://web.archive.org/","web","/_static/", "1359021392"); </script> <link rel="stylesheet" type="text/css" href="/_static/css/banner-styles.css?v=S1zqJCYt" /> <link rel="stylesheet" type="text/css" href="/_static/css/iconochive.css?v=3PDvdIFv" /> <!-- End Wayback Rewrite JS Include --> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <!-- <meta property="fb:page_id" content="6427302910" /> --> <link href="https://plus.google.com/107188080561309681193" rel="publisher"/> <meta name="google-site-verification" content="7VWES_-rcHBcmaQis9mSYamPfNwE03f4vyTj4pfuAw0"/> <title>WordPress › Make WordPress Plugins</title> <link rel="stylesheet" href="https://web.archive.org/web/20130124095632cs_/http://s.wordpress.org/style/wp4.css?27"/> <link media="only screen and (max-device-width: 480px)" href="https://web.archive.org/web/20130124095632cs_/http://s.wordpress.org/style/iphone.css" type="text/css" rel="stylesheet"/> <link rel="shortcut icon" href="https://web.archive.org/web/20130124095632im_/http://s.wordpress.org/favicon.ico?3" type="image/x-icon"/> <link rel="alternate" type="application/rss+xml" title="Make WordPress Plugins" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/feed/"/> <script type="text/javascript"> var gaJsHost = (("https:" == document.location.protocol) ? "https://web.archive.org/web/20130124095632/https://ssl." : "https://web.archive.org/web/20130124095632/http://www."); document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E")); </script> <script type="text/javascript"> var pageTracker = _gat._getTracker("UA-52447-1"); pageTracker._initData(); pageTracker._trackPageview(); function recordOutboundLink(link, category, action) { pageTracker._trackEvent(category, action); setTimeout('document.location = "' + link.href + '"', 100); } </script> <!--[if lte IE 8]> <style type="text/css"> @import url("http://s.wordpress.org/style/ie.css?1"); </style> <![endif]--> <link rel="pingback" href="http://make.wordpress.org/plugins/xmlrpc.php"/><link rel="stylesheet" href="https://web.archive.org/web/20130124095632cs_/http://make.wordpress.org/plugins/wp-content/themes/make-p2/style.css?v=2" type="text/css" media="screen"/> <script type="text/javascript"> // <![CDATA[ // P2 Configuration var ajaxUrl = "https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/wp-admin/admin-ajax.php?p2ajax=true"; var updateRate = "30000"; // 30 seconds var nonce = "2e1dc5ef08"; var login_url = "https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/wp-login.php?redirect_to=http%3A%2F%2Fmake.wordpress.org%2Fplugins%2F"; var templateDir = "https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/wp-content/themes/p2"; var isFirstFrontPage = 1; var isFrontPage = 1; var isSingle = 0; var isPage = 0; var isUserLoggedIn = 0; var prologueTagsuggest = 1; var prologuePostsUpdates = 1; var prologueCommentsUpdates = 1; var getPostsUpdate = 0; var getCommentsUpdate = 0; var inlineEditPosts = 1; var inlineEditComments = 1; var wpUrl = "https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins"; var rssUrl = ""; var pageLoadTime = "2013-01-24 09:55:40"; var original_title = document.title; var commentsOnPost = new Array; var postsOnPage = new Array; var postsOnPageQS = ''; var currPost = -1; var currComment = -1; var commentLoop = false; var lcwidget = false; var hidecomments = false; var commentsLists = ''; var newUnseenUpdates = 0; var mentionData = null; // ]]> </script> <link rel="alternate" type="application/rss+xml" title="Make WordPress Plugins » Feed" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/feed/"/> <link rel="alternate" type="application/rss+xml" title="Make WordPress Plugins » Comments Feed" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/comments/feed/"/> <script type="text/javascript"> //<![CDATA[ var wpLocale = {"month":["January","February","March","April","May","June","July","August","September","October","November","December"],"monthabbrev":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],"weekday":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"weekdayabbrev":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]}; //]]> </script> <link rel="stylesheet" id="admin-bar-css" href="https://web.archive.org/web/20130124095632cs_/http://make.wordpress.org/plugins/wp-includes/css/admin-bar.min.css?ver=3.6-alpha-23334" type="text/css" media="all"/> <link rel="stylesheet" id="jetpack-widgets-css" href="https://web.archive.org/web/20130124095632cs_/http://make.wordpress.org/plugins/wp-content/plugins/jetpack/modules/widgets/widgets.css?ver=20121003" type="text/css" media="all"/> <link rel="stylesheet" id="p2-print-style-css" href="https://web.archive.org/web/20130124095632cs_/http://make.wordpress.org/plugins/wp-content/themes/p2/style-print.css?ver=20120807" type="text/css" media="print"/> <script type="text/javascript" src="https://web.archive.org/web/20130124095632js_/http://make.wordpress.org/plugins/wp-includes/js/jquery/jquery.js?ver=1.9.0"></script> <script type="text/javascript" src="https://web.archive.org/web/20130124095632js_/http://make.wordpress.org/plugins/wp-includes/js/jquery/jquery-migrate.js?ver=1.0.0"></script> <script type="text/javascript" src="https://web.archive.org/web/20130124095632js_/http://make.wordpress.org/plugins/wp-includes/js/jquery/jquery.color.min.js?ver=2.1.0"></script> <script type="text/javascript"> /* <![CDATA[ */ var userSettings = {"url":"\/","uid":"0","time":"1359021340"}; /* ]]> */ </script> <script type="text/javascript" src="https://web.archive.org/web/20130124095632js_/http://make.wordpress.org/plugins/wp-includes/js/utils.min.js?ver=3.6-alpha-23334"></script> <script type="text/javascript" src="https://web.archive.org/web/20130124095632js_/http://make.wordpress.org/plugins/wp-includes/js/comment-reply.min.js?ver=3.6-alpha-23334"></script> <script type="text/javascript" src="https://web.archive.org/web/20130124095632js_/http://make.wordpress.org/plugins/wp-content/themes/p2/js/jquery.scrollTo-min.js?ver=20120402"></script> <script type="text/javascript" src="https://web.archive.org/web/20130124095632js_/http://make.wordpress.org/plugins/wp-content/themes/p2/js/wp-locale.js?ver=20110415"></script> <script type="text/javascript" src="https://web.archive.org/web/20130124095632js_/http://make.wordpress.org/plugins/wp-content/themes/p2/js/spin.js?ver=20120704"></script> <script type="text/javascript"> /* <![CDATA[ */ var p2txt = {"tags":"<br \/>Tags:","tagit":"Tag it","citation":"Citation","title":"Post Title","goto_homepage":"Go to homepage","n_new_updates":"%d new update(s)","n_new_comments":"%d new comment(s)","jump_to_top":"Jump to top","not_posted_error":"An error has occurred, your post was not posted","update_posted":"Your update has been posted","loading":"Loading...","cancel":"Cancel","save":"Save","hide_threads":"Hide threads","show_threads":"Show threads","unsaved_changes":"Your comments or posts will be lost if you continue.","date_time_format":"%1$s <em>on<\/em> %2$s","date_format":"F j, Y","time_format":"g:i a","autocomplete_prompt":"After typing @, type a name or username to find a member of this site","no_matches":"No matches.","comment_cancel_ays":"Are you sure you would like to clear this comment? Its contents will be deleted.","oops_not_logged_in":"Oops! Looks like you are not logged in.","please_log_in":"Please log in again","whoops_maybe_offline":"Whoops! Looks like you are not connected to the server. P2 could not connect with WordPress."}; try{convertEntities(p2txt);}catch(e){};; /* ]]> */ </script> <script type="text/javascript" src="https://web.archive.org/web/20130124095632js_/http://make.wordpress.org/plugins/wp-content/themes/p2/js/p2.js?ver=20121128"></script> <link rel="EditURI" type="application/rsd+xml" title="RSD" href="http://make.wordpress.org/plugins/xmlrpc.php?rsd"/> <link rel="wlwmanifest" type="application/wlwmanifest+xml" href="http://make.wordpress.org/plugins/wp-includes/wlwmanifest.xml"/> <meta name="generator" content="WordPress 3.6-alpha-23334"/> <link rel="shortlink" href="https://web.archive.org/web/20130124095632/http://wp.me/29geH"/> <style type="text/css"> .is-js .hide-if-js { display: none; } .p2-task-list ul { margin-left: 0 !important; } .p2-task-list ul ul { margin-left: 20px !important; } .p2-task-list li { list-style: none; } </style> <script type="text/javascript"> jQuery( function( $ ) { $( 'body' ) .addClass( 'is-js' ) .delegate( '.p2-task-list :checkbox', 'click', function() { var $this = $( this ), $li = $this.parents( 'li:first' ), $form = $this.parents( 'form:first' ), data = $li.find( ':input' ).serialize(), colorEl = $li, origColor = $li.css( 'background-color' ), color; while ( colorEl.get(0).tagName && colorEl.css( 'background-color' ).match( /^\s*(rgba\s*\(\s*0+\s*,\s*0+\s*,\s*0+\s*,\s*0+\s*\)|transparent)\s*$/ ) ) { colorEl = colorEl.parent(); } color = colorEl.get(0).tagName ? colorEl.css( 'background-color' ) : '#ffffff'; data += '&ajax=1&' + $form.find( '.submit :input' ).serialize(); $.post( $form.attr( 'action' ), data, function( response ) { if ( '1' === response ) $li.css( 'background-color', '#F6F3D1' ).animate( { backgroundColor: color }, 'slow', function() { $li.css( 'background-color', origColor ); } ); } ); } ); } ); </script> <style type="text/css" media="print">#wpadminbar { display:none; }</style> <style type="text/css" media="screen"> html { margin-top: 28px !important; } * html body { margin-top: 28px !important; } </style> <style id="p2-header-style" type="text/css"> </style> <meta id="syntaxhighlighteranchor" name="syntaxhighlighter-version" content="3.1.3"/> <script type="text/javascript"> /* <![CDATA[ */ var wpNotesIsJetpackClient = true; /* ]]> */ </script> <script type="text/javascript" src="https://web.archive.org/web/20130124095632js_/http://s.wordpress.org/wp-includes/js/jquery/jquery.js"></script> <script>document.cookie='devicePixelRatio='+((window.devicePixelRatio === undefined) ? 1 : window.devicePixelRatio)+'; path=/';</script> </head> <body id="wordpress-org" class="home blog admin-bar no-customize-support"> <div id="header"> <div class="wrapper"> <h1><a href="https://web.archive.org/web/20130124095632/http://s.wordpress.org/">WordPress.org</a></h1> <form action="https://web.archive.org/web/20130124095632/http://wordpress.org/search/do-search.php" method="get" id="head-search"> <input class="text" name="search" type="text" value="Search WordPress.org" maxlength="150" onfocus="this.value=(this.value=='Search WordPress.org') ? '' : this.value;" onblur="this.value=(this.value=='') ? 'Search WordPress.org' : this.value;"/> <input type="submit" class="button" value="Go"/> </form> <ul> <li><a href="https://web.archive.org/web/20130124095632/http://wordpress.org/showcase/" title="See some of the sites built on WordPress.">Showcase</a></li> <li><a href="https://web.archive.org/web/20130124095632/http://wordpress.org/extend/themes/" title="Find just the right look for your website.">Themes</a></li> <li><a href="https://web.archive.org/web/20130124095632/http://wordpress.org/extend/plugins/" title="Plugins can extend WordPress to do almost anything you can imagine.">Plugins</a></li> <li><a href="https://web.archive.org/web/20130124095632/http://wordpress.org/extend/mobile/" title="Take your website on the go!">Mobile</a></li> <li><a href="https://web.archive.org/web/20130124095632/http://wordpress.org/support/" title="Forums, documentation, help.">Support</a><ul class="nav-submenu"><li><a href="https://web.archive.org/web/20130124095632/http://wordpress.org/support/" title="Support and discussion forums.">Forums</a></li><li><a href="https://web.archive.org/web/20130124095632/http://codex.wordpress.org/Main_Page" title="Documentation, tutorials, best practices.">Docs</a></li></ul></li> <li><a href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/" title="Contribute your knowledge." class="current">Get Involved</a><ul class="nav-submenu"><li><a href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/core/" title="Write the code.">Core</a></li><li><a href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/ui/" title="Improve the interface.">UI</a></li><li><a href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/accessibility/" title="Create a better experience.">Accessibility</a></li><li><a href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/" title="Extend the system." class="subcurrent">Plugins</a></li><li><a href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/themes/" title="Beautify the web.">Themes</a></li><li><a href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/support/" title="Help the users.">Support</a></li><li><a href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/polyglots/" title="Translate for the world.">Polyglots</a></li><li><a href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/mobile/" title="On the go.">Mobile</a></li></ul></li> <li><a href="https://web.archive.org/web/20130124095632/http://wordpress.org/about/" title="About the WordPress Organization, and where we're going.">About</a></li> <li><a href="https://web.archive.org/web/20130124095632/http://wordpress.org/news/" title="Come here for the latest scoop.">Blog</a></li> <li><a href="https://web.archive.org/web/20130124095632/http://wordpress.org/hosting/" title="Find a home for your blog.">Hosting</a></li> <li id="download"><a href="https://web.archive.org/web/20130124095632/http://wordpress.org/download/" title="Get it. Got it? Good.">Download</a></li> </ul> </div> </div> <div id="headline"> <div class="wrapper"> <h2><a href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/">Make WordPress Plugins</a></h2> </div> </div> <div id="header2"> <!-- <div class="sleeve"> <h1><a href="http://make.wordpress.org/plugins/">Make WordPress Plugins</a></h1> <small>Resources for WordPress.org plugin developers</small> <a class="secondary" href="http://make.wordpress.org/plugins/"></a> </div> --> </div> <div id="wrapper"> <div id="sidebar"> <ul> <li id="search-2" class="widget widget_search"><form role="search" method="get" id="searchform" action="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/"> <div><label class="screen-reader-text" for="s">Search for:</label> <input type="text" value="" name="s" id="s"/> <input type="submit" id="searchsubmit" value="Search"/> </div> </form></li> <li id="text-2" class="widget widget_text"><h2 class="widgettitle">Welcome to make/plugins</h2> <div class="textwidget"><p>Howdy! This <a href="https://web.archive.org/web/20130124095632/http://p2theme.com/">P2</a> blog is for announcements and resources for WordPress plugin developers and the Plugin Directory. If you write plugins, you should subscribe:</p> </div> </li> <li id="blog_subscription-3" class="widget jetpack_subscription_widget"><h2 class="widgettitle"><label for="subscribe-field">Subscribe to Blog via Email</label></h2> <a id="subscribe-blog"></a> <form action="" method="post" accept-charset="utf-8" id="subscribe-blog"> <p>Enter your email address to subscribe to this blog and receive notifications of new posts by email.</p><p>Join 382 other subscribers</p> <p><input type="text" name="email" style="width: 95%; padding: 1px 2px" value="Email Address" id="subscribe-field" onclick="if ( this.value == 'Email Address' ) { this.value = ''; }" onblur="if ( this.value == '' ) { this.value = 'Email Address'; }"/></p> <p> <input type="hidden" name="action" value="subscribe"/> <input type="hidden" name="source" value="http://make.wordpress.org/plugins/"/> <input type="hidden" name="sub-type" value="widget"/> <input type="hidden" name="redirect_fragment" value="blog_subscription-3"/> <input type="submit" value="Subscribe" name="jetpack_subscriptions_widget"/> </p> </form> </li> <li id="p2_recent_comments-2" class="widget widget_p2_recent_comments"><h2 class="widgettitle">Recent comments</h2> <table class="p2-recent-comments" cellspacing="0" cellpadding="0" border="0"> <tr><td title="Adding a Banner Imag…" class="avatar" style="height: 32px; width: 32px"><a href="https://web.archive.org/web/20130124095632/http://hardcorewp.com/2013/adding-a-banner-image-to-your-wordpress-plugin-page/" rel="nofollow"></a></td><td class="text"><a href="https://web.archive.org/web/20130124095632/http://hardcorewp.com/2013/adding-a-banner-image-to-your-wordpress-plugin-page/" rel="nofollow">Adding a Banner Imag…</a> on <a href="#comment-28231" class="tooltip" title="[...] Last December, we added header images to the…">Last December we added header …</a></td></tr><tr><td title="TCR" class="avatar" style="height: 32px; width: 32px"><a href="https://web.archive.org/web/20130124095632/http://www.thecellarroom.net/" rel="nofollow"><img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/69b0de85716398ca88ec4c7f04bb2d29?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/></a></td><td class="text"><a href="https://web.archive.org/web/20130124095632/http://www.thecellarroom.net/" rel="nofollow">TCR</a> on <a href="#comment-28134" class="tooltip" title="Agree with these. would be useful to have a filter…">Plugin/Plugin Team Stats</a></td></tr><tr><td title="Scott Reilly" class="avatar" style="height: 32px; width: 32px"><a href="https://web.archive.org/web/20130124095632/http://coffee2code.com/" rel="nofollow"><img alt="" src="https://web.archive.org/web/20130124095632im_/http://1.gravatar.com/avatar/5af525fba95b93c4e0c8a03b639c9486?s=32&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/></a></td><td class="text"><a href="https://web.archive.org/web/20130124095632/http://coffee2code.com/" rel="nofollow">Scott Reilly</a> on <a href="#comment-28056" class="tooltip" title="You should email plugins@wordpress.org to rep…">Plugin/Plugin Team Stats</a></td></tr><tr><td title="rielf" class="avatar" style="height: 32px; width: 32px"><a href="https://web.archive.org/web/20130124095632/http://locosdefutbol.es/" rel="nofollow"><img alt="" src="https://web.archive.org/web/20130124095632im_/http://1.gravatar.com/avatar/b8677d2f3fe258d78962262f7a23dc0c?s=32&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/></a></td><td class="text"><a href="https://web.archive.org/web/20130124095632/http://locosdefutbol.es/" rel="nofollow">rielf</a> on <a href="#comment-27985" class="tooltip" title="Where i can denounce a SCAM Pluguin? "Google adsen…">Plugin/Plugin Team Stats</a></td></tr><tr><td title="How to Create Custom…" class="avatar" style="height: 32px; width: 32px"><a href="https://web.archive.org/web/20130124095632/http://www.seosalespro.com/blog/how-to-create-custom-content-with-wordpress/" rel="nofollow"></a></td><td class="text"><a href="https://web.archive.org/web/20130124095632/http://www.seosalespro.com/blog/how-to-create-custom-content-with-wordpress/" rel="nofollow">How to Create Custom…</a> on <a href="#comment-27850" class="tooltip" title="[...] trying to keep this current and finally it h…">Plugin Directory Refreshed — W…</a></td></tr> </table></li> <li id="recent-posts-2" class="widget widget_recent_entries"> <h2 class="widgettitle">Recent Posts</h2> <ul> <li> <a href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/28/pluginplugin-team-stats/" title="Plugin/Plugin Team Stats">Plugin/Plugin Team Stats</a> </li> <li> <a href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/24/team-rep-results/" title="Team Rep Results">Team Rep Results</a> </li> <li> <a href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/20/gpl-and-the-repository/" title="GPL and the Repository">GPL and the Repository</a> </li> <li> <a href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/09/team-rep-voting/" title="Team Rep Voting">Team Rep Voting</a> </li> <li> <a href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/09/13/last-december-we-added-header-images-to-the/" title="Last December we added header images to the…">Last December we added header images to the…</a> </li> </ul> </li> <li id="p2_recent_tags-2" class="widget widget_p2_recent_tags"><h2 class="widgettitle">Recent tags</h2> <ul> <li> <a href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/tag/stats/">stats</a> ( 1 ) </li> <li> <a href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/tag/team-reps/">team reps</a> ( 2 ) </li> <li> <a href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/tag/licensing/">licensing</a> ( 2 ) </li> <li> <a href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/tag/gpl/">gpl</a> ( 1 ) </li> <li> <a href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/tag/assets/">assets</a> ( 1 ) </li> <li> <a href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/tag/screenshots/">screenshots</a> ( 1 ) </li> <li> <a href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/tag/svn/">svn</a> ( 1 ) </li> <li> <a href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/tag/repository/">repository</a> ( 1 ) </li> <li> <a href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/tag/plugin/">plugin</a> ( 1 ) </li> <li> <a href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/tag/readme/">readme</a> ( 1 ) </li> <li> <a href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/tag/directory/">directory</a> ( 2 ) </li> <li> <a href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/tag/rewrite/">rewrite</a> ( 1 ) </li> <li> <a href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/tag/support/">support</a> ( 1 ) </li> <li> <a href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/tag/favorites/">favorites</a> ( 1 ) </li> <li> <a href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/tag/trademarks/">trademarks</a> ( 1 ) </li> </ul> </li> </ul> <div class="clear"></div> </div> <!-- // sidebar --> <div class="sleeve_main"> <div id="main"> <h2> Recent Updates <span class="controls"> <a href="#" id="togglecomments"> Toggle Comment Threads</a> | <a href="#directions" id="directions-keyboard">Keyboard Shortcuts</a> </span> </h2> <ul id="postlist"> <li id="prologue-124" class="post-124 post type-post status-publish format-standard hentry category-uncategorized tag-stats"> <a href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/author/jenmylo/" title="Posts by Jen Mylo ( @jenmylo )" class="post-avatar"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/84987b436214f52ec0b04cd1f8a73c3c?s=48&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D48&r=G" class="avatar avatar-48 photo" height="48" width="48"/> </a> <h4> <a href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/author/jenmylo/" title="Posts by Jen Mylo ( @jenmylo )">Jen Mylo</a> <span class="meta"> <abbr title="2012-12-28T11:36:23Z">11:36 am <em>on</em> December 28, 2012</abbr> <span class="actions"> <a href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/28/pluginplugin-team-stats/" class="thepermalink" title="Permalink">Permalink</a> | <a rel="nofollow" title="Reply" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/28/pluginplugin-team-stats/#respond" onclick="return addComment.moveForm("comments-124", "0", "respond", "124")">Reply</a> </span> <span class="tags"> <br/>Tags: stats </span> </span> </h4> <div id="content-124" class="postcontent"> <h2><a href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/28/pluginplugin-team-stats/">Plugin/Plugin Team Stats </a></h2><p>We don’t track our progress as a project very well. We have relatively few stats that we look at over time to see how we’re growing/changing, and those we do have are largely cobbled together with various combinations of manual labor and scripting. One of the things I want to do this year is get us going in the direction of collecting stats on our work and participation levels, and to make as much of it as possible an automated process. I recognize that this stuff is non-trivial. That said, I can’t create an overall wishlist for Otto to shoot down until we figure out what stats would be good to have. </p> <p>What stats would be useful/helpful/just plain cool to know around your team? This is brainstorming… don’t think about APIs or if/how it could be collected, just throw out ideas in the comments of what information you think it would great to start seeing, say on a monthly basis. List any and all ideas, including stats you are already collecting. I’ll collate all the teams’ ideas and see what the Meta team says we can do.</p> <p><a href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/mentions/coffee2code/" class="mention">@coffee2code</a>: As team rep, can you try to rally your group to make suggestions over the coming week? Thanks!</p> </div> <div class="discussion" style="display: none"> <p> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/69b0de85716398ca88ec4c7f04bb2d29?s=16&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D16&r=G" class="avatar avatar-16 photo" height="16" width="16"/> <a href="https://web.archive.org/web/20130124095632/http://www.thecellarroom.net/" rel="external nofollow" class="url">TCR</a>, <img alt="" src="https://web.archive.org/web/20130124095632im_/http://1.gravatar.com/avatar/5af525fba95b93c4e0c8a03b639c9486?s=16&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D16&r=G" class="avatar avatar-16 photo" height="16" width="16"/> <a href="https://web.archive.org/web/20130124095632/http://coffee2code.com/" rel="external nofollow" class="url">Scott Reilly</a>, <img alt="" src="https://web.archive.org/web/20130124095632im_/http://1.gravatar.com/avatar/b8677d2f3fe258d78962262f7a23dc0c?s=16&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D16&r=G" class="avatar avatar-16 photo" height="16" width="16"/> <a href="https://web.archive.org/web/20130124095632/http://locosdefutbol.es/" rel="external nofollow" class="url">rielf</a>, and 7 others are discussing. <a href="#" class="show-comments">Toggle Comments</a> </p> </div> <div class="bottom-of-entry"> </div> <ul id="comments-124" class="commentlist inlinecomments"> <li id="comment-26599" class="comment byuser comment-author-jenmylo bypostauthor even thread-even depth-1"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/84987b436214f52ec0b04cd1f8a73c3c?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://profiles.wordpress.org/users/jane/" rel="external nofollow" class="url">Jane Wells</a> <span class="meta"> <abbr title="2012-12-28T11:40:39Z">11:40 am <em>on</em> December 28, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/28/pluginplugin-team-stats/#comment-26599" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/28/pluginplugin-team-stats/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-26599", "26599", "respond", "124")">Reply</a> </span> </span> </h4> <div id="commentcontent-26599" class="commentcontent"><p>I’ll start off by listing stats similar to the ones suggested for themes:</p> <ul> <li>Number of plugins in the directory (total, updated within past year, within past x months, etc)</li> <li>Number of plugin developers in directory, high/low/average number of plugins per developer</li> <li>Number of active plugin reviewers, high/low/average number of themes reviewed per person</li> <li>High/low/average frequency of plugin updates/commits</li> <li>Length of time from plugin submission to approval</li> <li>Number of plugins per month accepted as is, rejected flat out, or given instruction on what to do to get accepted</li> <li>Number of plugins closed at author request, and high/low/average amount of time since those plugins were last updated</li> <li>Number of plugins closed for spam</li> <li>Number of plugins closed for security issue</li> <li>Number of plugins closed for breaking a directory rule</li> </ul> </div> <ul class="children"> <li id="comment-26613" class="comment byuser comment-author-ipstenu odd alt depth-2"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/abfd4ff9c24957f1a9f0435e23de1f73?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://halfelf.org/" rel="external nofollow" class="url">Ipstenu (Mika Epstein)</a> <span class="meta"> <abbr title="2012-12-28T15:41:57Z">3:41 pm <em>on</em> December 28, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/28/pluginplugin-team-stats/#comment-26613" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/28/pluginplugin-team-stats/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-26613", "26613", "respond", "124")">Reply</a> </span> </span> </h4> <div id="commentcontent-26613" class="commentcontent"><p>Length of time from plugin submission to approval is averaging just around 48 hours, for a complete, fully working, plugin with a readme and no guideline violations (which is what ‘directory rules’ are). Once we get into people whom we push back, it’s as much up to their ability to reply to emails within 7 days as our ability to sort through the email <img src="https://web.archive.org/web/20130124095632im_/http://make.wordpress.org/plugins/wp-includes/images/smilies/icon_wink.gif" alt=";)" class="wp-smiley"/> (holidays and weekends and ZOMG! busy! change that, ut we’re pretty good).</p> <p>We’d need a way better way to track <em>why</em> a plugin was closed for the last four. Right now we have to document manually.</p> </div> <ul class="children"> <li id="comment-26619" class="comment byuser comment-author-jenmylo bypostauthor even depth-3"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/84987b436214f52ec0b04cd1f8a73c3c?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://profiles.wordpress.org/users/jane/" rel="external nofollow" class="url">Jane Wells</a> <span class="meta"> <abbr title="2012-12-28T16:44:00Z">4:44 pm <em>on</em> December 28, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/28/pluginplugin-team-stats/#comment-26619" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/28/pluginplugin-team-stats/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-26619", "26619", "respond", "124")">Reply</a> </span> </span> </h4> <div id="commentcontent-26619" class="commentcontent"><p>“This is brainstorming… don’t think about APIs or if/how it could be collected, just throw out ideas in the comments of what information you think it would great to start seeing”</p> <p>In other words, don’t worry about how it could or couldn’t be done, that’s a different conversation.</p> </div> </li> </ul> </li> </ul> </li> <li id="comment-26605" class="comment byuser comment-author-netweblogic odd alt thread-odd thread-alt depth-1"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://1.gravatar.com/avatar/32b1b817990a4fe40d4d1561517d095a?s=32&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://profiles.wordpress.org/users/netweblogic/" rel="external nofollow" class="url">Marcus</a> <span class="meta"> <abbr title="2012-12-28T13:57:56Z">1:57 pm <em>on</em> December 28, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/28/pluginplugin-team-stats/#comment-26605" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/28/pluginplugin-team-stats/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-26605", "26605", "respond", "124")">Reply</a> </span> </span> </h4> <div id="commentcontent-26605" class="commentcontent"><p>Number of plugins “compatible” with latest version(s) of WP</p> </div> <ul class="children"> <li id="comment-26614" class="comment byuser comment-author-ipstenu even depth-2"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/abfd4ff9c24957f1a9f0435e23de1f73?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://halfelf.org/" rel="external nofollow" class="url">Ipstenu (Mika Epstein)</a> <span class="meta"> <abbr title="2012-12-28T15:42:53Z">3:42 pm <em>on</em> December 28, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/28/pluginplugin-team-stats/#comment-26614" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/28/pluginplugin-team-stats/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-26614", "26614", "respond", "124")">Reply</a> </span> </span> </h4> <div id="commentcontent-26614" class="commentcontent"><p>Marcus – the problem there is we don’t test them after submission, so it’s up to the developer to remember to update their readmes. And the lack of an update doesn’t mean the plugin <em>isn’t</em> compatible. That distinctions way too wibbly-wobbley to rely on.</p> </div> <ul class="children"> <li id="comment-26620" class="comment byuser comment-author-jenmylo bypostauthor odd alt depth-3"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/84987b436214f52ec0b04cd1f8a73c3c?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://profiles.wordpress.org/users/jane/" rel="external nofollow" class="url">Jane Wells</a> <span class="meta"> <abbr title="2012-12-28T16:44:39Z">4:44 pm <em>on</em> December 28, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/28/pluginplugin-team-stats/#comment-26620" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/28/pluginplugin-team-stats/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-26620", "26620", "respond", "124")">Reply</a> </span> </span> </h4> <div id="commentcontent-26620" class="commentcontent"><p>I think Marcus’s suggestion is a good one. At the very least, gathering the stats on which ones say they’re compatible to which version will be useful.</p> </div> </li> <li id="comment-26668" class="comment byuser comment-author-netweblogic even depth-3"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://1.gravatar.com/avatar/32b1b817990a4fe40d4d1561517d095a?s=32&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://profiles.wordpress.org/users/netweblogic/" rel="external nofollow" class="url">Marcus</a> <span class="meta"> <abbr title="2012-12-29T13:12:09Z">1:12 pm <em>on</em> December 29, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/28/pluginplugin-team-stats/#comment-26668" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/28/pluginplugin-team-stats/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-26668", "26668", "respond", "124")">Reply</a> </span> </span> </h4> <div id="commentcontent-26668" class="commentcontent"><p>True, but that’s why I used quotes when saying “compatible” <img src="https://web.archive.org/web/20130124095632im_/http://make.wordpress.org/plugins/wp-includes/images/smilies/icon_biggrin.gif" alt=":D" class="wp-smiley"/> </p> <p>Agreed it’s not perfect, in my case for example I do have some plugins that aren’t marked as compatible for the latest version (haven’t had time to update readmes), yet they are.</p> <p>I think it’d still be nice to know because it is still somewhat of an indicator of what plugins are getting updated for latest WP updates.</p> <p>I’d say another bit of data that could be use is the Works/Doesn’t work, but then this info isn’t that reliable either I’ve found.</p> </div> </li> </ul> </li> </ul> </li> <li id="comment-26611" class="comment byuser comment-author-charlestonsw odd alt thread-even depth-1"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/2fd3ef87c973ca9790c4bcebbe5b6c0b?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://www.charlestonsw.com/" rel="external nofollow" class="url">Charleston Software Associates</a> <span class="meta"> <abbr title="2012-12-28T15:37:11Z">3:37 pm <em>on</em> December 28, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/28/pluginplugin-team-stats/#comment-26611" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/28/pluginplugin-team-stats/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-26611", "26611", "respond", "124")">Reply</a> </span> </span> </h4> <div id="commentcontent-26611" class="commentcontent"><p>Plugin aging report = number of plugins in these groups: updated 0-30 days ago, 30-90 days, 90-180, 180-365, 1y+. Provides a general “age” of the plugin repository at several strata.</p> <p>Is the plan to publish this for the general public somewhere near the plugins home page? Some of these metrics would be nice to know for site developers & plugin authors.</p> </div> <ul class="children"> <li id="comment-26621" class="comment byuser comment-author-jenmylo bypostauthor even depth-2"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/84987b436214f52ec0b04cd1f8a73c3c?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://profiles.wordpress.org/users/jane/" rel="external nofollow" class="url">Jane Wells</a> <span class="meta"> <abbr title="2012-12-28T16:46:29Z">4:46 pm <em>on</em> December 28, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/28/pluginplugin-team-stats/#comment-26621" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/28/pluginplugin-team-stats/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-26621", "26621", "respond", "124")">Reply</a> </span> </span> </h4> <div id="commentcontent-26621" class="commentcontent"><p>There’s no plan yet, since none of these stats are being collected yet. Eventually I’d like to be able to post nice monthly stats reports on the wordpress.org blog, and team-specific stats could also live in the team site and the public sections of wordpress.org. First we need to decide what information is worth having, then figure out how/if we can gather it, THEN decide where it gets published.</p> </div> </li> </ul> </li> <li id="comment-26641" class="comment byuser comment-author-mordauk odd alt thread-odd thread-alt depth-1"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/edcaf8a5c1dc7c741113d772e767bfc2?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://pippinsplugins.com/" rel="external nofollow" class="url">Pippin (mordauk)</a> <span class="meta"> <abbr title="2012-12-28T23:32:42Z">11:32 pm <em>on</em> December 28, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/28/pluginplugin-team-stats/#comment-26641" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/28/pluginplugin-team-stats/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-26641", "26641", "respond", "124")">Reply</a> </span> </span> </h4> <div id="commentcontent-26641" class="commentcontent"><p>Number of abandoned plugins (ones without updates for 2 years).<br/> Number of plugins with over xxx downloads.</p> </div> <ul class="children"> <li id="comment-28134" class="comment byuser comment-author-thecellarroom even depth-2"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/69b0de85716398ca88ec4c7f04bb2d29?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://www.thecellarroom.net/" rel="external nofollow" class="url">TCR</a> <span class="meta"> <abbr title="2013-01-22T13:01:02Z">1:01 pm <em>on</em> January 22, 2013</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/28/pluginplugin-team-stats/#comment-28134" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/28/pluginplugin-team-stats/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-28134", "28134", "respond", "124")">Reply</a> </span> </span> </h4> <div id="commentcontent-28134" class="commentcontent"><p>Agree with these. would be useful to have a filter on the plugin searches to exclude plugins that haven’t been updated for 2 years. etc.</p> </div> </li> </ul> </li> </li> <li id="comment-27172" class="comment byuser comment-author-circlecube odd alt thread-even depth-1"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://1.gravatar.com/avatar/f0785fb2c95792e4f9077ae03333dd90?s=32&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://profiles.wordpress.org/users/circlecube/" rel="external nofollow" class="url">circlecube</a> <span class="meta"> <abbr title="2013-01-08T18:26:25Z">6:26 pm <em>on</em> January 8, 2013</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/28/pluginplugin-team-stats/#comment-27172" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/28/pluginplugin-team-stats/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-27172", "27172", "respond", "124")">Reply</a> </span> </span> </h4> <div id="commentcontent-27172" class="commentcontent"><p>What about plugin ratings? Across all the teams plugins it could average the ratings or show the best rated plugin. Most reviews. </p> <p>Number of updates would be useful too (and/or frequency of updates), then you know if the plugin is tried and true or just went from 1.0 to 3.0.</p> </div> </li> <li id="comment-27985" class="comment byuser comment-author-rielf even thread-odd thread-alt depth-1"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://1.gravatar.com/avatar/b8677d2f3fe258d78962262f7a23dc0c?s=32&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://locosdefutbol.es/" rel="external nofollow" class="url">rielf</a> <span class="meta"> <abbr title="2013-01-20T19:07:54Z">7:07 pm <em>on</em> January 20, 2013</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/28/pluginplugin-team-stats/#comment-27985" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/28/pluginplugin-team-stats/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-27985", "27985", "respond", "124")">Reply</a> </span> </span> </h4> <div id="commentcontent-27985" class="commentcontent"><p>Where i can denounce a SCAM Pluguin?</p> <p>“Google adsense plugin” is scam….</p> <p>1: His donation system don t respect the google adsense terms and conditions and any google adsense account can be baned</p> <p>2: I insert my PUB correctly and all adds are from the pluguins programers.</p> <p>3: I setup de donation sistem in 0% and they are stealing my adds space whitout pay me.</p> <p>__________________________________________________________________<br/> And i want to say that this pluguin is the worst adsense pluguin i never sawed, his configuration are simply ridicolous and you only can put the adds in the post….</p> </div> <ul class="children"> <li id="comment-28056" class="comment byuser comment-author-coffee2code odd alt depth-2"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://1.gravatar.com/avatar/5af525fba95b93c4e0c8a03b639c9486?s=32&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://coffee2code.com/" rel="external nofollow" class="url">Scott Reilly</a> <span class="meta"> <abbr title="2013-01-21T17:03:41Z">5:03 pm <em>on</em> January 21, 2013</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/28/pluginplugin-team-stats/#comment-28056" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/28/pluginplugin-team-stats/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-28056", "28056", "respond", "124")">Reply</a> </span> </span> </h4> <div id="commentcontent-28056" class="commentcontent"><p>You should email plugins@wordpress.org to report abuse or spams/scams by plugins. Please include a direct link to the plugin’s page in the Plugin Directory so we know precisely which plugin you’re referring to.</p> </div> </li> </ul> </li> </ul> <div class="respond-wrap" style="display: none; "> <div id="respond"> <h3 id="reply-title">Reply <small><a rel="nofollow" id="cancel-comment-reply-link" href="/web/20130124095632/http://make.wordpress.org/plugins/#respond" style="display:none;">Cancel reply</a></small></h3> <form action="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/wp-comments-post.php" method="post" id="commentform"> <p class="comment-notes"> Required fields are marked <span class="required">*</span></p> <p class="comment-form-author"><label for="author">Name <span class="required">*</span></label> <input id="author" name="author" type="text" value="" size="30" aria-required="true"/></p> <p class="comment-form-email"><label for="email">Email <span class="required">*</span></label> <input id="email" name="email" type="text" value="" size="30" aria-required="true"/></p> <p class="comment-form-url"><label for="url">Website</label><input id="url" name="url" type="text" value="" size="30"/></p> <div class="form"><textarea id="comment" class="expand50-100" name="comment" cols="45" rows="3"></textarea></div> <label class="post-error" for="comment" id="commenttext_error"></label> <span class="progress spinner-comment-new"></span> <p class="form-submit"> <input name="submit" type="submit" id="comment-submit" value="Reply"/> <input type="hidden" name="comment_post_ID" value="124" id="comment_post_ID"/> <input type="hidden" name="comment_parent" id="comment_parent" value="0"/> </p> <p style="display: none;"><input type="hidden" id="akismet_comment_nonce" name="akismet_comment_nonce" value="89f9d006b4"/></p><p class="comment-subscription-form"><input type="checkbox" name="subscribe_comments" id="subscribe_comments" value="subscribe" style="width: auto; -moz-appearance: checkbox; -webkit-appearance: checkbox;"/> <label class="subscribe-label" id="subscribe-label" for="subscribe_comments">Notify me of follow-up comments by email.</label></p><p class="comment-subscription-form"><input type="checkbox" name="subscribe_blog" id="subscribe_blog" value="subscribe" style="width: auto; -moz-appearance: checkbox; -webkit-appearance: checkbox;"/> <label class="subscribe-label" id="subscribe-blog-label" for="subscribe_blog">Notify me of new posts by email.</label></p> </form> </div><!-- #respond --> </div></li> <li id="prologue-122" class="post-122 post type-post status-publish format-standard hentry category-uncategorized tag-team-reps"> <a href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/author/jenmylo/" title="Posts by Jen Mylo ( @jenmylo )" class="post-avatar"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/84987b436214f52ec0b04cd1f8a73c3c?s=48&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D48&r=G" class="avatar avatar-48 photo" height="48" width="48"/> </a> <h4> <a href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/author/jenmylo/" title="Posts by Jen Mylo ( @jenmylo )">Jen Mylo</a> <span class="meta"> <abbr title="2012-12-24T13:28:32Z">1:28 pm <em>on</em> December 24, 2012</abbr> <span class="actions"> <a href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/24/team-rep-results/" class="thepermalink" title="Permalink">Permalink</a> | <a rel="nofollow" title="Reply" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/24/team-rep-results/#respond" onclick="return addComment.moveForm("comments-122", "0", "respond", "122")">Reply</a> </span> <span class="tags"> <br/>Tags: <a href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/tag/team-reps/" rel="tag">team reps ( 2 )</a> </span> </span> </h4> <div id="content-122" class="postcontent"> <h2><a href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/24/team-rep-results/">Team Rep Results </a></h2><p>9 people voted. Results: Scott Reilly as first lead, Pippin Williamson as second lead. New team rep terms starts with the new year, so I’ll get in touch with you guys to make sure everyone is on the same page re expectations. Congratulations, and thanks for your willingness to serve!</p> </div> <div class="discussion" style="display: none"> <p> <a href="https://web.archive.org/web/20130124095632/http://wpdaily.co/team-reps-for-2013/" rel="external nofollow" class="url">Your WordPress Team Reps for 2013 - WP Daily</a>, <img alt="" src="https://web.archive.org/web/20130124095632im_/http://1.gravatar.com/avatar/5af525fba95b93c4e0c8a03b639c9486?s=16&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D16&r=G" class="avatar avatar-16 photo" height="16" width="16"/> <a href="https://web.archive.org/web/20130124095632/http://coffee2code.com/" rel="external nofollow" class="url">Scott Reilly</a>, <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/67a5d7147ad4d635f04e0a712ccd0f8e?s=16&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D16&r=G" class="avatar avatar-16 photo" height="16" width="16"/> <a href="https://web.archive.org/web/20130124095632/http://topwebsiteservice.info/" rel="external nofollow" class="url">Ake</a>, and 2 others are discussing. <a href="#" class="show-comments">Toggle Comments</a> </p> </div> <div class="bottom-of-entry"> </div> <ul id="comments-122" class="commentlist inlinecomments"> <li id="comment-26320" class="comment even thread-even depth-1"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://1.gravatar.com/avatar/9ac41a1b2f8d00cf4c3f3a69d647cd5a?s=32&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://www.shaikhsalman.net/" rel="external nofollow" class="url">Shaikh Salman</a> <span class="meta"> <abbr title="2012-12-24T13:38:23Z">1:38 pm <em>on</em> December 24, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/24/team-rep-results/#comment-26320" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/24/team-rep-results/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-26320", "26320", "respond", "122")">Reply</a> </span> </span> </h4> <div id="commentcontent-26320" class="commentcontent"><p>I’m happy to step up. I’m intrested it</p> </div> <ul class="children"> <li id="comment-26322" class="comment byuser comment-author-jenmylo bypostauthor odd alt depth-2"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/84987b436214f52ec0b04cd1f8a73c3c?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://profiles.wordpress.org/users/jane/" rel="external nofollow" class="url">Jane Wells</a> <span class="meta"> <abbr title="2012-12-24T13:39:31Z">1:39 pm <em>on</em> December 24, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/24/team-rep-results/#comment-26322" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/24/team-rep-results/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-26322", "26322", "respond", "122")">Reply</a> </span> </span> </h4> <div id="commentcontent-26322" class="commentcontent"><p>Sorry, the voting has already closed.</p> </div> <ul class="children"> <li id="comment-26324" class="comment even depth-3"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://1.gravatar.com/avatar/9ac41a1b2f8d00cf4c3f3a69d647cd5a?s=32&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://www.shaikhsalman.net/" rel="external nofollow" class="url">Shaikh Salman</a> <span class="meta"> <abbr title="2012-12-24T13:42:06Z">1:42 pm <em>on</em> December 24, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/24/team-rep-results/#comment-26324" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/24/team-rep-results/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-26324", "26324", "respond", "122")">Reply</a> </span> </span> </h4> <div id="commentcontent-26324" class="commentcontent"><p>hmmmm! it’s very fast voting. good</p> </div> <ul class="children"> <li id="comment-26325" class="comment byuser comment-author-jenmylo bypostauthor odd alt depth-4"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/84987b436214f52ec0b04cd1f8a73c3c?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://profiles.wordpress.org/users/jane/" rel="external nofollow" class="url">Jane Wells</a> <span class="meta"> <abbr title="2012-12-24T13:50:33Z">1:50 pm <em>on</em> December 24, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/24/team-rep-results/#comment-26325" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/24/team-rep-results/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-26325", "26325", "respond", "122")">Reply</a> </span> </span> </h4> <div id="commentcontent-26325" class="commentcontent"><p>Voting was announced, including the closing dates, back on December 9: <a href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/09/team-rep-voting/" rel="nofollow">http://make.wordpress.org/plugins/2012/12/09/team-rep-voting/</a></p> </div> </li> </ul> </li> </ul> </li> </ul> </li> <li id="comment-26334" class="comment even thread-odd thread-alt depth-1"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/67a5d7147ad4d635f04e0a712ccd0f8e?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://topwebsiteservice.info/" rel="external nofollow" class="url">Ake</a> <span class="meta"> <abbr title="2012-12-24T15:16:05Z">3:16 pm <em>on</em> December 24, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/24/team-rep-results/#comment-26334" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/24/team-rep-results/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-26334", "26334", "respond", "122")">Reply</a> </span> </span> </h4> <div id="commentcontent-26334" class="commentcontent"><p>i dident no you have a copetichen inside WordPress,but its only to congrat the happy whans.A.j</p> </div> </li> <li id="comment-26397" class="comment byuser comment-author-coffee2code odd alt thread-even depth-1"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://1.gravatar.com/avatar/5af525fba95b93c4e0c8a03b639c9486?s=32&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://coffee2code.com/" rel="external nofollow" class="url">Scott Reilly</a> <span class="meta"> <abbr title="2012-12-25T07:33:44Z">7:33 am <em>on</em> December 25, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/24/team-rep-results/#comment-26397" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/24/team-rep-results/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-26397", "26397", "respond", "122")">Reply</a> </span> </span> </h4> <div id="commentcontent-26397" class="commentcontent"><p>Happy to serve once again!</p> </div> </li> </li> </li> </ul> </li> <li id="prologue-113" class="post-113 post type-post status-publish format-standard hentry category-policy tag-gpl tag-licensing"> <a href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/author/ipstenu/" title="Posts by Ipstenu (Mika Epstein) ( @ipstenu )" class="post-avatar"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/abfd4ff9c24957f1a9f0435e23de1f73?s=48&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D48&r=G" class="avatar avatar-48 photo" height="48" width="48"/> </a> <h4> <a href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/author/ipstenu/" title="Posts by Ipstenu (Mika Epstein) ( @ipstenu )">Ipstenu (Mika Epstein)</a> <span class="meta"> <abbr title="2012-12-20T17:31:24Z">5:31 pm <em>on</em> December 20, 2012</abbr> <span class="actions"> <a href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/20/gpl-and-the-repository/" class="thepermalink" title="Permalink">Permalink</a> | <a rel="nofollow" title="Reply" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/20/gpl-and-the-repository/#respond" onclick="return addComment.moveForm("comments-113", "0", "respond", "113")">Reply</a> </span> <span class="tags"> <br/>Tags: gpl, <a href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/tag/licensing/" rel="tag">licensing ( 2 )</a> </span> </span> </h4> <div id="content-113" class="postcontent"> <h2><a href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/20/gpl-and-the-repository/">GPL and the Repository </a></h2><p>All plugins hosted in the WordPress.org repository must be compatible with GPLv2 or later. That means all code that is on our servers, from images to CSS to JS to the PHP code, has to meet that requirement. This is an extra requirement than just the standard one of derivative code, but we strongly feel that proprietary content has no need to be in our repository. If your code needs to be split licensed, or you have to included proprietary code for any reason, we can’t host you on .org, but that has no bearing on how neat and cool your code might be.</p> <p>For a list of various licenses, and their compatibility with GPLv2 please read this: <a href="https://web.archive.org/web/20130124095632/http://www.gnu.org/licenses/license-list.html" rel="nofollow">http://www.gnu.org/licenses/license-list.html</a> – We know not all of you are lawyers, and thankfully that list makes it easy to check what licenses do and don’t mesh. If something doesn’t have a license, ask the author please, and don’t assume.</p> <p>The following code bases are popular (which is to say we see submissions with them pretty regularly), but at the time of this post, are not licensed GPL-compatible. None of this means you can’t or shouldn’t use this code on your sites or plugins, just that we can’t host it <em>here</em> if you do.</p> <ul> <li><a href="https://web.archive.org/web/20130124095632/http://www.adobe.com/products/air/runtime-distribution1.html">Adobe Air</a></li> <li><a href="https://web.archive.org/web/20130124095632/http://www.fancyapps.com/fancybox/#license">FancyBox v2 or later</a></li> <li><a href="https://web.archive.org/web/20130124095632/http://fancyzoom.com/">FancyZoom</a></li> <li><a href="https://web.archive.org/web/20130124095632/http://fortawesome.github.com/Font-Awesome/">Font Awesome</a> (<strong>Edit</strong>: Version 3.0 of this is now compatible)</li> <li><a href="https://web.archive.org/web/20130124095632/http://flv-player.net/players/maxi/license/">FLV Player</a></li> <li><a href="https://web.archive.org/web/20130124095632/http://shop.highsoft.com/highcharts.html" rel="nofollow">Highcharts</a></li> <li><a href="https://web.archive.org/web/20130124095632/http://highslide.com/">Highslide</a></li> <li><a href="https://web.archive.org/web/20130124095632/http://www.codebasehero.com/2011/06/html-music-player/">HTML 5 Music Player (Code Base Hero)</a> (only pre version 1.0.1 – <a href="https://web.archive.org/web/20130124095632/http://www.codebasehero.com/2011/07/html5-music-player-updated/">you can use this version</a>)</li> <li><a href="https://web.archive.org/web/20130124095632/http://imageflow.finnrudolph.de/">Imageflow</a></li> <li><a href="https://web.archive.org/web/20130124095632/http://isotope.metafizzy.co/docs/license.html">Isotope</a></li> <li><a href="https://web.archive.org/web/20130124095632/http://jpgraph.net/download/">JpGraph</a></li> <li><a href="https://web.archive.org/web/20130124095632/http://leandrovieira.com/projects/jquery/lightbox/" rel="nofollow">jquery Lightbox</a></li> <li><a href="https://web.archive.org/web/20130124095632/http://lokeshdhakar.com/projects/lightbox2/">LightBox2</a></li> <li><a href="https://web.archive.org/web/20130124095632/http://www.magictoolbox.com/license/">MagicToolbox</a></li> </ul> <p>If there are plugins you find using these (or any non-GPL-Compatible) code bases in their plugin, please <strong>email plugins AT wordpress.org</strong> and we’ll get in touch with the developer. If you’re the author of one of those code bases, please consider re-releasing your code under a GPLv2 Compatible license! We’d love to be able to host your work here.</p> </div> <div class="discussion" style="display: none"> <p> <a href="https://web.archive.org/web/20130124095632/http://wpdaily.co/roundup-1/" rel="external nofollow" class="url">The WordPress Weekend Roundup - WP Daily</a>, <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/84987b436214f52ec0b04cd1f8a73c3c?s=16&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D16&r=G" class="avatar avatar-16 photo" height="16" width="16"/> <a href="https://web.archive.org/web/20130124095632/http://profiles.wordpress.org/users/jane/" rel="external nofollow" class="url">Jane Wells</a>, <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/ec03c4a1531569658b0eed7b155c4053?s=16&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D16&r=G" class="avatar avatar-16 photo" height="16" width="16"/> Fabien, and 5 others are discussing. <a href="#" class="show-comments">Toggle Comments</a> </p> </div> <div class="bottom-of-entry"> </div> <ul id="comments-113" class="commentlist inlinecomments"> <li id="comment-25839" class="comment byuser comment-author-mikeschinkel even thread-even depth-1"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/81df87e0d3e269d6fa6a17c6914fd656?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://profiles.wordpress.org/users/MikeSchinkel/" rel="external nofollow" class="url">Mike Schinkel</a> <span class="meta"> <abbr title="2012-12-20T17:44:57Z">5:44 pm <em>on</em> December 20, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/20/gpl-and-the-repository/#comment-25839" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/20/gpl-and-the-repository/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-25839", "25839", "respond", "113")">Reply</a> </span> </span> </h4> <div id="commentcontent-25839" class="commentcontent"><p>Great points <a href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/mentions/ipstenu/" class="mention">@ipstenu</a>. </p> <p>It would be helpful if you could explicitly clarify something though. In some cases the required functionality is really only available via commercially licensed software; I’m working on just such a plugin right now. I assume that it’s acceptable to publish a GPLv2+ licensed plugin that requires the commercially licensed software as a library but that puts the onus on the user to acquire a copy of said commercially licensed software? Thanks in advance.</p> <p>-Mike</p> </div> <ul class="children"> <li id="comment-25855" class="comment byuser comment-author-ipstenu bypostauthor odd alt depth-2"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/abfd4ff9c24957f1a9f0435e23de1f73?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://halfelf.org/" rel="external nofollow" class="url">Ipstenu (Mika Epstein)</a> <span class="meta"> <abbr title="2012-12-20T18:17:38Z">6:17 pm <em>on</em> December 20, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/20/gpl-and-the-repository/#comment-25855" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/20/gpl-and-the-repository/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-25855", "25855", "respond", "113")">Reply</a> </span> </span> </h4> <div id="commentcontent-25855" class="commentcontent"><p>Mike – That’s a real sticky situation, and we try to judge each one individually. If the entire purpose of the plugin requires you to download non GPL software, we probably won’t approve it. But if some additional functionality requires it (like Viper’s Video Quicktags says you have to download FLV if you want to use that), it’s okay.</p> </div> <ul class="children"> <li id="comment-25868" class="comment byuser comment-author-mikeschinkel even depth-3"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/81df87e0d3e269d6fa6a17c6914fd656?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://profiles.wordpress.org/users/MikeSchinkel/" rel="external nofollow" class="url">Mike Schinkel</a> <span class="meta"> <abbr title="2012-12-20T20:04:21Z">8:04 pm <em>on</em> December 20, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/20/gpl-and-the-repository/#comment-25868" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/20/gpl-and-the-repository/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-25868", "25868", "respond", "113")">Reply</a> </span> </span> </h4> <div id="commentcontent-25868" class="commentcontent"><p>Really? Not what I expected to hear.</p> <p>I have an Export Post Content to MS Word plugin I’m working on for a client and it requires PHPDOCX and I have been thinking it would be nice to package it up and put in the plugin repository for those who need MS Word export.</p> <p>P.S. Of course I guess I could limit the functionality significantly and bundle their LGPLversion but that’s take recoding work and I might not get to it anytime soon.</p> </div> <ul class="children"> <li id="comment-25870" class="comment byuser comment-author-ipstenu bypostauthor odd alt depth-4"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/abfd4ff9c24957f1a9f0435e23de1f73?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://halfelf.org/" rel="external nofollow" class="url">Ipstenu (Mika Epstein)</a> <span class="meta"> <abbr title="2012-12-20T20:20:37Z">8:20 pm <em>on</em> December 20, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/20/gpl-and-the-repository/#comment-25870" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/20/gpl-and-the-repository/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-25870", "25870", "respond", "113")">Reply</a> </span> </span> </h4> <div id="commentcontent-25870" class="commentcontent"><p>I did say probably. It’s a lot of case-by-case, but we’re trying to avoid situations where you download plugins that outright <em>don’t</em> work, because you have to install other stuff. (Obvious exceptions would be bridge software, that connects WP to other apps.)</p> </div> <ul class="children"> <li id="comment-26316" class="comment byuser comment-author-jenmylo even depth-5"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/84987b436214f52ec0b04cd1f8a73c3c?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://profiles.wordpress.org/users/jane/" rel="external nofollow" class="url">Jane Wells</a> <span class="meta"> <abbr title="2012-12-24T13:27:27Z">1:27 pm <em>on</em> December 24, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/20/gpl-and-the-repository/#comment-26316" title="Permalink">Permalink</a> </span> </span> </h4> <div id="commentcontent-26316" class="commentcontent"><blockquote><p> we’re trying to avoid situations where you download plugins that outright don’t work</p></blockquote> <p>+1</p> </div> </li> </ul> </li> </ul> </li> </ul> </li> </ul> </li> <li id="comment-25840" class="comment byuser comment-author-charlestonsw odd alt thread-odd thread-alt depth-1"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/2fd3ef87c973ca9790c4bcebbe5b6c0b?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://www.charlestonsw.com/" rel="external nofollow" class="url">Charleston Software Associates</a> <span class="meta"> <abbr title="2012-12-20T17:46:46Z">5:46 pm <em>on</em> December 20, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/20/gpl-and-the-repository/#comment-25840" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/20/gpl-and-the-repository/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-25840", "25840", "respond", "113")">Reply</a> </span> </span> </h4> <div id="commentcontent-25840" class="commentcontent"><p>jQuery Lightbox? There are a ton of plugins I’ve used for client sites that include that script. </p> <p>Does this mean if a plugin sources the script from another source, like Google Code for example, it still is not GPL compliant? For example, the files bundled with the plugin do not contain the actual jQuery Lightbox code but simply a for example?</p> <p>I don’t think any of my plugins are doing this but good to know what the nuances are. Especially since I’m planning a WordPress driven streaming radio plugin + companion client plugin and considered some of the very items you have on this list!</p> </div> <ul class="children"> <li id="comment-25843" class="comment byuser comment-author-charlestonsw even depth-2"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/2fd3ef87c973ca9790c4bcebbe5b6c0b?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://www.charlestonsw.com/" rel="external nofollow" class="url">Charleston Software Associates</a> <span class="meta"> <abbr title="2012-12-20T17:48:05Z">5:48 pm <em>on</em> December 20, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/20/gpl-and-the-repository/#comment-25843" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/20/gpl-and-the-repository/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-25843", "25843", "respond", "113")">Reply</a> </span> </span> </h4> <div id="commentcontent-25843" class="commentcontent"><p>Keep forgetting my code block on comments! </p> <ul> <li>but simply use an a href = “..otherURL/jqlightbox.js” for example</li> </ul> </div> </li> <li id="comment-25856" class="comment byuser comment-author-ipstenu bypostauthor odd alt depth-2"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/abfd4ff9c24957f1a9f0435e23de1f73?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://halfelf.org/" rel="external nofollow" class="url">Ipstenu (Mika Epstein)</a> <span class="meta"> <abbr title="2012-12-20T18:19:19Z">6:19 pm <em>on</em> December 20, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/20/gpl-and-the-repository/#comment-25856" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/20/gpl-and-the-repository/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-25856", "25856", "respond", "113")">Reply</a> </span> </span> </h4> <div id="commentcontent-25856" class="commentcontent"><p>Read the URL we linked to. Says pretty clearly </p> <p>“This work is licensed under a Creative Commons Attribution-Share Alike 2.5 Brazil License.”</p> <p>That’s not compatible. However remember this rule is <em>only</em> to be hosted on .org. We’re not talking about using for clients, just in plugins we host for you <img src="https://web.archive.org/web/20130124095632im_/http://make.wordpress.org/plugins/wp-includes/images/smilies/icon_smile.gif" alt=":)" class="wp-smiley"/> Does that make sense?</p> <p>Edit: As long as the code ins’t included in the plugin we have on .org, it’s okay. We do discourage telling people to download it from external sources (see Mike’s comment above you), but we take them case-by-case.</p> </div> <ul class="children"> <li id="comment-25859" class="comment byuser comment-author-charlestonsw even depth-3"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/2fd3ef87c973ca9790c4bcebbe5b6c0b?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://www.charlestonsw.com/" rel="external nofollow" class="url">Charleston Software Associates</a> <span class="meta"> <abbr title="2012-12-20T19:11:19Z">7:11 pm <em>on</em> December 20, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/20/gpl-and-the-repository/#comment-25859" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/20/gpl-and-the-repository/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-25859", "25859", "respond", "113")">Reply</a> </span> </span> </h4> <div id="commentcontent-25859" class="commentcontent"><p>@Ipsentnu – Thanks Mika, I get it. I meant that I’m using plugins found on the .org directory that contain jQuery Lightbox scripts IN the trunk svn repo hosted on the .org site. Many of those (see related comments) are carrying along scripts that specifically cite licenses that are NOT GPLv2 compatible, like the jQuery Lightbox script you reference in the original post.</p> <p>Now that those client sites are deployed I’m not so interested in that SPECIFIC issue. However my media streaming system will require pieces that are not readily available in GPLv2 format. I guess, based on your response to Mike, that I’ll have to find a way to marginalize those pieces and keep them out of the repo.</p> <p>Is it OK to say “if you want to use feature X” you will need to download “Y”? In my case I’d need a creative way to get the FLV player installed for the client listener. Thinking out loud here… Maybe hooks + filters that look for a “ride along” plugin that simply extends the feature set with “FLV fallback for non-HTML5 browsers”.</p> <p>Sorry for all the posts. I’m working on a big project and was planning on using WordPress as a key piece for the backend & front-end UI elements. Fully understanding this is kind of important before development starts in earnest next month. </p> <ul> <li>Lance</li> </ul> </div> <ul class="children"> <li id="comment-25865" class="comment byuser comment-author-ipstenu bypostauthor odd alt depth-4"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/abfd4ff9c24957f1a9f0435e23de1f73?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://halfelf.org/" rel="external nofollow" class="url">Ipstenu (Mika Epstein)</a> <span class="meta"> <abbr title="2012-12-20T19:41:27Z">7:41 pm <em>on</em> December 20, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/20/gpl-and-the-repository/#comment-25865" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/20/gpl-and-the-repository/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-25865", "25865", "respond", "113")">Reply</a> </span> </span> </h4> <div id="commentcontent-25865" class="commentcontent"><p>The answer is ‘maybe.’</p> <p>If the entire use of your plugin hinges on non GPL code, then probably not. If it’s just an extra feature, then probably yes.</p> <p>And like I said, if you see plugins in the .org repo that are using those specific versions of the code (check the links, lots of people use the same names), then please email us <img src="https://web.archive.org/web/20130124095632im_/http://make.wordpress.org/plugins/wp-includes/images/smilies/icon_smile.gif" alt=":)" class="wp-smiley"/> </p> </div> </li> </ul> </li> </ul> </li> <li id="comment-25857" class="comment byuser comment-author-charlestonsw even depth-2"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/2fd3ef87c973ca9790c4bcebbe5b6c0b?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://www.charlestonsw.com/" rel="external nofollow" class="url">Charleston Software Associates</a> <span class="meta"> <abbr title="2012-12-20T18:53:34Z">6:53 pm <em>on</em> December 20, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/20/gpl-and-the-repository/#comment-25857" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/20/gpl-and-the-repository/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-25857", "25857", "respond", "113")">Reply</a> </span> </span> </h4> <div id="commentcontent-25857" class="commentcontent"><p>Lets try some examples just so I am really clear on this. I’d hate to put a lot of time into a plugin and have it not listed here after months of work because of a license conflict.</p> <p>This plugin (a fairly popular one) has a modified port of jQuery Lightbox:<br/> <a href="https://web.archive.org/web/20130124095632/http://wordpress.org/extend/plugins/wp-jquery-lightbox/" rel="nofollow">http://wordpress.org/extend/plugins/wp-jquery-lightbox/</a></p> <p>The modified port is itself questionable because it does not retain the original license but instead says “BSD license for details refer to license.txt” (license.txt is missing, BTW which is ANOTHER subtle but important point about software licenses, I’ll leave that discussion for later). The Gnu link provided makes it sound like Original BSD is NOT compatible with GPL only “Modified BSD” or “3-Clause BSD” is compatible.</p> <p>This can/will get confusing in a hurry. Maybe WordPress should host a list of known licenses that will not be accepted and post it somewhere near the plugin authors/submission page. The Gnu list is a great start but could be made easier to follow for non-legalish people like myself.</p> <ul> <li>Lance</li> </ul> </div> <ul class="children"> <li id="comment-25861" class="comment byuser comment-author-otto42 odd alt depth-3"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/0994d5e2e158a24ba8017c2525d78263?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://profiles.wordpress.org/otto42/" rel="external nofollow" class="url">Samuel Wood (Otto)</a> <span class="meta"> <abbr title="2012-12-20T19:11:31Z">7:11 pm <em>on</em> December 20, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/20/gpl-and-the-repository/#comment-25861" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/20/gpl-and-the-repository/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-25861", "25861", "respond", "113")">Reply</a> </span> </span> </h4> <div id="commentcontent-25861" class="commentcontent"><p>There is more than one project named “jQuery Lightbox”, because “Lightbox” itself was quite popular and spawned more than one imitator. Some of these imitators are compatible, some are not. The one you linked to is compatible. The one Mika linked to is not.</p> <p>Regarding “BSD”: nobody uses the “original BSD” license, pretty much ever. When somebody says “BSD-licensed”, it’s an almost 100% certain bet that they are referring to the modified BSD license. I have *never* seen a use of the original BSD license, ever.</p> <p>WordPress has no plans to make any sort of list of which licenses are acceptable or not, because we don’t have to. That list on gnu.org is fairly extensive and covers the vast majority of licenses out there. Any others we can evaluate on a case by case basis.</p> </div> </li> </ul> </li> <li id="comment-25858" class="comment byuser comment-author-charlestonsw even depth-2"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/2fd3ef87c973ca9790c4bcebbe5b6c0b?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://www.charlestonsw.com/" rel="external nofollow" class="url">Charleston Software Associates</a> <span class="meta"> <abbr title="2012-12-20T19:00:16Z">7:00 pm <em>on</em> December 20, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/20/gpl-and-the-repository/#comment-25858" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/20/gpl-and-the-repository/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-25858", "25858", "respond", "113")">Reply</a> </span> </span> </h4> <div id="commentcontent-25858" class="commentcontent"><p>Here is another one… as noted, this gets confusing in a hurry…</p> <p><a href="https://web.archive.org/web/20130124095632/http://wordpress.org/extend/plugins/jquery-lightbox-balupton-edition/" rel="nofollow">http://wordpress.org/extend/plugins/jquery-lightbox-balupton-edition/</a></p> <p>This plugin clearly cites AGPL version 3.<br/> <a href="https://web.archive.org/web/20130124095632/http://plugins.trac.wordpress.org/browser/jquery-lightbox-balupton-edition/trunk/scripts/jquery.lightbox.js#L28" rel="nofollow">http://plugins.trac.wordpress.org/browser/jquery-lightbox-balupton-edition/trunk/scripts/jquery.lightbox.js#L28</a></p> <p>AGPL v3 *is* GPL compatible, but here is the catch, it is specifically NOT GPLv2 compatible, thus the entire plugin is considering “not GPLv2″ compatible.<br/> <a href="https://web.archive.org/web/20130124095632/http://www.gnu.org/licenses/license-list.html#AGPLv3.0" rel="nofollow">http://www.gnu.org/licenses/license-list.html#AGPLv3.0</a></p> <p>Am I understanding this correctly?</p> </div> <ul class="children"> <li id="comment-25866" class="comment byuser comment-author-ipstenu bypostauthor odd alt depth-3"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/abfd4ff9c24957f1a9f0435e23de1f73?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://halfelf.org/" rel="external nofollow" class="url">Ipstenu (Mika Epstein)</a> <span class="meta"> <abbr title="2012-12-20T19:45:05Z">7:45 pm <em>on</em> December 20, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/20/gpl-and-the-repository/#comment-25866" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/20/gpl-and-the-repository/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-25866", "25866", "respond", "113")">Reply</a> </span> </span> </h4> <div id="commentcontent-25866" class="commentcontent"><p>Do me a huge favor. Take a deep breath <img src="https://web.archive.org/web/20130124095632im_/http://make.wordpress.org/plugins/wp-includes/images/smilies/icon_smile.gif" alt=":)" class="wp-smiley"/> You sound like you’re panicking here, and there’s no need to. We’re not making cancer fighting tools here, just code. All this can be fixed and sorted out, if we all stay calm and take our time.</p> <p>AGPL is messy. We’ll have to look into that one closely. I don’t have an answer for you right now.</p> <p>And note: GPLv2 <em>or later</em>. GPLv3 is okay.</p> <p><em>Edit: Actually he can just upgrade to the MIT version of the code – <a href="https://web.archive.org/web/20130124095632/https://github.com/balupton/jquery-lightbox" rel="nofollow">https://github.com/balupton/jquery-lightbox</a> – I’ll email him.</em></p> </div> <ul class="children"> <li id="comment-25871" class="comment byuser comment-author-charlestonsw even depth-4"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/2fd3ef87c973ca9790c4bcebbe5b6c0b?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://www.charlestonsw.com/" rel="external nofollow" class="url">Charleston Software Associates</a> <span class="meta"> <abbr title="2012-12-20T20:36:13Z">8:36 pm <em>on</em> December 20, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/20/gpl-and-the-repository/#comment-25871" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/20/gpl-and-the-repository/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-25871", "25871", "respond", "113")">Reply</a> </span> </span> </h4> <div id="commentcontent-25871" class="commentcontent"><p>Thanks Mika. Not panicked, just trying to get clarification with some examples for reference.</p> <p>Another company I worked with had plugin listings pulled from .org for non-compliance. Related premium add-on sales went from $250/day to $0 instantaneously. Before I put months of effort into my new project I want to make sure I do all I can to maintain a good relationship with .org. </p> <p>It is 100% clear now. There may be some gray area that will be evaluated on a case-by-case basis. In over-simplified terms, don’t use the directory as a “free advert” for non-GPLv2 stuff.</p> </div> </li> </ul> </li> </ul> </li> </ul> </li> <li id="comment-25901" class="comment byuser comment-author-toscho odd alt thread-even depth-1"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/e2fe56c959752e5a5b6e2635fa9fb0d1?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://profiles.wordpress.org/users/toscho/" rel="external nofollow" class="url">toscho</a> <span class="meta"> <abbr title="2012-12-21T02:47:34Z">2:47 am <em>on</em> December 21, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/20/gpl-and-the-repository/#comment-25901" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/20/gpl-and-the-repository/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-25901", "25901", "respond", "113")">Reply</a> </span> </span> </h4> <div id="commentcontent-25901" class="commentcontent"><p>Please close the last link. <img src="https://web.archive.org/web/20130124095632im_/http://make.wordpress.org/plugins/wp-includes/images/smilies/icon_smile.gif" alt=":)" class="wp-smiley"/> </p> </div> <ul class="children"> <li id="comment-25906" class="comment byuser comment-author-ipstenu bypostauthor even depth-2"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/abfd4ff9c24957f1a9f0435e23de1f73?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://halfelf.org/" rel="external nofollow" class="url">Ipstenu (Mika Epstein)</a> <span class="meta"> <abbr title="2012-12-21T03:54:04Z">3:54 am <em>on</em> December 21, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/20/gpl-and-the-repository/#comment-25906" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/20/gpl-and-the-repository/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-25906", "25906", "respond", "113")">Reply</a> </span> </span> </h4> <div id="commentcontent-25906" class="commentcontent"><p>Whoops! Thanks <img src="https://web.archive.org/web/20130124095632im_/http://make.wordpress.org/plugins/wp-includes/images/smilies/icon_smile.gif" alt=":)" class="wp-smiley"/> </p> </div> </li> </ul> </li> <li id="comment-25935" class="comment odd alt thread-odd thread-alt depth-1"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/ec03c4a1531569658b0eed7b155c4053?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> Fabien <span class="meta"> <abbr title="2012-12-21T11:44:31Z">11:44 am <em>on</em> December 21, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/20/gpl-and-the-repository/#comment-25935" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/20/gpl-and-the-repository/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-25935", "25935", "respond", "113")">Reply</a> </span> </span> </h4> <div id="commentcontent-25935" class="commentcontent"><p>Many thanks to you for what you are doing for the free software community ! Long live the GPL !</p> </div> </li> </li> </li> </ul> </li> <li id="prologue-108" class="post-108 post type-post status-publish format-standard hentry category-uncategorized tag-team-reps"> <a href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/author/jenmylo/" title="Posts by Jen Mylo ( @jenmylo )" class="post-avatar"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/84987b436214f52ec0b04cd1f8a73c3c?s=48&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D48&r=G" class="avatar avatar-48 photo" height="48" width="48"/> </a> <h4> <a href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/author/jenmylo/" title="Posts by Jen Mylo ( @jenmylo )">Jen Mylo</a> <span class="meta"> <abbr title="2012-12-09T14:34:00Z">2:34 pm <em>on</em> December 9, 2012</abbr> <span class="actions"> <a href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/09/team-rep-voting/" class="thepermalink" title="Permalink">Permalink</a> | <a rel="nofollow" title="Reply" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/09/team-rep-voting/#respond" onclick="return addComment.moveForm("comments-108", "0", "respond", "108")">Reply</a> </span> <span class="tags"> <br/>Tags: <a href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/tag/team-reps/" rel="tag">team reps ( 2 )</a> </span> </span> </h4> <div id="content-108" class="postcontent"> <h2><a href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/09/team-rep-voting/">Team Rep Voting </a></h2><p>Time to vote for team reps again! If you haven’t seen the spiel on one of the other team blogs about how team reps/voting/terms work, the longer explanation is after the jump. tl;dr version: time to elect reps for the first half of 2013. This past time it was Mark Riley and Scott Reilly, but since then Mark has stepped back from heavy involvement with plugins so you need at least one new rep.</p> <p>Note: It can’t be folks who are already the team reps for other teams, and it should be folks who want to the responsibility (mostly posting weekly updates on team activity to the weekly updates blog). Since there are some newer members of this group it might be nice for one of them to level up and learn the ropes from Scott? Up to you guys. Anyone interested in being a plugin team rep should leave a comment saying as much so people know who they can/should vote for. Voting is open until December 15, and results will be posted here once voting closes.</p> <p><a href="https://web.archive.org/web/20130124095632/http://wordpressdotorg.polldaddy.com/s/team-rep-vote-plugins-team">Vote for Plugin Team Reps</a></p> <p> <a href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/09/team-rep-voting/#more-108" class="more-link">(More …)</a></p> </div> <div class="discussion" style="display: none"> <p> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/edcaf8a5c1dc7c741113d772e767bfc2?s=16&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D16&r=G" class="avatar avatar-16 photo" height="16" width="16"/> <a href="https://web.archive.org/web/20130124095632/http://pippinsplugins.com/" rel="external nofollow" class="url">mordauk</a>, <a href="https://web.archive.org/web/20130124095632/http://wpdaily.co/voting-core-reps-2013/" rel="external nofollow" class="url">It's That Time Again: Voting for Core Team Reps - WP Daily</a>, <img alt="" src="https://web.archive.org/web/20130124095632im_/http://1.gravatar.com/avatar/9cf7c4541a582729a5fc7ae484786c0c?s=16&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D16&r=G" class="avatar avatar-16 photo" height="16" width="16"/> <a href="https://web.archive.org/web/20130124095632/http://buddypress.org/community/members/boonebgorges/" rel="external nofollow" class="url">Boone Gorges</a>, and 4 others are discussing. <a href="#" class="show-comments">Toggle Comments</a> </p> </div> <div class="bottom-of-entry"> </div> <ul id="comments-108" class="commentlist inlinecomments"> <li id="comment-24531" class="comment byuser comment-author-danielbachhuber even thread-even depth-1"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/2cffb19eae4c61e51884d4648b2a3ed9?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://danielbachhuber.com/" rel="external nofollow" class="url">Daniel Bachhuber</a> <span class="meta"> <abbr title="2012-12-09T16:26:32Z">4:26 pm <em>on</em> December 9, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/09/team-rep-voting/#comment-24531" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/09/team-rep-voting/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-24531", "24531", "respond", "108")">Reply</a> </span> </span> </h4> <div id="commentcontent-24531" class="commentcontent"><p>I’d be interested…</p> </div> <ul class="children"> <li id="comment-24791" class="comment byuser comment-author-coffee2code odd alt depth-2"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://1.gravatar.com/avatar/5af525fba95b93c4e0c8a03b639c9486?s=32&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://coffee2code.com/" rel="external nofollow" class="url">Scott Reilly</a> <span class="meta"> <abbr title="2012-12-11T23:07:40Z">11:07 pm <em>on</em> December 11, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/09/team-rep-voting/#comment-24791" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/09/team-rep-voting/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-24791", "24791", "respond", "108")">Reply</a> </span> </span> </h4> <div id="commentcontent-24791" class="commentcontent"><p>Does your interest also include joining the team to help review plugins?</p> </div> </li> <li id="comment-24793" class="comment byuser comment-author-danielbachhuber even depth-2"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/2cffb19eae4c61e51884d4648b2a3ed9?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://danielbachhuber.com/" rel="external nofollow" class="url">Daniel Bachhuber</a> <span class="meta"> <abbr title="2012-12-11T23:09:30Z">11:09 pm <em>on</em> December 11, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/09/team-rep-voting/#comment-24793" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/09/team-rep-voting/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-24793", "24793", "respond", "108")">Reply</a> </span> </span> </h4> <div id="commentcontent-24793" class="commentcontent"><p>@scott Totally! I hadn’t seen any posts about joining the review team, so I wasn’t sure if / how that was possible.</p> </div> <ul class="children"> <li id="comment-24955" class="comment byuser comment-author-coffee2code odd alt depth-3"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://1.gravatar.com/avatar/5af525fba95b93c4e0c8a03b639c9486?s=32&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://coffee2code.com/" rel="external nofollow" class="url">Scott Reilly</a> <span class="meta"> <abbr title="2012-12-13T07:35:52Z">7:35 am <em>on</em> December 13, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/09/team-rep-voting/#comment-24955" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/09/team-rep-voting/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-24955", "24955", "respond", "108")">Reply</a> </span> </span> </h4> <div id="commentcontent-24955" class="commentcontent"><p>Great! I’ll be in touch with you soon.</p> </div> </li> <li id="comment-24986" class="comment byuser comment-author-boonebgorges even depth-3"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://1.gravatar.com/avatar/9cf7c4541a582729a5fc7ae484786c0c?s=32&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://buddypress.org/community/members/boonebgorges/" rel="external nofollow" class="url">Boone Gorges</a> <span class="meta"> <abbr title="2012-12-13T14:32:19Z">2:32 pm <em>on</em> December 13, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/09/team-rep-voting/#comment-24986" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/09/team-rep-voting/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-24986", "24986", "respond", "108")">Reply</a> </span> </span> </h4> <div id="commentcontent-24986" class="commentcontent"><p>+1. I can’t volunteer to be the rep at the moment, but would like to get involved in the review team.</p> </div> </li> </ul> </li> </ul> </li> <li id="comment-24534" class="comment byuser comment-author-ipstenu odd alt thread-odd thread-alt depth-1"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/abfd4ff9c24957f1a9f0435e23de1f73?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://halfelf.org/" rel="external nofollow" class="url">Ipstenu (Mika Epstein)</a> <span class="meta"> <abbr title="2012-12-09T17:22:05Z">5:22 pm <em>on</em> December 9, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/09/team-rep-voting/#comment-24534" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/09/team-rep-voting/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-24534", "24534", "respond", "108")">Reply</a> </span> </span> </h4> <div id="commentcontent-24534" class="commentcontent"><p>While I’m on the team, I’m content being a wrangler and not a lead. I could do it, but given my involvement with Support, obviously there’s a conflict there <img src="https://web.archive.org/web/20130124095632im_/http://make.wordpress.org/plugins/wp-includes/images/smilies/icon_wink.gif" alt=";)" class="wp-smiley"/> </p> </div> <ul class="children"> <li id="comment-24535" class="comment byuser comment-author-jenmylo bypostauthor even depth-2"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/84987b436214f52ec0b04cd1f8a73c3c?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://profiles.wordpress.org/users/jane/" rel="external nofollow" class="url">Jane Wells</a> <span class="meta"> <abbr title="2012-12-09T17:28:22Z">5:28 pm <em>on</em> December 9, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/09/team-rep-voting/#comment-24535" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/09/team-rep-voting/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-24535", "24535", "respond", "108")">Reply</a> </span> </span> </h4> <div id="commentcontent-24535" class="commentcontent"><p>Well, what’s more important is which side you’d rather represent. If you’re more interested in being a plugins team rep, someone else could step up in forums. For that matter Scott could totally switch to meta team rep with Otto, too, if he’d rather.</p> </div> <ul class="children"> <li id="comment-24688" class="comment byuser comment-author-ipstenu odd alt depth-3"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/abfd4ff9c24957f1a9f0435e23de1f73?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://halfelf.org/" rel="external nofollow" class="url">Ipstenu (Mika Epstein)</a> <span class="meta"> <abbr title="2012-12-10T20:50:40Z">8:50 pm <em>on</em> December 10, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/09/team-rep-voting/#comment-24688" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/09/team-rep-voting/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-24688", "24688", "respond", "108")">Reply</a> </span> </span> </h4> <div id="commentcontent-24688" class="commentcontent"><p>Give it one more cycle. I think I’m the only support rep ‘continuing on’ this cycle, so I’d want to make sure that’s ready first!</p> </div> </li> </ul> </li> </ul> </li> </li> <li id="comment-24749" class="comment byuser comment-author-mordauk even thread-even depth-1"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/edcaf8a5c1dc7c741113d772e767bfc2?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://pippinsplugins.com/" rel="external nofollow" class="url">mordauk</a> <span class="meta"> <abbr title="2012-12-11T14:53:06Z">2:53 pm <em>on</em> December 11, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/09/team-rep-voting/#comment-24749" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/09/team-rep-voting/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-24749", "24749", "respond", "108")">Reply</a> </span> </span> </h4> <div id="commentcontent-24749" class="commentcontent"><p>I’m happy to step up.</p> </div> </li> <li id="comment-24790" class="comment byuser comment-author-coffee2code odd alt thread-odd thread-alt depth-1"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://1.gravatar.com/avatar/5af525fba95b93c4e0c8a03b639c9486?s=32&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://coffee2code.com/" rel="external nofollow" class="url">Scott Reilly</a> <span class="meta"> <abbr title="2012-12-11T23:04:00Z">11:04 pm <em>on</em> December 11, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/09/team-rep-voting/#comment-24790" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/09/team-rep-voting/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-24790", "24790", "respond", "108")">Reply</a> </span> </span> </h4> <div id="commentcontent-24790" class="commentcontent"><p>For those who don’t know, I’m currently the only active rep for the team.</p> <p>I am more than happy to continue in the role. However, there is also now the first official voting for reps for the meta team. Most likely Otto would be the de facto lead for that, continuing in his acting lead team rep position. That team doesn’t have very many candidates for potential reps (basically Nacin and I asides from Otto). If all the criteria Jane set forth are followed, it stands to reason I should be the secondary rep for the meta team, requiring me to relinquish my current status as a rep for plugins.</p> <p>Since Mika is most likely continuing on as a rep for the support team (at least for this term), Mark seems to have stepped back from involvement with the plugins team, and Nacin will likely continue as a team rep for core, that pretty much leaves Pippin as a prime team rep candidate.</p> <p>I’m cool with continuing on as a plugins team rep or moving on to the meta team, depending on where interest from others lie. If I remain we can prep Pippin as a secondary rep and follow Jane’s desired rep transition procedure, though leaving Otto as the sole meta team rep. If I switch teams, both plugins reps will be new and one will be simultaneously joining the team and becoming a rep.</p> </div> <ul class="children"> <li id="comment-24834" class="comment byuser comment-author-mordauk even depth-2"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/edcaf8a5c1dc7c741113d772e767bfc2?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://pippinsplugins.com/" rel="external nofollow" class="url">Pippin (mordauk)</a> <span class="meta"> <abbr title="2012-12-12T06:10:46Z">6:10 am <em>on</em> December 12, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/09/team-rep-voting/#comment-24834" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/09/team-rep-voting/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-24834", "24834", "respond", "108")">Reply</a> </span> </span> </h4> <div id="commentcontent-24834" class="commentcontent"><p>I’d prefer to step up as secondary rep, simply because I’m still getting used to being on the team in general. If you’d like me to go straight to full team rep, more than happy to do so, however.</p> </div> <ul class="children"> <li id="comment-24840" class="comment byuser comment-author-coffee2code odd alt depth-3"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://1.gravatar.com/avatar/5af525fba95b93c4e0c8a03b639c9486?s=32&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://coffee2code.com/" rel="external nofollow" class="url">Scott Reilly</a> <span class="meta"> <abbr title="2012-12-12T08:51:01Z">8:51 am <em>on</em> December 12, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/09/team-rep-voting/#comment-24840" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/09/team-rep-voting/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-24840", "24840", "respond", "108")">Reply</a> </span> </span> </h4> <div id="commentcontent-24840" class="commentcontent"><p>That makes the most sense, and is my preference as well, for the two of us to be the team reps. Then you can continue on in the senior role next term, to be joined by someone else (either a new member to the team or one of the others who may be coming off a team rep role for another team).</p> </div> <ul class="children"> <li id="comment-25783" class="comment byuser comment-author-mordauk even depth-4"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/edcaf8a5c1dc7c741113d772e767bfc2?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://pippinsplugins.com/" rel="external nofollow" class="url">Pippin (mordauk)</a> <span class="meta"> <abbr title="2012-12-20T03:04:27Z">3:04 am <em>on</em> December 20, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/09/team-rep-voting/#comment-25783" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/12/09/team-rep-voting/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-25783", "25783", "respond", "108")">Reply</a> </span> </span> </h4> <div id="commentcontent-25783" class="commentcontent"><p>Works well for me.</p> </div> </li> </ul> </li> </ul> </li> </ul> </li> </li> </ul> </li> <li id="prologue-102" class="post-102 post type-post status-publish format-status hentry category-uncategorized tag-assets tag-screenshots"> <a href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/author/otto42/" title="Posts by Samuel Wood (Otto) ( @otto42 )" class="post-avatar"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/0994d5e2e158a24ba8017c2525d78263?s=48&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D48&r=G" class="avatar avatar-48 photo" height="48" width="48"/> </a> <h4> <a href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/author/otto42/" title="Posts by Samuel Wood (Otto) ( @otto42 )">Samuel Wood (Otto)</a> <span class="meta"> <abbr title="2012-09-13T16:43:26Z">4:43 pm <em>on</em> September 13, 2012</abbr> <span class="actions"> <a href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/09/13/last-december-we-added-header-images-to-the/" class="thepermalink" title="Permalink">Permalink</a> | <a rel="nofollow" title="Reply" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/09/13/last-december-we-added-header-images-to-the/#respond" onclick="return addComment.moveForm("comments-102", "0", "respond", "102")">Reply</a> </span> <span class="tags"> <br/>Tags: assets, screenshots </span> </span> </h4> <div id="content-102" class="postcontent"> <p>Last December, we <a href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/core/2011/12/21/been-giving-a-lot-of-thought-to-how/">added header images</a> to the top of plugin screens. Since then, we’ve made <a href="https://web.archive.org/web/20130124095632/http://wordpress.org/news/2012/05/plugins-refreshed/">more changes</a> to the plugin directory and started supporting <a href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/core/2012/07/04/fun-with-high-dpi-displays/">HiDPI images</a> for those plugin headers as well.</p> <p>As part of that original header update, one thing that was added which I always meant to do more with was the addition of a new “assets” directory at the top level of the plugin SVNs. This is an optional directory that sits alongside the /tags and /trunk directories, and was just used to hold the banner images. Creating a place to put plugin assets which didn’t need to be included in the plugin itself simply made sense to me.</p> <p>It also never made sense to me that the plugin screenshots, which are rarely used by the plugin, needed to be included in the plugin’s ZIP file. Some plugins can use these themselves, certainly, but the majority don’t and it’s just really inflating the size of the plugin to include them.</p> <p>So, starting today, you can put your screenshot files in the assets directory instead of in the main plugin directory.</p> <p>A few notes, for the technically minded:</p> <ul> <li>Screenshot naming conventions have not changed, nor have the readme.txt requirements for their captioning. The naming and behavior is exactly the same, the file can just go into a new place.</li> <li>The old way still works too. If you have your screenshots in the plugin’s “stable” directory, then it will find them there just fine.</li> <li>Screenshots in the assets directory take precedence over screenshots in the plugin’s directory. If you have both, then the assets directory wins. Of course, there’s really no reason to have both, this is just for backwards compatibility.</li> <li>Like everything else in the assets directory, we are serving them through a separate static caching system, and so it may take a few minutes to update when you change them. What this means is that when you put the screenshots in there for the very first time, they may not show up on your page for a few minutes and you’ll just see the captions with no images above them. Please give the proxy some time to retrieve your screenshots and cache them before telling me it’s buggy. It should only take a few minutes. <img src="https://web.archive.org/web/20130124095632im_/http://make.wordpress.org/plugins/wp-includes/images/smilies/icon_smile.gif" alt=":)" class="wp-smiley"/> </li> </ul> <p>The ultimate goal, of course, is to reduce the size of the plugin ZIP files being served. By not including the screenshots in the plugin, files are smaller and upgrades are thus speedier for everybody.</p> <p>In the future, if we have a need for more “directory only” files, I expect them all to be in the assets directory as well, for just this sort of reason.</p> </div> <div class="discussion" style="display: none"> <p> <a href="https://web.archive.org/web/20130124095632/http://hardcorewp.com/2013/adding-a-banner-image-to-your-wordpress-plugin-page/" rel="external nofollow" class="url">Adding a Banner Image to your WordPress Plugin Page « HardcoreWP</a>, <img alt="" src="https://web.archive.org/web/20130124095632im_/http://1.gravatar.com/avatar/5635d8b9af0ca5efef1b5ff7d20b73a9?s=16&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D16&r=G" class="avatar avatar-16 photo" height="16" width="16"/> <a href="https://web.archive.org/web/20130124095632/http://www.milandinic.com/" rel="external nofollow" class="url">Milan Dinić</a>, <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/ee77adf6adc6fe90b388f97b0bd912b2?s=16&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D16&r=G" class="avatar avatar-16 photo" height="16" width="16"/> <a href="https://web.archive.org/web/20130124095632/http://www.joedolson.com/" rel="external nofollow" class="url">Joe Dolson</a>, and 21 others are discussing. <a href="#" class="show-comments">Toggle Comments</a> </p> </div> <div class="bottom-of-entry"> </div> <ul id="comments-102" class="commentlist inlinecomments"> <li id="comment-3641" class="comment byuser comment-author-mordauk even thread-even depth-1"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/edcaf8a5c1dc7c741113d772e767bfc2?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://pippinsplugins.com/" rel="external nofollow" class="url">Pippin Williamson</a> <span class="meta"> <abbr title="2012-09-13T16:48:35Z">4:48 pm <em>on</em> September 13, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/09/13/last-december-we-added-header-images-to-the/#comment-3641" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/09/13/last-december-we-added-header-images-to-the/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-3641", "3641", "respond", "102")">Reply</a> </span> </span> </h4> <div id="commentcontent-3641" class="commentcontent"><p>Excellent!</p> </div> </li> <li id="comment-3642" class="comment byuser comment-author-logikal16 odd alt thread-odd thread-alt depth-1"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/862232869e97504a72e14f9b91c7c157?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://profiles.wordpress.org/users/logikal16/" rel="external nofollow" class="url">logikal16</a> <span class="meta"> <abbr title="2012-09-13T17:00:20Z">5:00 pm <em>on</em> September 13, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/09/13/last-december-we-added-header-images-to-the/#comment-3642" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/09/13/last-december-we-added-header-images-to-the/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-3642", "3642", "respond", "102")">Reply</a> </span> </span> </h4> <div id="commentcontent-3642" class="commentcontent"><p>That’s great news, thanks!</p> </div> </li> <li id="comment-3643" class="comment byuser comment-author-bradt even thread-even depth-1"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/e538ca4cb34839d4e5e3ccf20c37c67b?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://bradt.ca/" rel="external nofollow" class="url">Brad Touesnard</a> <span class="meta"> <abbr title="2012-09-13T17:03:18Z">5:03 pm <em>on</em> September 13, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/09/13/last-december-we-added-header-images-to-the/#comment-3643" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/09/13/last-december-we-added-header-images-to-the/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-3643", "3643", "respond", "102")">Reply</a> </span> </span> </h4> <div id="commentcontent-3643" class="commentcontent"><p>Nice!</p> </div> </li> <li id="comment-3644" class="comment byuser comment-author-ryno267 odd alt thread-odd thread-alt depth-1"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/22bac44175a8d184f052df428668656d?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://profiles.wordpress.org/users/ryno267/" rel="external nofollow" class="url">Chuck Reynolds</a> <span class="meta"> <abbr title="2012-09-13T17:04:40Z">5:04 pm <em>on</em> September 13, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/09/13/last-december-we-added-header-images-to-the/#comment-3644" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/09/13/last-december-we-added-header-images-to-the/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-3644", "3644", "respond", "102")">Reply</a> </span> </span> </h4> <div id="commentcontent-3644" class="commentcontent"><p>This is great. Shouldn’t we also do the same for readme files? With the recent security talks concerning the version number being in the readme’s in each plugin dir.</p> </div> <ul class="children"> <li id="comment-3647" class="comment byuser comment-author-otto42 bypostauthor even depth-2"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/0994d5e2e158a24ba8017c2525d78263?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://profiles.wordpress.org/otto42/" rel="external nofollow" class="url">Otto</a> <span class="meta"> <abbr title="2012-09-13T17:15:37Z">5:15 pm <em>on</em> September 13, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/09/13/last-december-we-added-header-images-to-the/#comment-3647" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/09/13/last-december-we-added-header-images-to-the/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-3647", "3647", "respond", "102")">Reply</a> </span> </span> </h4> <div id="commentcontent-3647" class="commentcontent"><p>I don’t know what talks you speak of in particular, but a) no and b) knowing the version of code being used is not an inherent security risk. </p> <p>A security risk is caused by running insecure code. The solution is not to attempt to hide the version, but to update the code to eliminate the security risk. This sort of thinking is along the same lines of hiding the WordPress version number from public view. Hiding your version number doesn’t improve security in the slightest. Fixing security related issues does.</p> </div> <ul class="children"> <li id="comment-3667" class="comment byuser comment-author-ryno267 odd alt depth-3"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/22bac44175a8d184f052df428668656d?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://profiles.wordpress.org/users/ryno267/" rel="external nofollow" class="url">Chuck Reynolds</a> <span class="meta"> <abbr title="2012-09-13T22:46:08Z">10:46 pm <em>on</em> September 13, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/09/13/last-december-we-added-header-images-to-the/#comment-3667" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/09/13/last-december-we-added-header-images-to-the/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-3667", "3667", "respond", "102")">Reply</a> </span> </span> </h4> <div id="commentcontent-3667" class="commentcontent"><p>true, i can’t find the specific thing I read the other day but… whatever. just thinking out loud.</p> <p>Moved all my plugins’ screenshots to /assets/ from trunk and latest tag.</p> </div> </li> <li id="comment-3682" class="comment byuser comment-author-iandunn even depth-3"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://1.gravatar.com/avatar/1cf0770522223715996d00a7fe911003?s=32&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://iandunn.name/" rel="external nofollow" class="url">Ian Dunn</a> <span class="meta"> <abbr title="2012-09-14T19:54:23Z">7:54 pm <em>on</em> September 14, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/09/13/last-december-we-added-header-images-to-the/#comment-3682" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/09/13/last-december-we-added-header-images-to-the/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-3682", "3682", "respond", "102")">Reply</a> </span> </span> </h4> <div id="commentcontent-3682" class="commentcontent"><p>I think that’s only half true. Obviously, fixing security bugs is the most important thing, but security-through-obscurity isn’t inherently bad, if you understand it correctly.</p> <p>Security shouldn’t be thought of as a binary thing — you’re either “secure” of “insecure” — and there are no silver bullets. Instead, it should be thought of in layers. Security-through-obscurity is a good first layer. It keeps the script kiddies away, so that you can focus your time on defending against real attackers.</p> <p>It’d be stupid to rely on obscurity as your only layer, but it’s a good practice to employ it as the first layer among many.</p> </div> </li> </ul> </li> </ul> </li> <li id="comment-3646" class="comment byuser comment-author-blobaugh odd alt thread-even depth-1"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://1.gravatar.com/avatar/f25f324a47a1efdf7a745e0b2e3c878f?s=32&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://ben.lobaugh.net/" rel="external nofollow" class="url">Ben Lobaugh (blobaugh)</a> <span class="meta"> <abbr title="2012-09-13T17:12:46Z">5:12 pm <em>on</em> September 13, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/09/13/last-december-we-added-header-images-to-the/#comment-3646" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/09/13/last-december-we-added-header-images-to-the/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-3646", "3646", "respond", "102")">Reply</a> </span> </span> </h4> <div id="commentcontent-3646" class="commentcontent"><p>Thanks Otto</p> <p>@Chuck – good point, you would lose the tagged readme files though. Maybe the readme.txt file should just be blocked from serving?</p> </div> </li> <li id="comment-3649" class="comment byuser comment-author-scribu even thread-odd thread-alt depth-1"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://1.gravatar.com/avatar/128c2cfc3632a7d1afea1ab16db2cb79?s=32&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://scribu.net/" rel="external nofollow" class="url">scribu</a> <span class="meta"> <abbr title="2012-09-13T17:53:14Z">5:53 pm <em>on</em> September 13, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/09/13/last-december-we-added-header-images-to-the/#comment-3649" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/09/13/last-december-we-added-header-images-to-the/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-3649", "3649", "respond", "102")">Reply</a> </span> </span> </h4> <div id="commentcontent-3649" class="commentcontent"><p>This makes sense. I just moved the screenshots over for all of my plugins.</p> <p>I noticed that the <a href="https://web.archive.org/web/20130124095632/http://wordpress.org/extend/plugins/about/readme.txt" rel="nofollow">readme.txt example</a> doesn’t point to the new <code>/assets/</code> dir yet.</p> </div> <ul class="children"> <li id="comment-3650" class="comment byuser comment-author-otto42 bypostauthor odd alt depth-2"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/0994d5e2e158a24ba8017c2525d78263?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://profiles.wordpress.org/otto42/" rel="external nofollow" class="url">Otto</a> <span class="meta"> <abbr title="2012-09-13T18:06:42Z">6:06 pm <em>on</em> September 13, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/09/13/last-december-we-added-header-images-to-the/#comment-3650" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/09/13/last-december-we-added-header-images-to-the/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-3650", "3650", "respond", "102")">Reply</a> </span> </span> </h4> <div id="commentcontent-3650" class="commentcontent"><p>Didn’t think of that one. Fixed.</p> </div> <ul class="children"> <li id="comment-3664" class="comment byuser comment-author-jb510 even depth-3"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://1.gravatar.com/avatar/f1c8858594659f20b4e99d65d0855f7c?s=32&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://profiles.wordpress.org/users/jb510/" rel="external nofollow" class="url">Jon Brown</a> <span class="meta"> <abbr title="2012-09-13T20:52:54Z">8:52 pm <em>on</em> September 13, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/09/13/last-december-we-added-header-images-to-the/#comment-3664" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/09/13/last-december-we-added-header-images-to-the/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-3664", "3664", "respond", "102")">Reply</a> </span> </span> </h4> <div id="commentcontent-3664" class="commentcontent"><p><a href="https://web.archive.org/web/20130124095632/http://wordpress.org/extend/plugins/about/faq/" rel="nofollow">http://wordpress.org/extend/plugins/about/faq/</a> needs updating too.</p> </div> </li> </ul> </li> </ul> </li> <li id="comment-3654" class="comment byuser comment-author-thomas_michaela odd alt thread-even depth-1"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://1.gravatar.com/avatar/55a5872ee357de7ef8a028232225e816?s=32&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> Thomas_Michaela <span class="meta"> <abbr title="2012-09-13T18:40:29Z">6:40 pm <em>on</em> September 13, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/09/13/last-december-we-added-header-images-to-the/#comment-3654" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/09/13/last-december-we-added-header-images-to-the/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-3654", "3654", "respond", "102")">Reply</a> </span> </span> </h4> <div id="commentcontent-3654" class="commentcontent"><p>Is there any discussion / ideas how to redesign the “popular plugins” section, so authors don’t need to fake their download numbers anymore? </p> <p><a href="https://web.archive.org/web/20130124095632/http://wordpress.org/support/topic/plugin-all-in-one-seo-pack-another-update-with-no-changes-this-plugin-is-just-scam?replies=8" rel="nofollow">http://wordpress.org/support/topic/plugin-all-in-one-seo-pack-another-update-with-no-changes-this-plugin-is-just-scam?replies=8</a></p> </div> <ul class="children"> <li id="comment-3656" class="comment byuser comment-author-otto42 bypostauthor even depth-2"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/0994d5e2e158a24ba8017c2525d78263?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://profiles.wordpress.org/otto42/" rel="external nofollow" class="url">Otto</a> <span class="meta"> <abbr title="2012-09-13T19:18:59Z">7:18 pm <em>on</em> September 13, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/09/13/last-december-we-added-header-images-to-the/#comment-3656" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/09/13/last-december-we-added-header-images-to-the/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-3656", "3656", "respond", "102")">Reply</a> </span> </span> </h4> <div id="commentcontent-3656" class="commentcontent"><p>That doesn’t appear to be faked to me, just a bad development practice.</p> <p>Edit: Note that if you have hard evidence other than a one-time-thing, then that’s different. I’ll burn and salt the earth with the ashes if you can find a real case of somebody gaming our systems, but this does not appear to be such a case.</p> </div> </li> </ul> </li> <li id="comment-3657" class="comment byuser comment-author-jb510 odd alt thread-odd thread-alt depth-1"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://1.gravatar.com/avatar/f1c8858594659f20b4e99d65d0855f7c?s=32&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://profiles.wordpress.org/users/jb510/" rel="external nofollow" class="url">Jon Brown</a> <span class="meta"> <abbr title="2012-09-13T19:36:29Z">7:36 pm <em>on</em> September 13, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/09/13/last-december-we-added-header-images-to-the/#comment-3657" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/09/13/last-december-we-added-header-images-to-the/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-3657", "3657", "respond", "102")">Reply</a> </span> </span> </h4> <div id="commentcontent-3657" class="commentcontent"><p>This all sounds great, nice work!</p> <p>Since I’m still a little slow when it comes to SVN though… Am I correct that /Assets is outside of version control? If that’s that case, I think that alone is reason to keep the readme files inside trunk, but even if that is not the case I’d still prefer seeing readme files in the zips.</p> </div> <ul class="children"> <li id="comment-3658" class="comment byuser comment-author-otto42 bypostauthor even depth-2"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/0994d5e2e158a24ba8017c2525d78263?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://profiles.wordpress.org/otto42/" rel="external nofollow" class="url">Otto</a> <span class="meta"> <abbr title="2012-09-13T19:45:35Z">7:45 pm <em>on</em> September 13, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/09/13/last-december-we-added-header-images-to-the/#comment-3658" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/09/13/last-december-we-added-header-images-to-the/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-3658", "3658", "respond", "102")">Reply</a> </span> </span> </h4> <div id="commentcontent-3658" class="commentcontent"><p>No, you’re not correct, and I’m not sure I understand the question.</p> <p>SVN is a version control system. Everything in it is “in version control”. So… yeah, you’ve left me confused.</p> <p>And there’s no plan (nor reason) to put readme.txt files anywhere that isn’t part of the plugin and isn’t in the ZIP file. That’s not under discussion nor up for debate, really. Readme’s should be sent with the plugin files.</p> </div> <ul class="children"> <li id="comment-3659" class="comment byuser comment-author-jb510 odd alt depth-3"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://1.gravatar.com/avatar/f1c8858594659f20b4e99d65d0855f7c?s=32&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://profiles.wordpress.org/users/jb510/" rel="external nofollow" class="url">Jon Brown</a> <span class="meta"> <abbr title="2012-09-13T19:52:44Z">7:52 pm <em>on</em> September 13, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/09/13/last-december-we-added-header-images-to-the/#comment-3659" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/09/13/last-december-we-added-header-images-to-the/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-3659", "3659", "respond", "102")">Reply</a> </span> </span> </h4> <div id="commentcontent-3659" class="commentcontent"><p>Thanks Otto, I poked around trac and figured it out…</p> <p>I was thinking that the /Assets folder was outside of version control because it wasn’t inside /branches or /trunk, it’s clear that’s not accurate since it gets assigned revision numbers. The svn tree /branch /trunk /tags just always confuses me…. someday it’ll click.</p> </div> <ul class="children"> <li id="comment-3660" class="comment byuser comment-author-otto42 bypostauthor even depth-4"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/0994d5e2e158a24ba8017c2525d78263?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://profiles.wordpress.org/otto42/" rel="external nofollow" class="url">Otto</a> <span class="meta"> <abbr title="2012-09-13T19:55:13Z">7:55 pm <em>on</em> September 13, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/09/13/last-december-we-added-header-images-to-the/#comment-3660" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/09/13/last-december-we-added-header-images-to-the/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-3660", "3660", "respond", "102")">Reply</a> </span> </span> </h4> <div id="commentcontent-3660" class="commentcontent"><p>Try the writeup I wrote about it here:<br/> <a href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/06/09/the-plugins-directory-and-readme-txt-files/" rel="nofollow">http://make.wordpress.org/plugins/2012/06/09/the-plugins-directory-and-readme-txt-files/</a></p> </div> </li> </ul> </li> </ul> </li> </ul> </li> <li id="comment-3661" class="comment odd alt thread-even depth-1"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://1.gravatar.com/avatar/f9bb98e439bf7efdf51993e1e70957ae?s=32&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://edwardcaissie.com/" rel="external nofollow" class="url">Edward Caissie</a> <span class="meta"> <abbr title="2012-09-13T20:03:15Z">8:03 pm <em>on</em> September 13, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/09/13/last-december-we-added-header-images-to-the/#comment-3661" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/09/13/last-december-we-added-header-images-to-the/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-3661", "3661", "respond", "102")">Reply</a> </span> </span> </h4> <div id="commentcontent-3661" class="commentcontent"><p>I must be slow or its not enough coffee today … to implement this new ‘assets’ directory the plugin author needs to send a commit with it included, correct? In other words, the assets directory is not being (has not been?) populated into the existing repository plugins (nor is it part of new plugin repositories).</p> </div> <ul class="children"> <li id="comment-3662" class="comment byuser comment-author-otto42 bypostauthor even depth-2"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/0994d5e2e158a24ba8017c2525d78263?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://profiles.wordpress.org/otto42/" rel="external nofollow" class="url">Otto</a> <span class="meta"> <abbr title="2012-09-13T20:13:52Z">8:13 pm <em>on</em> September 13, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/09/13/last-december-we-added-header-images-to-the/#comment-3662" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/09/13/last-december-we-added-header-images-to-the/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-3662", "3662", "respond", "102")">Reply</a> </span> </span> </h4> <div id="commentcontent-3662" class="commentcontent"><p>Correct, the /assets directory is not created for you. You can create it at the root of your plugin directory, alongside the trunk and tags and branches directories, and use “svn add” to add it and any files inside it to your next commit.</p> </div> <ul class="children"> <li id="comment-3663" class="comment odd alt depth-3"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://1.gravatar.com/avatar/f9bb98e439bf7efdf51993e1e70957ae?s=32&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://edwardcaissie.com/" rel="external nofollow" class="url">Edward Caissie</a> <span class="meta"> <abbr title="2012-09-13T20:29:32Z">8:29 pm <em>on</em> September 13, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/09/13/last-december-we-added-header-images-to-the/#comment-3663" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/09/13/last-december-we-added-header-images-to-the/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-3663", "3663", "respond", "102")">Reply</a> </span> </span> </h4> <div id="commentcontent-3663" class="commentcontent"><p>Thanks. I had tested that with an existing plugin as well as checking out a newly created plugin repository as well. Just been having SVN client issues recently and wanted to make sure I was not _doing_it_wrong().</p> </div> </li> <li id="comment-3680" class="comment byuser comment-author-matt even depth-3"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://1.gravatar.com/avatar/767fc9c115a1b989744c755db47feb60?s=32&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://ma.tt/" rel="external nofollow" class="url">Matt Mullenweg</a> <span class="meta"> <abbr title="2012-09-14T18:46:39Z">6:46 pm <em>on</em> September 14, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/09/13/last-december-we-added-header-images-to-the/#comment-3680" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/09/13/last-december-we-added-header-images-to-the/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-3680", "3680", "respond", "102")">Reply</a> </span> </span> </h4> <div id="commentcontent-3680" class="commentcontent"><p>Can we add it to the script that sets up directories for new plugins?</p> </div> <ul class="children"> <li id="comment-3681" class="comment byuser comment-author-otto42 bypostauthor odd alt depth-4"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/0994d5e2e158a24ba8017c2525d78263?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://profiles.wordpress.org/otto42/" rel="external nofollow" class="url">Otto</a> <span class="meta"> <abbr title="2012-09-14T18:50:46Z">6:50 pm <em>on</em> September 14, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/09/13/last-december-we-added-header-images-to-the/#comment-3681" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/09/13/last-december-we-added-header-images-to-the/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-3681", "3681", "respond", "102")">Reply</a> </span> </span> </h4> <div id="commentcontent-3681" class="commentcontent"><p>We could, just haven’t seen the need to do so. Not everybody needs it, in the same way that uber-simple plugins don’t really need a readme.txt file.</p> <p>I’ll go ahead and add it though.</p> </div> </li> </ul> </li> </ul> </li> </ul> </li> <li id="comment-3665" class="comment byuser comment-author-elfin even thread-odd thread-alt depth-1"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/8b8819e436f25e41ac736bd383d6fd5b?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://quirm.net/" rel="external nofollow" class="url">elfin</a> <span class="meta"> <abbr title="2012-09-13T20:58:19Z">8:58 pm <em>on</em> September 13, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/09/13/last-december-we-added-header-images-to-the/#comment-3665" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/09/13/last-december-we-added-header-images-to-the/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-3665", "3665", "respond", "102")">Reply</a> </span> </span> </h4> <div id="commentcontent-3665" class="commentcontent"><p>excellent – one reason why I never included any to begin with was because of the file size issue. Nice work again Otto.</p> </div> </li> <li id="comment-3666" class="comment byuser comment-author-shazdeh odd alt thread-even depth-1"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/0466f9ae4f90333eee0fc56dbc936186?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://tween.ir/" rel="external nofollow" class="url">shazdeh</a> <span class="meta"> <abbr title="2012-09-13T22:38:36Z">10:38 pm <em>on</em> September 13, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/09/13/last-december-we-added-header-images-to-the/#comment-3666" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/09/13/last-december-we-added-header-images-to-the/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-3666", "3666", "respond", "102")">Reply</a> </span> </span> </h4> <div id="commentcontent-3666" class="commentcontent"><p>Totally makes sense!</p> </div> </li> <li id="comment-3678" class="comment byuser comment-author-greenweb even thread-odd thread-alt depth-1"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://1.gravatar.com/avatar/5ba06f8d1944b4170f92681e61975901?s=32&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://www.greenvilleweb.us/" rel="external nofollow" class="url">Greenweb</a> <span class="meta"> <abbr title="2012-09-14T13:30:28Z">1:30 pm <em>on</em> September 14, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/09/13/last-december-we-added-header-images-to-the/#comment-3678" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/09/13/last-december-we-added-header-images-to-the/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-3678", "3678", "respond", "102")">Reply</a> </span> </span> </h4> <div id="commentcontent-3678" class="commentcontent"><p>Great update to the system !</p> </div> </li> <li id="comment-3690" class="comment odd alt thread-even depth-1"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/c73e99c730d3d4283a8fedae8d14ab25?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://xyzscripts.com/" rel="external nofollow" class="url">XYZScripts</a> <span class="meta"> <abbr title="2012-09-15T06:08:56Z">6:08 am <em>on</em> September 15, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/09/13/last-december-we-added-header-images-to-the/#comment-3690" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/09/13/last-december-we-added-header-images-to-the/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-3690", "3690", "respond", "102")">Reply</a> </span> </span> </h4> <div id="commentcontent-3690" class="commentcontent"><p>Good move. Really saves on zip size.<br/> Next we should separate out readme.txt from folder as Chuck said.<br/> I think right now readme.txt is parsed from trunk until stable tag is found and then it starts parsing stable tag readme.<br/> So we have put this file in both trunk and tag which is simply duplicate.<br/> I dont think readme.txt is needed in s wordpress installation as it reads info from plugin main file (Correct me if an wrong)<br/> So why not move it to assets?</p> </div> <ul class="children"> <li id="comment-3693" class="comment byuser comment-author-otto42 bypostauthor even depth-2"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/0994d5e2e158a24ba8017c2525d78263?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://profiles.wordpress.org/otto42/" rel="external nofollow" class="url">Otto</a> <span class="meta"> <abbr title="2012-09-15T14:13:21Z">2:13 pm <em>on</em> September 15, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/09/13/last-december-we-added-header-images-to-the/#comment-3693" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/09/13/last-december-we-added-header-images-to-the/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-3693", "3693", "respond", "102")">Reply</a> </span> </span> </h4> <div id="commentcontent-3693" class="commentcontent"><p>No, the readme.txt file belongs with the plugin file itself and should be in the ZIP file. Moving it to assets makes no sense. </p> <p>The readme.txt will remain where it is.</p> </div> </li> </ul> </li> <li id="comment-3736" class="comment odd alt thread-odd thread-alt depth-1"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/e85c68d8c9c348537e2342f529a9a964?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://www.charlestonsw.com/" rel="external nofollow" class="url">Lance Cleveland</a> <span class="meta"> <abbr title="2012-09-17T13:28:54Z">1:28 pm <em>on</em> September 17, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/09/13/last-december-we-added-header-images-to-the/#comment-3736" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/09/13/last-december-we-added-header-images-to-the/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-3736", "3736", "respond", "102")">Reply</a> </span> </span> </h4> <div id="commentcontent-3736" class="commentcontent"><p>Great decision. It is smart thinking like this that keeps WordPress ahead of all others and why I continue to recommend it as the best-of-breed for web publishing for my clients.</p> </div> </li> <li id="comment-3738" class="comment byuser comment-author-aaroncampbell even thread-even depth-1"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://1.gravatar.com/avatar/f27b79eb04eb414c4c1fc98375fe7404?s=32&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://profiles.wordpress.org/users/aaroncampbell/" rel="external nofollow" class="url">Aaron D. Campbell</a> <span class="meta"> <abbr title="2012-09-17T14:08:47Z">2:08 pm <em>on</em> September 17, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/09/13/last-december-we-added-header-images-to-the/#comment-3738" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/09/13/last-december-we-added-header-images-to-the/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-3738", "3738", "respond", "102")">Reply</a> </span> </span> </h4> <div id="commentcontent-3738" class="commentcontent"><p>This was a great change. One of my plugins went from a 168k download to 52k. Thanks Otto.</p> </div> </li> <li id="comment-3850" class="comment byuser comment-author-wiredimpact odd alt thread-odd thread-alt depth-1"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://1.gravatar.com/avatar/dc81f25fbf02be730a0b10faf7604f63?s=32&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://wiredimpact.com/" rel="external nofollow" class="url">wiredimpact</a> <span class="meta"> <abbr title="2012-09-28T21:26:37Z">9:26 pm <em>on</em> September 28, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/09/13/last-december-we-added-header-images-to-the/#comment-3850" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/09/13/last-december-we-added-header-images-to-the/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-3850", "3850", "respond", "102")">Reply</a> </span> </span> </h4> <div id="commentcontent-3850" class="commentcontent"><p>This is a welcome change. It will greatly decrease the size of plugins. Thanks.</p> </div> </li> <li id="comment-3954" class="comment even thread-even depth-1"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/cb6dde7765d8597e7d1dd00b4b0a255b?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://desihacker.net/" rel="external nofollow" class="url">Aman</a> <span class="meta"> <abbr title="2012-10-04T08:43:36Z">8:43 am <em>on</em> October 4, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/09/13/last-december-we-added-header-images-to-the/#comment-3954" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/09/13/last-december-we-added-header-images-to-the/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-3954", "3954", "respond", "102")">Reply</a> </span> </span> </h4> <div id="commentcontent-3954" class="commentcontent"><p>A very great decision <img src="https://web.archive.org/web/20130124095632im_/http://make.wordpress.org/plugins/wp-includes/images/smilies/icon_smile.gif" alt=":)" class="wp-smiley"/><br/> Less size more downloads</p> </div> </li> <li id="comment-4814" class="comment byuser comment-author-benheu odd alt thread-odd thread-alt depth-1"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://1.gravatar.com/avatar/3982abebd0a6ec871c022e502cc016f1?s=32&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://www.bencaubere.com/" rel="external nofollow" class="url">Ben</a> <span class="meta"> <abbr title="2012-10-14T19:50:02Z">7:50 pm <em>on</em> October 14, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/09/13/last-december-we-added-header-images-to-the/#comment-4814" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/09/13/last-december-we-added-header-images-to-the/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-4814", "4814", "respond", "102")">Reply</a> </span> </span> </h4> <div id="commentcontent-4814" class="commentcontent"><p>Awesome news!<br/> I was wondering if you guys where thinking about doing something for the languages files as well?<br/> I know that means also adapting the way a plugin is installed as well, but the more translations the heavier your plugins gets. Just leaving the .mo files it can be about 100k per language depending on the plugin’s size. Translate your plugin in 10 languages and Bam you get 1Mo extra.<br/> Thanks!</p> </div> <ul class="children"> <li id="comment-4904" class="comment byuser comment-author-otto42 bypostauthor even depth-2"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/0994d5e2e158a24ba8017c2525d78263?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://profiles.wordpress.org/otto42/" rel="external nofollow" class="url">Otto</a> <span class="meta"> <abbr title="2012-10-16T17:42:29Z">5:42 pm <em>on</em> October 16, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/09/13/last-december-we-added-header-images-to-the/#comment-4904" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/09/13/last-december-we-added-header-images-to-the/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-4904", "4904", "respond", "102")">Reply</a> </span> </span> </h4> <div id="commentcontent-4904" class="commentcontent"><p>No particular plans for languages, but that would be pretty cool. I was thinking more along the lines of having core support for language packs. Like, we could have a big GlotPress install somewhere to allow community translations of plugins and themes, then have an API to serve up-to-date .mo files, then serve them directly to users that request them, and let the core put them in the right place, etc. </p> <p>Would be neat, but obviously that’s a big job there, with a lot of moving parts.</p> </div> <ul class="children"> <li id="comment-5087" class="comment byuser comment-author-benheu odd alt depth-3"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://1.gravatar.com/avatar/3982abebd0a6ec871c022e502cc016f1?s=32&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://www.bencaubere.com/" rel="external nofollow" class="url">Ben</a> <span class="meta"> <abbr title="2012-10-17T08:59:46Z">8:59 am <em>on</em> October 17, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/09/13/last-december-we-added-header-images-to-the/#comment-5087" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/09/13/last-december-we-added-header-images-to-the/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-5087", "5087", "respond", "102")">Reply</a> </span> </span> </h4> <div id="commentcontent-5087" class="commentcontent"><p>Sounds good, if we’re aiming to this kind of solution, that’s just perfect. But as you said it feels like a lot of changes and work involved.</p> </div> </li> </ul> </li> <li id="comment-7320" class="comment byuser comment-author-dimadin even depth-2"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://1.gravatar.com/avatar/5635d8b9af0ca5efef1b5ff7d20b73a9?s=32&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://www.milandinic.com/" rel="external nofollow" class="url">Milan Dinić</a> <span class="meta"> <abbr title="2012-10-23T18:34:46Z">6:34 pm <em>on</em> October 23, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/09/13/last-december-we-added-header-images-to-the/#comment-7320" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/09/13/last-december-we-added-header-images-to-the/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-7320", "7320", "respond", "102")">Reply</a> </span> </span> </h4> <div id="commentcontent-7320" class="commentcontent"><p>Still <a href="https://web.archive.org/web/20130124095632/https://core.trac.wordpress.org/ticket/18200" rel="nofollow">in works</a>.</p> </div> </li> <li id="comment-7321" class="comment byuser comment-author-dimadin odd alt depth-2"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://1.gravatar.com/avatar/5635d8b9af0ca5efef1b5ff7d20b73a9?s=32&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://www.milandinic.com/" rel="external nofollow" class="url">Milan Dinić</a> <span class="meta"> <abbr title="2012-10-23T18:36:57Z">6:36 pm <em>on</em> October 23, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/09/13/last-december-we-added-header-images-to-the/#comment-7321" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/09/13/last-december-we-added-header-images-to-the/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-7321", "7321", "respond", "102")">Reply</a> </span> </span> </h4> <div id="commentcontent-7321" class="commentcontent"><p>How about displaying “Screenshots” tab only when there are screenshots, not always when “Screenshots” section of readme.txt has any content?</p> </div> </li> </ul> </li> <li id="comment-6987" class="comment byuser comment-author-joedolson even thread-even depth-1"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/ee77adf6adc6fe90b388f97b0bd912b2?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://www.joedolson.com/" rel="external nofollow" class="url">Joe Dolson</a> <span class="meta"> <abbr title="2012-10-22T19:29:46Z">7:29 pm <em>on</em> October 22, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/09/13/last-december-we-added-header-images-to-the/#comment-6987" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/09/13/last-december-we-added-header-images-to-the/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-6987", "6987", "respond", "102")">Reply</a> </span> </span> </h4> <div id="commentcontent-6987" class="commentcontent"><p>The recent changes to the plug-in directory have been great — I noticed something today that I’m hoping would be a pretty quick fix: you can’t do a search on the words ‘accessibility’ or ‘accessible’. You can visit the tags, of course, but I don’t think it’s really the right response to send searches for these two terms to the results for ‘access’ — those are definitely two very distinct searches, and really should be giving different results.</p> </div> <ul class="children"> <li id="comment-6990" class="comment byuser comment-author-otto42 bypostauthor odd alt depth-2"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/0994d5e2e158a24ba8017c2525d78263?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://profiles.wordpress.org/otto42/" rel="external nofollow" class="url">Otto</a> <span class="meta"> <abbr title="2012-10-22T19:40:16Z">7:40 pm <em>on</em> October 22, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/09/13/last-december-we-added-header-images-to-the/#comment-6990" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/09/13/last-december-we-added-header-images-to-the/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-6990", "6990", "respond", "102")">Reply</a> </span> </span> </h4> <div id="commentcontent-6990" class="commentcontent"><p>There’s no limitation on what you can search for. But the search engine considers similar words to be similar for the purposes of searching.</p> </div> <ul class="children"> <li id="comment-7006" class="comment byuser comment-author-joedolson even depth-3"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/ee77adf6adc6fe90b388f97b0bd912b2?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://www.joedolson.com/" rel="external nofollow" class="url">Joe Dolson</a> <span class="meta"> <abbr title="2012-10-22T20:42:53Z">8:42 pm <em>on</em> October 22, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/09/13/last-december-we-added-header-images-to-the/#comment-7006" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/09/13/last-december-we-added-header-images-to-the/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-7006", "7006", "respond", "102")">Reply</a> </span> </span> </h4> <div id="commentcontent-7006" class="commentcontent"><p>Well, it’s definitely a problem — is there any way to tweak what the search engine considers to be similar? “access” and “accessibility” may be similar from a programming standpoint, but in terms of the search intent, they’re radically different – and I think it’s a serious limitation to the repository that you can’t easily find plug-ins that are intended to support accessibility.</p> </div> <ul class="children"> <li id="comment-7010" class="comment byuser comment-author-otto42 bypostauthor odd alt depth-4"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/0994d5e2e158a24ba8017c2525d78263?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://profiles.wordpress.org/otto42/" rel="external nofollow" class="url">Otto</a> <span class="meta"> <abbr title="2012-10-22T20:57:13Z">8:57 pm <em>on</em> October 22, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/09/13/last-december-we-added-header-images-to-the/#comment-7010" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/09/13/last-december-we-added-header-images-to-the/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-7010", "7010", "respond", "102")">Reply</a> </span> </span> </h4> <div id="commentcontent-7010" class="commentcontent"><p>Well, did you try looking by tag instead?</p> <p><a href="https://web.archive.org/web/20130124095632/http://wordpress.org/extend/plugins/tags/accessibility" rel="nofollow">http://wordpress.org/extend/plugins/tags/accessibility</a></p> </div> <ul class="children"> <li id="comment-7032" class="comment byuser comment-author-joedolson even depth-5"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/ee77adf6adc6fe90b388f97b0bd912b2?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://www.joedolson.com/" rel="external nofollow" class="url">Joe Dolson</a> <span class="meta"> <abbr title="2012-10-22T22:25:59Z">10:25 pm <em>on</em> October 22, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/09/13/last-december-we-added-header-images-to-the/#comment-7032" title="Permalink">Permalink</a> </span> </span> </h4> <div id="commentcontent-7032" class="commentcontent"><p>Yes, as I said above. If the search can’t be modified, then it can’t be modified; but it would be valuable, since the search results are really fairly inaccurate for that term. There are over 1,000 results for ‘access’, but only a handful of them pertain to accessibility.</p> </div> </li> </ul> </li> </ul> </li> </ul> </li> </ul> </li> </li> </ul> </li> <li id="prologue-93" class="post-93 post type-post status-publish format-status hentry category-uncategorized"> <a href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/author/jenmylo/" title="Posts by Jen Mylo ( @jenmylo )" class="post-avatar"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/84987b436214f52ec0b04cd1f8a73c3c?s=48&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D48&r=G" class="avatar avatar-48 photo" height="48" width="48"/> </a> <h4> <a href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/author/jenmylo/" title="Posts by Jen Mylo ( @jenmylo )">Jen Mylo</a> <span class="meta"> <abbr title="2012-08-18T21:48:05Z">9:48 pm <em>on</em> August 18, 2012</abbr> <span class="actions"> <a href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/08/18/93/" class="thepermalink" title="Permalink">Permalink</a> | <a rel="nofollow" title="Reply" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/08/18/93/#respond" onclick="return addComment.moveForm("comments-93", "0", "respond", "93")">Reply</a> </span> <span class="tags"> </span> </span> </h4> <div id="content-93" class="postcontent"> <p>Back in December, the core team meetup included a couple of chats about plugins and how to make the plugin directory better. The notes from that were never posted (mea culpa), so since there has been a surge of interest recently in this, I thought I’d finally post them for reference. Apologies for the stream of consciousness style, that’s part of why they didn’t get posted earlier. <img src="https://web.archive.org/web/20130124095632im_/http://make.wordpress.org/plugins/wp-includes/images/smilies/icon_smile.gif" alt=":)" class="wp-smiley"/> </p> <p style="text-align: center"> **********</p> <p>There are multiple areas that we should discuss: directory/repo/3rd pty repos/</p> <p>There are two different points of view to consider: dev/user ux</p> <p><strong>Users</strong></p> <p><em>What should we be thinking about and trying to improve? </em></p> <p>Dashboard, search/discovery – updated, popular, directory, updates, what we expose re ratings, compat, confidence/trust, stats/metrics (inspire trust), don’t put ones you already have in the dashboard box</p> <p><strong>Developers</strong><br/> <em>What are the pain points and/or things we need to make better? </em></p> <p>Managing forums, support, getting stats, translations, doing code, collaboration, adoption/abandon process, security, bug tracking, plugin review team, submission process/onboarding, slug/username/link/description</p> <p>Start a plugin (unreleased development, packaging/releasing) vs host a plugin – what things do you need for each?</p> <p>Hide ‘recently updated’ in dash box now from rss feed<br/> <strong>What things are useful to users when deciding on a plugin?</strong></p> <ul> <li># downloads — active installs would be better</li> <li>ratings — reviews by trusted sources would be better</li> <li>#of individuals working on plugin — active within x time</li> <li>support response stats – response time, % responded, % resolved</li> <li># support requests/# installs</li> <li># active users/#support requests</li> <li>version compat</li> <li>known conflicts</li> <li>author-driven metrics. ex total cache, very responsive</li> <li>trusted authors program? weighting in search? bump based on core contributions</li> </ul> <p>18 mos/2 year cutoff not shown in search<br/> <strong>Complaints:</strong> some quality plugins are not maintained (hyperdb 2.5 yrs, automatic); updates in directory sometime don’t go through and updated date gets frozen otto/nacin/adams can’t figure out why this is<br/> repo refresh every minute with locking instead or 15 minutes? talked to barry</p> <p>need to email when plugin hits the time limit — 2-3 weeks before cutoff date to update readme</p> <p>send email to everyone who uses a filter when we remove it from core</p> <p>Action Item: make.wordpress.org/plugins!<br/> plugin directory needs a way to bring people in<br/> provide route to get involved</p> <p>duck -best practices/education</p> <p>westi – user: finding good plugins; dev: writing good plugins (security, review)</p> <p>nacin -</p> <p>koop – provide every plugin own trace = ton of work. use 3rd party repo, grab readme. let people use their own tools</p> <p>matt – we said no bc we lose ability to take them over or update it. still want to have everything duped on our svn etc</p> <p>github integration: we still need the code in our repo. require full sync/every commit? or just port it over each release?<br/> will that move the needle? current setup just doesn’t encourage collaboration.<br/> <strong>Action Item:</strong> Change language to say it’s ok on the page so it is clear that it’s blessed.<br/> <strong>Action Item:</strong> dev contact form? based on profile?</p> <p><strong>Plugin review team/plugin advisory</strong></p> <ul> <li>security review team volunteers known to nacin</li> <li>best plugin devs</li> <li>core contribs who also do plugins</li> </ul> <p>Action item: Learn.wordpress.org/plugins<br/> courses, workshops</p> <p>matt: if you had a friend who wanted to make a plugin, what would you do?<br/> westi: would email links to simple plugins, something less than 20 lines<br/> jane: screencasts of walking through the file and explaining the bits (like viper did)</p> <h3><strong>Make/Learn</strong></h3> <p>plugin review team’s home will be at make<br/> hackers helpful conversations move to make<br/> -hackers archives not a good resource<br/> -stack exchange? no, karma system makes it less appealing for some new people who don’t have time to build up points</p> <p><strong>What’s going on in the world of plugins? How can we be a resource for this?</strong></p> <ul> <li>make: monthlyish discussions of plugins (submit for review), get patches/suggestions to deliver to author. becomes a resource also</li> <li>start with a blog. initial team: westi. viper. duck, mark jaquith — initial posting group. restrict author status [<em>ed note: since this time, the pluginrepo review group has formed, of Otto, Scott Reilly, Mika/Ipstenu, Duck, Nacin, and Mark Riley</em>]. seed with: inexperienced people – what do we need to post about? focus group, get to-do list of posts to write/get guest authors.</li> </ul> <p><strong>content:</strong></p> <p>1. simple stuff, intro stuff.</p> <p>2. review one popular plugin per month, bring in author, hopefully they stay involved</p> <p>3. posting about things posted elsewhere – good posts about plugins, error-prone posts about plugins<br/> posting once per week<br/> <strong>contacting plugin authors</strong><br/> security advisories — if a plugin gets closed until fixed, then after it’s fixed, post about the problem, how we informed them, and the fix. now go your plugin for similar issues.<br/> where to put that: make/a-mess (heh)<br/> <strong>Action:</strong> create blog, add authors , westi talk viper, posting calendar, pick 1st plugin and contact author. write first post.</p> <p>———————</p> <p><strong>More Action Items:</strong><br/> 1. move to usage base/position instead of downloads<br/> position is objective/harder to game<br/> this is separate from ranking (tax matching + downloads would be tax+position)</p> <p>2. banners. custom headers for plugin pages, icon, moor graphical elements. can expose those all over. chrome web store good example, itunes store<br/> exclude images in zip files? maybe just exclude custom header [<em>ed note: this is active now</em>]</p> <p>3/4/5. remove extra radio buttons from search page, search only by relevance</p> <p style="text-align: center"> **********</p> <p style="text-align: left">So those are the notes! The discussion at dotorgplugins.wordpress.com can hopefully feed into some of these goals (many are the same, I think) and we can finally put together the broader plugins contributor group that we imagined but never got around to cultivating. <img src="https://web.archive.org/web/20130124095632im_/http://make.wordpress.org/plugins/wp-includes/images/smilies/icon_smile.gif" alt=":)" class="wp-smiley"/> </p> </div> <div class="discussion" style="display: none"> <p> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/8b8819e436f25e41ac736bd383d6fd5b?s=16&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D16&r=G" class="avatar avatar-16 photo" height="16" width="16"/> <a href="https://web.archive.org/web/20130124095632/http://quirm.net/" rel="external nofollow" class="url">elfin</a>, <img alt="" src="https://web.archive.org/web/20130124095632im_/http://1.gravatar.com/avatar/5c582d3e1d8d4e3b337a474d436e3b41?s=16&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D16&r=G" class="avatar avatar-16 photo" height="16" width="16"/> <a href="https://web.archive.org/web/20130124095632/http://hawaiiwp.com/" rel="external nofollow" class="url">hiarlen</a>, <img alt="" src="https://web.archive.org/web/20130124095632im_/http://1.gravatar.com/avatar/3bdb31d3545a842ad0f5bd20a5ce4fa6?s=16&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D16&r=G" class="avatar avatar-16 photo" height="16" width="16"/> <a href="https://web.archive.org/web/20130124095632/http://www.volcanicpixels.com/" rel="external nofollow" class="url">Daniel Chatfield</a>, and 11 others are discussing. <a href="#" class="show-comments">Toggle Comments</a> </p> </div> <div class="bottom-of-entry"> </div> <ul id="comments-93" class="commentlist inlinecomments"> <li id="comment-3476" class="comment byuser comment-author-dartiss even thread-even depth-1"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/21516b655ddbab58fb5001eadecc8428?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://www.artiss.co.uk/" rel="external nofollow" class="url">dartiss</a> <span class="meta"> <abbr title="2012-08-19T15:18:49Z">3:18 pm <em>on</em> August 19, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/08/18/93/#comment-3476" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/08/18/93/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-3476", "3476", "respond", "93")">Reply</a> </span> </span> </h4> <div id="commentcontent-3476" class="commentcontent"><p>Can I add a further topic? I believe the plugin repository is negatively affected by out-of-date and abandoned plugins. It’s fine to claim how many plugins are available, but if these haven’t been touched for years then I hardly think they’re both boasting about.</p> <p>I came across such a plugin recently but found I was unable to take ownership of it myself. I was advised that I should branch the code and make another plugin – this plugin was already a branch of another, abandoned version so was clearly not something I wanted to do.</p> <p>I was told that there is no way to assign clearly abandoned plugins to other authors who may be willing to take them on.</p> <p>As part of the metrics you’ve mentioned above, could we maybe have some kind of automated flagging system where admins can be told of plugins that clearly need looking at, with an automated mail being sent to authors. If no appropriate response if forthcoming the plugins can be marked as abandoned – other plugin developers can then taken them over.</p> <p>If a clear and robust process is put in place this should work and would improve quality over quantity.</p> <p>David.</p> </div> <ul class="children"> <li id="comment-3504" class="comment byuser comment-author-darrenmeehan odd alt depth-2"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://1.gravatar.com/avatar/90ce382a2d8b08ce381c54bc518c8fff?s=32&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://darrenmeehan.me/" rel="external nofollow" class="url">Darren Meehan</a> <span class="meta"> <abbr title="2012-08-21T11:50:03Z">11:50 am <em>on</em> August 21, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/08/18/93/#comment-3504" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/08/18/93/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-3504", "3504", "respond", "93")">Reply</a> </span> </span> </h4> <div id="commentcontent-3504" class="commentcontent"><p>Definitely agree about the abandoned plugins. Currently looking into adopting some.</p> </div> </li> <li id="comment-3553" class="comment byuser comment-author-buzzmediasolutions even depth-2"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://1.gravatar.com/avatar/f26fa41f2e44163667fcb742a2baa02b?s=32&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://www.buzz-media-solutions.co.uk/" rel="external nofollow" class="url">buzzmediasolutions</a> <span class="meta"> <abbr title="2012-09-01T18:42:19Z">6:42 pm <em>on</em> September 1, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/08/18/93/#comment-3553" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/08/18/93/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-3553", "3553", "respond", "93")">Reply</a> </span> </span> </h4> <div id="commentcontent-3553" class="commentcontent"><p>Think your right there fella, if not updated/maintained the should put up to wp community</p> </div> </li> </ul> </li> <li id="comment-3481" class="comment byuser comment-author-jasonbc odd alt thread-odd thread-alt depth-1"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/c981ddb9943c25d0e5165ebab58e1d04?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> JasonBC <span class="meta"> <abbr title="2012-08-19T19:31:15Z">7:31 pm <em>on</em> August 19, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/08/18/93/#comment-3481" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/08/18/93/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-3481", "3481", "respond", "93")">Reply</a> </span> </span> </h4> <div id="commentcontent-3481" class="commentcontent"><p>As a user, one item that I would like to see improved about plugins would be to see an install date field. This would be extremely helpful in tracking down what may have caused a certain problem or change in behavior. While it would probably be good to keep a personal log for each website, that’s easier said than done, so for me, just having an install date would be a lot of help.</p> </div> </li> <li id="comment-3493" class="comment even thread-even depth-1"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://1.gravatar.com/avatar/90d92d1eebb65d4ab94a290d43bdc84c?s=32&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://www.cybersprocket.com/" rel="external nofollow" class="url">Lance Cleveland</a> <span class="meta"> <abbr title="2012-08-20T13:39:14Z">1:39 pm <em>on</em> August 20, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/08/18/93/#comment-3493" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/08/18/93/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-3493", "3493", "respond", "93")">Reply</a> </span> </span> </h4> <div id="commentcontent-3493" class="commentcontent"><p>As a WordPress admin, provide the ability to sort and/or filter by things like rating, last updated, and downloads (active installs) . To be truly useful, a need a combination filter. Rated 4+ and updated within 6 months. Both my clients and I spend days searching for, installing, uninstalling and generally “trudging through” plugins to find those that are functional and still supported our that can be easily forked and self supported.</p> <p>As a plugin author, commercial plugin support or at least acknowledgment would be great. I speak with a lot of plugin developers in our search to support our client’s sites and an alarming number have given up on plugins as they don’t generate donations. Many authors assumed their plugin work would at least buy them beer and pizza once-a-week and soon become disenchanted when they reach 6 months with not even enough to buy a cup of coffee.</p> </div> </li> <li id="comment-3496" class="comment byuser comment-author-sergeybiryukov odd alt thread-odd thread-alt depth-1"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://1.gravatar.com/avatar/750b7b0fcd855389264c2b1294d61bd6?s=32&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://profiles.wordpress.org/SergeyBiryukov/" rel="external nofollow" class="url">Sergey Biryukov</a> <span class="meta"> <abbr title="2012-08-20T16:41:38Z">4:41 pm <em>on</em> August 20, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/08/18/93/#comment-3496" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/08/18/93/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-3496", "3496", "respond", "93")">Reply</a> </span> </span> </h4> <div id="commentcontent-3496" class="commentcontent"><p>> What things are useful to users when deciding on a plugin?</p> <ul> <li>Translations — being able to see whether the plugin is translated into their language.</li> <li>Localized plugin directory — being able to read plugin descriptions and usage notes (or the whole readme.txt) in their language.</li> </ul> </div> </li> <li id="comment-3517" class="comment byuser comment-author-greenweb even thread-even depth-1"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://1.gravatar.com/avatar/5ba06f8d1944b4170f92681e61975901?s=32&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://www.greenvilleweb.us/" rel="external nofollow" class="url">Greenweb</a> <span class="meta"> <abbr title="2012-08-24T17:25:11Z">5:25 pm <em>on</em> August 24, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/08/18/93/#comment-3517" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/08/18/93/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-3517", "3517", "respond", "93")">Reply</a> </span> </span> </h4> <div id="commentcontent-3517" class="commentcontent"><p>Rating should be tied to a review like Amazon, this way the developer gets some feedback on why a the user had a bad experience. Hopefully the dev can use that as an opportunity to correct that.</p> </div> </li> </li> <li id="comment-3568" class="comment byuser comment-author-domainpawnshop odd alt thread-odd thread-alt depth-1"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://1.gravatar.com/avatar/5ced07fed52d5a228c4372fb7357fcfa?s=32&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> DomainPawnshop <span class="meta"> <abbr title="2012-09-06T05:10:15Z">5:10 am <em>on</em> September 6, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/08/18/93/#comment-3568" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/08/18/93/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-3568", "3568", "respond", "93")">Reply</a> </span> </span> </h4> <div id="commentcontent-3568" class="commentcontent"><p>One thing that would be useful is some way to (easily) distinguish standalone GPL plugins from those that are just come-ons for a “premium” version of the same plugin (sometimes with a commercial license slapped on the package). </p> <p>In one example (WordPress Advanced Ticket System), the repository version of the plugin has more non-functioning features listed than functioning features. Each non-functioning “feature” reminds you that, “This feature only available in the premium version.”). And they also put a link in your WordPress footer that links to their “premium” plugin – even if you are using the repository version.</p> <p>In another example (All-in-One Event Calendar), the repository promises a free upgrade to the “premium” plugin, but neglects to tell you (either at the repository or on their site) that you are abandoning the GPL licenses by upgrading. (Somehow they magically made a commercial product derived from the GPL version of the plugin.)</p> </div> </li> <li id="comment-3570" class="comment byuser comment-author-jenmylo bypostauthor even thread-even depth-1"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/84987b436214f52ec0b04cd1f8a73c3c?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://profiles.wordpress.org/users/jane/" rel="external nofollow" class="url">Jane Wells</a> <span class="meta"> <abbr title="2012-09-06T11:26:07Z">11:26 am <em>on</em> September 6, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/08/18/93/#comment-3570" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/08/18/93/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-3570", "3570", "respond", "93")">Reply</a> </span> </span> </h4> <div id="commentcontent-3570" class="commentcontent"><p>Only 100% GPL plugins are allowed to be promoted on wordpress.org. Looked at the ‘free premium’ one they push to, and it’s true, license not compatible. Labeled EULA.license, prevents distribution etc.</p> </div> </li> <li id="comment-3579" class="comment odd alt thread-odd thread-alt depth-1"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://1.gravatar.com/avatar/55a5872ee357de7ef8a028232225e816?s=32&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> Thomas Michaela <span class="meta"> <abbr title="2012-09-07T07:55:16Z">7:55 am <em>on</em> September 7, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/08/18/93/#comment-3579" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/08/18/93/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-3579", "3579", "respond", "93")">Reply</a> </span> </span> </h4> <div id="commentcontent-3579" class="commentcontent"><p>Hi,</p> <p>would it be possible to hide the download counter so the plugin authors don’t need to fake the download numbers anymore, for example by releasing updates with no changes?</p> <p><a href="https://web.archive.org/web/20130124095632/http://wordpress.org/support/topic/plugin-all-in-one-seo-pack-another-update-with-no-changes-this-plugin-is-just-scam" rel="nofollow">http://wordpress.org/support/topic/plugin-all-in-one-seo-pack-another-update-with-no-changes-this-plugin-is-just-scam</a></p> </div> </li> <li id="comment-3593" class="comment byuser comment-author-volcanicpixels even thread-even depth-1"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://1.gravatar.com/avatar/3bdb31d3545a842ad0f5bd20a5ce4fa6?s=32&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://www.volcanicpixels.com/" rel="external nofollow" class="url">Daniel Chatfield</a> <span class="meta"> <abbr title="2012-09-08T15:35:08Z">3:35 pm <em>on</em> September 8, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/08/18/93/#comment-3593" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/08/18/93/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-3593", "3593", "respond", "93")">Reply</a> </span> </span> </h4> <div id="commentcontent-3593" class="commentcontent"><p>Also could we *fix* the rating system – firstly I think we need to scrap the requirement to be logged into a wordpress.org account to rate (not many users have one), if authentication is really required (to prevent spam) then atleast offer other login providers like Google or twitter. Also could we have a separate metric for “ratings for this version” as almost all of the 1 star ratings for my plugin where made ages ago.</p> </div> </li> <li id="comment-3608" class="comment byuser comment-author-hiarlen odd alt thread-odd thread-alt depth-1"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://1.gravatar.com/avatar/5c582d3e1d8d4e3b337a474d436e3b41?s=32&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://hawaiiwp.com/" rel="external nofollow" class="url">hiarlen</a> <span class="meta"> <abbr title="2012-09-10T00:03:53Z">12:03 am <em>on</em> September 10, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/08/18/93/#comment-3608" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/08/18/93/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-3608", "3608", "respond", "93")">Reply</a> </span> </span> </h4> <div id="commentcontent-3608" class="commentcontent"><p>I’d love for the review process be moved to the dashboard. If I don’t like a plugin, I uninstall it and don’t go back to it in the repo. </p> <p>Uninstalling plugins could trigger a review process. This perhaps could be an opt it setting for Admins. </p> <p>Plugins I like should be reviewable right in dashboard. This would get more of the community involved.</p> </div> <ul class="children"> <li id="comment-3624" class="comment byuser comment-author-elfin even depth-2"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/8b8819e436f25e41ac736bd383d6fd5b?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://quirm.net/" rel="external nofollow" class="url">elfin</a> <span class="meta"> <abbr title="2012-09-11T19:46:19Z">7:46 pm <em>on</em> September 11, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/08/18/93/#comment-3624" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/08/18/93/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-3624", "3624", "respond", "93")">Reply</a> </span> </span> </h4> <div id="commentcontent-3624" class="commentcontent"><p>thereby increasing the negatives reviews. people are already more likely to leave a negative than a positive, this would just increase that.</p> <p>A better method of enticing users to rate etc should be found for the plugins that they do use and don’t uninstall would be a higher priority in my opinion.</p> </div> </li> </ul> </li> </ul> </li> <li id="prologue-80" class="post-80 post type-post status-publish format-standard hentry category-tutorials tag-directory tag-plugin tag-readme tag-repository tag-svn"> <a href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/author/otto42/" title="Posts by Samuel Wood (Otto) ( @otto42 )" class="post-avatar"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/0994d5e2e158a24ba8017c2525d78263?s=48&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D48&r=G" class="avatar avatar-48 photo" height="48" width="48"/> </a> <h4> <a href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/author/otto42/" title="Posts by Samuel Wood (Otto) ( @otto42 )">Samuel Wood (Otto)</a> <span class="meta"> <abbr title="2012-06-09T18:12:01Z">6:12 pm <em>on</em> June 9, 2012</abbr> <span class="actions"> <a href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/06/09/the-plugins-directory-and-readme-txt-files/" class="thepermalink" title="Permalink">Permalink</a> | <a rel="nofollow" title="Reply" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/06/09/the-plugins-directory-and-readme-txt-files/#respond" onclick="return addComment.moveForm("comments-80", "0", "respond", "80")">Reply</a> </span> <span class="tags"> <br/>Tags: <a href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/tag/directory/" rel="tag">directory ( 2 )</a>, plugin, readme, repository, svn </span> </span> </h4> <div id="content-80" class="postcontent"> <h2><a href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/06/09/the-plugins-directory-and-readme-txt-files/">The Plugins directory and readme.txt files </a></h2><p>Every once in a while, somebody pings me to say that their plugin isn’t showing up properly in the directory. Almost always it’s a problem with the plugin itself having incorrect information somehow. So I thought I’d do a quick post to explain some aspects of the plugin directory, and explain some of the more obvious stuff which a lot of people miss.</p> <h3>Layout</h3> <p>First, let’s briefly go over the layout of your plugin in the SVN repository. There’s three directories created by default, and an optional fourth one that you can create yourself.</p> <p><strong>Trunk</strong>: The /trunk directory is where your plugin code should live. The trunk can be considered to be the latest and greatest code. It’s the development version. Hopefully, the code in trunk should always be working code, but it may be buggy from time to time because it’s not necessarily the “stable” version. For simple plugins, the trunk may be the only version of the code that exists, and that’s fine as well.</p> <p><strong>Tags</strong>: The /tags directory is where you can put versions of the plugin at some specific point in time. Usually, you’ll use version numbers for the subdirectories here. So version 1.0 of the plugin would be in /tags/1.0, version 1.1 would be in /tags/1.1, and so forth. Again, not every plugin uses tags for versioning.</p> <p><strong>Branches</strong>: The /branches directory is a place that you can use to store branches of the plugin. Perhaps versions that are in development, or test code, etc. The WordPress.org system does not use the branches directory for anything at all, it’s considered to be strictly for developers to use as they need it.</p> <p><strong>Assets</strong>: The last optional directory doesn’t exist by default. You can create it yourself though. Just make a directory called “assets” next to those other three directories. Assets currently only has one use, which is to store the banner image to be displayed on your plugin page. We may use it for more things in the future. For now, you can just make an image, name it banner-772×250.png or jpg, and put it in there. Easy.</p> <h3>Parsing the plugin information</h3> <p>All plugins contain a main PHP file, and almost all plugins have a readme.txt file as well. The readme.txt file is intended to be written using a subset of markdown. The <a href="https://web.archive.org/web/20130124095632/http://wordpress.org/extend/plugins/about/readme.txt">example readme.txt</a> explains most everything pretty well, but there’s a few little tidbits that are worth pointing out.</p> <p>First is the concept of the “Stable Tag”. When WordPress.org parses the readme.txt, the very first thing it does is to look at the readme.txt in the /trunk directory, and then read that “Stable Tag” line. If the Stable Tag is missing, or is set to “trunk”, then the version of the plugin in /trunk is considered to be the stable version. If the Stable Tag is set to anything else, then it will go and look in /tags/ for the referenced version. So a Stable Tag of “1.2.3″ will make it look for /tags/1.2.3/.</p> <p><strong>Important bit</strong>: <em>Everything else is read from this new location</em>. If the Stable Tag is 1.2.3 and /tags/1.2.3/ exists, then nothing in trunk will be read any further for parsing by any part of the system. If you try to change the description of the plugin in /trunk/readme.txt, and Stable Tag isn’t trunk, then your changes won’t do anything on your plugin page. Everything comes from the readme.txt in the file being pointed to by the Stable Tag.</p> <p>Now let’s get to the plugin information itself. The WordPress.org directory reads the main plugin PHP file to get things like the Name of the plugin, the Plugin URI, and most importantly, the version number. On the plugin page, you’ll see the download button which reads “Download Version 1.2.3″ or similar. That version number comes from the plugin’s main PHP file.</p> <p>Some people get this versoning confused due to the tags system. The Stable Tag points to a subdirectory in the /tags directory. But the version of the plugin is not actually that, it’s the version that is listed in the plugin’s PHP file itself. If you have changed Stable Tag to 1.4 and the plugin still says 1.3 in the PHP file, then the version listed will be 1.3.</p> <h3>Readme.txt pieces that everybody gets wrong</h3> <p>Back to the readme.txt. There’s a line called “Contributors”. This line has always been expected to be WordPress.org usernames only. WordPress reads those, gets information about that user, gets their gravatar, name, etc, and makes the authors listing. If you put anything here that’s not a WordPress.org username, then it doesn’t look nearly as good. No picture, no link, just text.</p> <p>Other information in the readme.txt is read and used at various points on the Plugin listing. The Donate link makes a “Donate to this plugin” link in the sidebar. The “Requires at least” and “Tested up to” fields are used for compatibility checking, even on the WordPress installation itself. Few people get these wrong.</p> <p>One thing a lot of people get wrong is this line:<br/> “Here is a short description of the plugin. This should be no more than 150 characters. No markup here.”</p> <p>That bit is serious, and you should read it again. That one line people get wrong more often than anything else. That line of text is the single line description of the plugin which shows up in big letters right under the plugin name, and if it’s longer than 150 characters, it gets cutoff and makes your plugin page look silly.</p> <p>Markdown allows for easy linking in your readme.txt as well. Just write like this to link a word to a URL: </p> <pre>[WordPress](<a href="https://web.archive.org/web/20130124095632/http://wordpress.org/" rel="nofollow">http://wordpress.org</a>)</pre> <p>Videos can be put into your readme.txt too. A YouTube or Vimeo link on a line by itself will be auto-embedded. It’s also possible to embed videos hosted on VideoPress using the wpvideo shortcode. More on that topic here: <a href="https://web.archive.org/web/20130124095632/http://wpdevel.wordpress.com/2010/02/20/plugins-can-now-include-videos-in-their-readme-txt-files/" rel="nofollow">http://wpdevel.wordpress.com/2010/02/20/plugins-can-now-include-videos-in-their-readme-txt-files/</a></p> <h3>Summary</h3> <p>I don’t think I covered everything, but hopefully that will explain some of the more obscure features of the directory and how it works. If it reduces the number of times people send me the question “why didn’t my version change show up in the directory”, then I think this post was time well spent. <img src="https://web.archive.org/web/20130124095632im_/http://make.wordpress.org/plugins/wp-includes/images/smilies/icon_smile.gif" alt=":)" class="wp-smiley"/> </p> </div> <div class="discussion" style="display: none"> <p> <a href="https://web.archive.org/web/20130124095632/http://www.wordpressfamily.com/wordpress-plugins-development/" rel="external nofollow" class="url">WORDPRESS PLUGINS DEVELOPMENT | WordPress Family</a>, <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/c04243faa017bacc715ff4d22fad280c?s=16&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D16&r=G" class="avatar avatar-16 photo" height="16" width="16"/> <a href="https://web.archive.org/web/20130124095632/http://rodbuaiz.com/" rel="external nofollow" class="url">brasofilo</a>, <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/0994d5e2e158a24ba8017c2525d78263?s=16&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D16&r=G" class="avatar avatar-16 photo" height="16" width="16"/> <a href="https://web.archive.org/web/20130124095632/http://profiles.wordpress.org/otto42/" rel="external nofollow" class="url">Otto</a>, and 5 others are discussing. <a href="#" class="show-comments">Toggle Comments</a> </p> </div> <div class="bottom-of-entry"> </div> <ul id="comments-80" class="commentlist inlinecomments"> <li id="comment-375" class="comment byuser comment-author-netweblogic even thread-even depth-1"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://1.gravatar.com/avatar/32b1b817990a4fe40d4d1561517d095a?s=32&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://profiles.wordpress.org/users/netweblogic/" rel="external nofollow" class="url">Marcus</a> <span class="meta"> <abbr title="2012-06-10T07:32:15Z">7:32 am <em>on</em> June 10, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/06/09/the-plugins-directory-and-readme-txt-files/#comment-375" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/06/09/the-plugins-directory-and-readme-txt-files/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-375", "375", "respond", "80")">Reply</a> </span> </span> </h4> <div id="commentcontent-375" class="commentcontent"><p>I must admit, I’ve made one or two of these mistakes starting off <img src="https://web.archive.org/web/20130124095632im_/http://make.wordpress.org/plugins/wp-includes/images/smilies/icon_smile.gif" alt=":)" class="wp-smiley"/> </p> <p>Useful article, it would go great linked somewhere in the developer center, as I’m sure that’s where people starting would look first.</p> </div> </li> <li id="comment-1712" class="comment odd alt thread-odd thread-alt depth-1"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://1.gravatar.com/avatar/90d92d1eebb65d4ab94a290d43bdc84c?s=32&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://www.cybersprocket.com/" rel="external nofollow" class="url">Lance Cleveland</a> <span class="meta"> <abbr title="2012-07-12T14:37:47Z">2:37 pm <em>on</em> July 12, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/06/09/the-plugins-directory-and-readme-txt-files/#comment-1712" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/06/09/the-plugins-directory-and-readme-txt-files/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-1712", "1712", "respond", "80")">Reply</a> </span> </span> </h4> <div id="commentcontent-1712" class="commentcontent"><p>Don’t forget about the new “high definition” banners for the header image. If memory serves this is twice the resolution of the standard banner in the assets directory at 1444×500.</p> </div> <ul class="children"> <li id="comment-1713" class="comment byuser comment-author-otto42 bypostauthor even depth-2"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/0994d5e2e158a24ba8017c2525d78263?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://profiles.wordpress.org/otto42/" rel="external nofollow" class="url">Otto</a> <span class="meta"> <abbr title="2012-07-12T14:39:05Z">2:39 pm <em>on</em> July 12, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/06/09/the-plugins-directory-and-readme-txt-files/#comment-1713" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/06/09/the-plugins-directory-and-readme-txt-files/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-1713", "1713", "respond", "80")">Reply</a> </span> </span> </h4> <div id="commentcontent-1713" class="commentcontent"><p>It’s 1544×500, and I created that post (and code) after I wrote this post.</p> <p><a href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/core/2012/07/04/fun-with-high-dpi-displays/" rel="nofollow">http://make.wordpress.org/core/2012/07/04/fun-with-high-dpi-displays/</a></p> </div> <ul class="children"> <li id="comment-1718" class="comment odd alt depth-3"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://1.gravatar.com/avatar/90d92d1eebb65d4ab94a290d43bdc84c?s=32&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://www.cybersprocket.com/" rel="external nofollow" class="url">Lance Cleveland</a> <span class="meta"> <abbr title="2012-07-12T16:02:37Z">4:02 pm <em>on</em> July 12, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/06/09/the-plugins-directory-and-readme-txt-files/#comment-1718" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/06/09/the-plugins-directory-and-readme-txt-files/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-1718", "1718", "respond", "80")">Reply</a> </span> </span> </h4> <div id="commentcontent-1718" class="commentcontent"><p>I figured that is what happened, just thought it would be good to have a “note” (comment) so future readers would know it existed. Thanks for the clarification as well. I couldn’t find the original notification about the resolution. I thought 1444 looked odd. <img src="https://web.archive.org/web/20130124095632im_/http://make.wordpress.org/plugins/wp-includes/images/smilies/icon_smile.gif" alt=":)" class="wp-smiley"/> </p> </div> </li> </ul> </li> </ul> </li> <li id="comment-2556" class="comment byuser comment-author-mikeschinkel even thread-even depth-1"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/81df87e0d3e269d6fa6a17c6914fd656?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://profiles.wordpress.org/users/MikeSchinkel/" rel="external nofollow" class="url">Mike Schinkel</a> <span class="meta"> <abbr title="2012-08-03T19:16:00Z">7:16 pm <em>on</em> August 3, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/06/09/the-plugins-directory-and-readme-txt-files/#comment-2556" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/06/09/the-plugins-directory-and-readme-txt-files/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-2556", "2556", "respond", "80")">Reply</a> </span> </span> </h4> <div id="commentcontent-2556" class="commentcontent"><p>Just replying so I can get subscribed to this blog (might be another way, but can’t figure out how.)</p> </div> <ul class="children"> <li id="comment-2557" class="comment byuser comment-author-otto42 bypostauthor odd alt depth-2"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/0994d5e2e158a24ba8017c2525d78263?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://profiles.wordpress.org/otto42/" rel="external nofollow" class="url">Otto</a> <span class="meta"> <abbr title="2012-08-03T19:40:26Z">7:40 pm <em>on</em> August 3, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/06/09/the-plugins-directory-and-readme-txt-files/#comment-2557" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/06/09/the-plugins-directory-and-readme-txt-files/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-2557", "2557", "respond", "80")">Reply</a> </span> </span> </h4> <div id="commentcontent-2557" class="commentcontent"><p>Good point. I added the subscription widget to the sidebar.</p> </div> </li> </ul> </li> <li id="comment-3426" class="comment byuser comment-author-bradt even thread-odd thread-alt depth-1"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/e538ca4cb34839d4e5e3ccf20c37c67b?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://bradt.ca/" rel="external nofollow" class="url">Brad Touesnard</a> <span class="meta"> <abbr title="2012-08-17T15:53:30Z">3:53 pm <em>on</em> August 17, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/06/09/the-plugins-directory-and-readme-txt-files/#comment-3426" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/06/09/the-plugins-directory-and-readme-txt-files/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-3426", "3426", "respond", "80")">Reply</a> </span> </span> </h4> <div id="commentcontent-3426" class="commentcontent"><p>@Otto Would it be possible to start supporting the filename README.md in addition to readme.txt? A lot of developers host their plugins on GitHub as well but the filename readme.txt isn’t run through the markdown parser at GitHub. It would be nice if .org supported the README.md filename as well.</p> </div> <ul class="children"> <li id="comment-3429" class="comment byuser comment-author-otto42 bypostauthor odd alt depth-2"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/0994d5e2e158a24ba8017c2525d78263?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://profiles.wordpress.org/otto42/" rel="external nofollow" class="url">Otto</a> <span class="meta"> <abbr title="2012-08-17T16:12:14Z">4:12 pm <em>on</em> August 17, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/06/09/the-plugins-directory-and-readme-txt-files/#comment-3429" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/06/09/the-plugins-directory-and-readme-txt-files/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-3429", "3429", "respond", "80")">Reply</a> </span> </span> </h4> <div id="commentcontent-3429" class="commentcontent"><p>The flavor of markdown we support isn’t the same as theirs (ours is very limited), so you’d need to have separate files anyway. So, using a separate readme.txt file makes more sense.</p> </div> </li> </ul> </li> </li> </li> <li id="comment-18116" class="comment byuser comment-author-gwynethllewelyn even thread-even depth-1"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://1.gravatar.com/avatar/310abc9d873d41cede1258891d6bcaf3?s=32&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://buddypress.org/developers/gwynethllewelyn/" rel="external nofollow" class="url">Gwyneth Llewelyn</a> <span class="meta"> <abbr title="2012-11-18T22:12:49Z">10:12 pm <em>on</em> November 18, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/06/09/the-plugins-directory-and-readme-txt-files/#comment-18116" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/06/09/the-plugins-directory-and-readme-txt-files/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-18116", "18116", "respond", "80")">Reply</a> </span> </span> </h4> <div id="commentcontent-18116" class="commentcontent"><p>Ok, I’m a bit confused now.</p> <p>“If the Stable Tag is 1.2.3 and /tags/1.2.3/ exists, then nothing in trunk will be read any further for parsing by any part of the system. If you try to change the description of the plugin in /trunk/readme.txt, and Stable Tag isn’t trunk, then your changes won’t do anything on your plugin page. Everything comes from the readme.txt in the file being pointed to by the Stable Tag.”</p> <p>So if I understand this correctly, the best way to deal with this scheme is simply to have a single file under /trunk/, which is readme.txt, and that needs only to hold 9-10 lines or so with the headers — and just point to the “Stable Tag”? Then the *rest* of the readme.txt *which is under the tag, not trunk* will be read & parsed instead? I don’t need to have a full copy of readme.txt both under /trunk/ *and* /tags/X.Y.Z/ ?</p> <p>You see, I hate unnecessary file duplication <img src="https://web.archive.org/web/20130124095632im_/http://make.wordpress.org/plugins/wp-includes/images/smilies/icon_smile.gif" alt=":)" class="wp-smiley"/> I love the idea of having a super-small, 9-line only, readme.txt file under /trunk/ which just points to the correct place. Also, it makes this far easier to revert to earlier versions in case something goes seriously wrong!</p> <p>Sorry if all of this sounds incredible obvious to you seasoned plugin developers <img src="https://web.archive.org/web/20130124095632im_/http://make.wordpress.org/plugins/wp-includes/images/smilies/icon_smile.gif" alt=":)" class="wp-smiley"/> </p> </div> <ul class="children"> <li id="comment-18134" class="comment byuser comment-author-gwynethllewelyn odd alt depth-2"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://1.gravatar.com/avatar/310abc9d873d41cede1258891d6bcaf3?s=32&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://buddypress.org/developers/gwynethllewelyn/" rel="external nofollow" class="url">Gwyneth Llewelyn</a> <span class="meta"> <abbr title="2012-11-18T22:44:33Z">10:44 pm <em>on</em> November 18, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/06/09/the-plugins-directory-and-readme-txt-files/#comment-18134" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/06/09/the-plugins-directory-and-readme-txt-files/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-18134", "18134", "respond", "80")">Reply</a> </span> </span> </h4> <div id="commentcontent-18134" class="commentcontent"><p>Maybe all that’s needed on trunk/readme.txt is 2 lines after all:</p> <p>=== Plugin Name ===<br/> Stable tag: X.Y.Z</p> <p>Is that right? The remaining readme.txt will come from tags/X.Y.Z instead? If so, this is just awesome!</p> </div> <ul class="children"> <li id="comment-18190" class="comment byuser comment-author-gwynethllewelyn even depth-3"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://1.gravatar.com/avatar/310abc9d873d41cede1258891d6bcaf3?s=32&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://buddypress.org/developers/gwynethllewelyn/" rel="external nofollow" class="url">Gwyneth Llewelyn</a> <span class="meta"> <abbr title="2012-11-19T01:20:24Z">1:20 am <em>on</em> November 19, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/06/09/the-plugins-directory-and-readme-txt-files/#comment-18190" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/06/09/the-plugins-directory-and-readme-txt-files/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-18190", "18190", "respond", "80")">Reply</a> </span> </span> </h4> <div id="commentcontent-18190" class="commentcontent"><p>Seems to work exactly as I thought <img src="https://web.archive.org/web/20130124095632im_/http://make.wordpress.org/plugins/wp-includes/images/smilies/icon_smile.gif" alt=":-)" class="wp-smiley"/> </p> </div> </li> </ul> </li> <li id="comment-18256" class="comment byuser comment-author-otto42 bypostauthor odd alt depth-2"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/0994d5e2e158a24ba8017c2525d78263?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://profiles.wordpress.org/otto42/" rel="external nofollow" class="url">Samuel Wood (Otto)</a> <span class="meta"> <abbr title="2012-11-19T04:38:53Z">4:38 am <em>on</em> November 19, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/06/09/the-plugins-directory-and-readme-txt-files/#comment-18256" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/06/09/the-plugins-directory-and-readme-txt-files/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-18256", "18256", "respond", "80")">Reply</a> </span> </span> </h4> <div id="commentcontent-18256" class="commentcontent"><p>Yes, that works.</p> <p>No, you absolutely should not do it that way.</p> <p>There is a *convention* in place here. People expect trunk to contain the latest development code of your plugin. In other words, the latest and greatest code, unstable changes and all, belongs in trunk. The latest stable, versioned, tagged code, will be in a tags directory.</p> <p>The directory is based around this concept. There are beta-tester plugins which assume this to be true. Forget about “duplicated files”, do it the way everybody else does it so that you don’t mess up the friggin’ system. <img src="https://web.archive.org/web/20130124095632im_/http://make.wordpress.org/plugins/wp-includes/images/smilies/icon_smile.gif" alt=":)" class="wp-smiley"/> </p> <p>Put your development code in trunk. Tag the ready-for-release versions of the code in the tags directory. This is the best way to manage things. Even repository systems such as git and github have the concept of a main trunk for development and tags for versioning. The goal isn’t to make things easier for you to manage, the goal is to make the code accessible to everybody else in a sane way.</p> </div> <ul class="children"> <li id="comment-18533" class="comment byuser comment-author-gwynethllewelyn even depth-3"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://1.gravatar.com/avatar/310abc9d873d41cede1258891d6bcaf3?s=32&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://buddypress.org/developers/gwynethllewelyn/" rel="external nofollow" class="url">Gwyneth Llewelyn</a> <span class="meta"> <abbr title="2012-11-19T16:42:48Z">4:42 pm <em>on</em> November 19, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/06/09/the-plugins-directory-and-readme-txt-files/#comment-18533" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/06/09/the-plugins-directory-and-readme-txt-files/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-18533", "18533", "respond", "80")">Reply</a> </span> </span> </h4> <div id="commentcontent-18533" class="commentcontent"><p>Thanks for the clarification and I do apologise if I have understood you wrongly. Maybe you should clarify that duplication of everything continues to be mandatory, and not optional, to stick to conventions. Your article, read in a certain light, seemed to convey the idea that the convention was changed exactly for the benefit of keeping things simple.</p> <p>I’m not here to discuss what is better and what is not — I’ve just asked the question on how to do things <em>from now on</em> because the article lead to believe me that the convention had <em>changed</em>, or, if it hadn’t, that “beginners were always making mistakes and can do things in much simpler ways if they understand the directory structure better”. And I appreciate your answer: no, nothing has changed.</p> <p>“The goal isn’t to make things easier for you to manage”. Why not? <a href="https://web.archive.org/web/20130124095632/http://en.wikipedia.org/wiki/KISS_principle" rel="nofollow">KISS</a> is always a good philosophy, IMHO.</p> </div> <ul class="children"> <li id="comment-18541" class="comment byuser comment-author-otto42 bypostauthor odd alt depth-4"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/0994d5e2e158a24ba8017c2525d78263?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://profiles.wordpress.org/otto42/" rel="external nofollow" class="url">Samuel Wood (Otto)</a> <span class="meta"> <abbr title="2012-11-19T16:59:47Z">4:59 pm <em>on</em> November 19, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/06/09/the-plugins-directory-and-readme-txt-files/#comment-18541" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/06/09/the-plugins-directory-and-readme-txt-files/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-18541", "18541", "respond", "80")">Reply</a> </span> </span> </h4> <div id="commentcontent-18541" class="commentcontent"><p>It’s not really duplication though. SVN doesn’t store files that way, it really just stores changesets. The trunk/tags/branches convention is SVN’s, not ours. You can tag things using an svn copy operation, and that’s not making new files in svn, just marking copies of the files at a specific point in time.</p> <p>The Stable Tag and readme.txt stuff is indeed ours, simply for the purpose of keeping things in the directory sane.</p> </div> </li> </ul> </li> </ul> </li> </ul> </li> <li id="comment-25597" class="comment byuser comment-author-brasofilo even thread-odd thread-alt depth-1"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/c04243faa017bacc715ff4d22fad280c?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://rodbuaiz.com/" rel="external nofollow" class="url">brasofilo</a> <span class="meta"> <abbr title="2012-12-18T14:08:18Z">2:08 pm <em>on</em> December 18, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/06/09/the-plugins-directory-and-readme-txt-files/#comment-25597" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/06/09/the-plugins-directory-and-readme-txt-files/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-25597", "25597", "respond", "80")">Reply</a> </span> </span> </h4> <div id="commentcontent-25597" class="commentcontent"><p>Finally I got the /tags/ concept and am correcting a wrongful use of the “Stable Tag” (I had it declared, but the version was not present in the tags folder), although the system was kind enough to make it work.</p> <p>Now, I’m looking for articles on how to use the /trunk/ when developing a new version of the plugin.<br/> I mean, is it possible to install and update from there?</p> </div> <ul class="children"> <li id="comment-25620" class="comment byuser comment-author-otto42 bypostauthor odd alt depth-2"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/0994d5e2e158a24ba8017c2525d78263?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://profiles.wordpress.org/otto42/" rel="external nofollow" class="url">Samuel Wood (Otto)</a> <span class="meta"> <abbr title="2012-12-18T17:56:46Z">5:56 pm <em>on</em> December 18, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/06/09/the-plugins-directory-and-readme-txt-files/#comment-25620" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/06/09/the-plugins-directory-and-readme-txt-files/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-25620", "25620", "respond", "80")">Reply</a> </span> </span> </h4> <div id="commentcontent-25620" class="commentcontent"><p>Trunk should be the “beta” version, and have its version numbers indicating such. So if my Stable Tag was like 1.0, and I had a /tags/1.0 directory, then I could make trunk’s version into 1.1-beta or something like that, and make all the changes I liked, then when it was ready for release, change it to 1.1 and tag it and update the Stable Tag field in the readme.txt to point to the new one.</p> <p>If you use this sort of structure, with trunk containing the latest beta code, then you can easily use a plugin like <a href="https://web.archive.org/web/20130124095632/http://wordpress.org/extend/plugins/plugin-beta-tester/" rel="nofollow">http://wordpress.org/extend/plugins/plugin-beta-tester/</a> to update to that beta version on a site.</p> </div> <ul class="children"> <li id="comment-25632" class="comment byuser comment-author-brasofilo even depth-3"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/c04243faa017bacc715ff4d22fad280c?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://rodbuaiz.com/" rel="external nofollow" class="url">brasofilo</a> <span class="meta"> <abbr title="2012-12-18T19:29:54Z">7:29 pm <em>on</em> December 18, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/06/09/the-plugins-directory-and-readme-txt-files/#comment-25632" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/06/09/the-plugins-directory-and-readme-txt-files/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-25632", "25632", "respond", "80")">Reply</a> </span> </span> </h4> <div id="commentcontent-25632" class="commentcontent"><p>Perfecto, Otto, gracias!</p> </div> </li> </ul> </li> </ul> </li> </li> </ul> </li> <li id="prologue-29" class="post-29 post type-post status-publish format-standard hentry category-tutorials tag-rewrite"> <a href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/author/duck_/" title="Posts by Jon Cave ( @duck_ )" class="post-avatar"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/c422d58d80cf37281d34221f21a4a557?s=48&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D48&r=G" class="avatar avatar-48 photo" height="48" width="48"/> </a> <h4> <a href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/author/duck_/" title="Posts by Jon Cave ( @duck_ )">Jon Cave</a> <span class="meta"> <abbr title="2012-06-07T19:42:01Z">7:42 pm <em>on</em> June 7, 2012</abbr> <span class="actions"> <a href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/06/07/rewrite-endpoints-api/" class="thepermalink" title="Permalink">Permalink</a> | <a rel="nofollow" title="Reply" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/06/07/rewrite-endpoints-api/#respond" onclick="return addComment.moveForm("comments-29", "0", "respond", "29")">Reply</a> </span> <span class="tags"> <br/>Tags: rewrite </span> </span> </h4> <div id="content-29" class="postcontent"> <h2><a href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/06/07/rewrite-endpoints-api/">Rewrite endpoints API </a></h2><p>During the development of WordPress 3.4 I have spent some time working on improving the rewrite API. One of the tickets this involved was<a href="https://web.archive.org/web/20130124095632/http://core.trac.wordpress.org/ticket/16303"> #16303</a>: “Improve documentation and usability of WP_Rewrite Endpoint support”. Endpoints are a really cool feature of the rewrite API, but unfortunately also little known and misunderstood. So, with this post my aim is to get more plugin developers to read and understand the new and improved endpoint documentation.</p> <h3>What are endpoints?</h3> <p>Using endpoints allows you to easily create rewrite rules to catch the normal WordPress URLs, but with a little extra at the end. For example, you could use an endpoint to match all post URLs followed by “gallery” and display all of the images used in a post, e.g. <a href="https://web.archive.org/web/20130124095632/http://example.com/my-fantastic-post/gallery/" rel="nofollow">http://example.com/my-fantastic-post/gallery/</a>.</p> <p>A simple case like this is relatively easy to achieve with your own custom rewrite rules. However, the power of endpoints shines for more complex situations. What if you wanted to recognise URLs for posts <strong>and</strong> pages ending with “gallery”? What if you wanted to be able to catch multiple different archive URLs, e.g. day, month, year and category archives, with “xml” appended in order to output an XML representation of the archive? For these situations endpoints are very useful as they allow you to add a string to the end of multiple rewrite structures with a single function call.</p> <h3>How to use them</h3> <p>There is one function for interacting with endpoints: <code>add_rewrite_endpoint()</code>. It takes two parameters <code>$name</code> and <code>$places</code>.</p> <p><code>$name</code> is a string and is, wait for it… the name of the endpoint. <code>$name</code> is what is used in the URL and is the name of the query variable that the endpoint URL will be rewritten to. For example, an endpoint named “print” added to post permalinks would use a URL like <a href="https://web.archive.org/web/20130124095632/http://example.com/my-awesome-post/print/" rel="nofollow">http://example.com/my-awesome-post/print/</a>.</p> <p><code>$places</code> is an integer value which represents the locations (places) to which the endpoint will be added, e.g. posts, pages or year achives. To understand <code>$places</code> you need to learn about the endpoint mask constants.</p> <p>In <code>wp-includes/rewrite.php</code> (<a href="https://web.archive.org/web/20130124095632/http://core.trac.wordpress.org/browser/trunk/wp-includes/rewrite.php?rev=21018">browse wp-includes/rewrite.php on Trac</a>) a number of constants are defined all with names beginning with “EP_”:</p> <pre class="brush: php; title: ; notranslate" title=""> define('EP_NONE', 0); // 0000000000000 define('EP_PERMALINK', 1); // 0000000000001 define('EP_ATTACHMENT', 2); // 0000000000010 define('EP_DATE', 4); // 0000000000100 define('EP_YEAR', 8); // 0000000001000 // ... define('EP_PAGES', 4096); // 1000000000000 define('EP_ALL', 8191); // 1111111111111 </pre> <p>These are the endpoint masks which describe sets of URLs; post permalinks are described by <code>EP_PERMALINK</code>, year archives are <code>EP_YEAR</code>, etc. They should be thought of in terms of their binary values (see the comment I’ve added to the end of each line). Every EP_* mask, except for <code>EP_ALL</code>, is a different power of two and so has a different bit set to one. This allows us to build up combinations of endpoint masks by using the <a href="https://web.archive.org/web/20130124095632/http://php.net/manual/en/language.operators.bitwise.php">bitwise OR operator</a>:</p> <pre class="brush: php; title: ; notranslate" title=""> // all posts or attachments EP_PERMALINK | EP_ATTACHMENT // 0000000000011 // all full dates (yyyy/mm/dd), years or pages EP_DATE | EP_YEAR | EP_PAGES // 1000000001100 </pre> <p><code>$places</code> should also be thought of as a binary number. It should be set to one of the EP_* constants or a combination of them using the bitwise OR operator. If we wanted to add our endpoint to all post permalinks we would use <code>EP_PERMALINK</code>. For both posts and pages: <code>EP_PERMALINK | EP_PAGES</code>. For posts, pages, and categories: <code>EP_PERMALINK | EP_PAGES | EP_CATEGORIES</code>. There is also a special value to add an endpoint to all URLs that support endpoints: <code>EP_ALL</code>.</p> <blockquote><p><strong>NB:</strong> The values of the EP_* constants are not guaranteed to stay the same which is why you must say <code>$places = EP_PERMALINK</code> and not <code>$places = 2</code>. This is particularly important for <code>EP_ALL</code> which will change every time a new endpoint mask is added.</p></blockquote> <p>It’s time to put this information into practise. The running example will be a plugin that adds JSON representations of our content using a new rewrite endpoint called “json”. So, the goal is to get URLs such as <a href="https://web.archive.org/web/20130124095632/http://example.com/about/json/" rel="nofollow">http://example.com/about/json/</a> to return a JSON response that gives information about the “about” page. To add the “json” endpoint to post and page rewrite structures:</p> <pre class="brush: php; title: ; notranslate" title=""> add_rewrite_endpoint( 'json', EP_PERMALINK | EP_PAGES ); </pre> <p>This is called in a function hooked into the <code>init</code> action:</p> <pre class="brush: php; title: ; notranslate" title=""> function makeplugins_add_json_endpoint() { add_rewrite_endpoint( 'json', EP_PERMALINK | EP_PAGES ); } add_action( 'init', 'makeplugins_add_json_endpoint' ); </pre> <p>Now we want to act on requests for JSON content. This is done by hooking into <code>template_redirect</code>. We want to detect appropriate requests and include our custom template for serving up posts and pages in JSON format:</p> <pre class="brush: php; title: ; notranslate" title=""> function makeplugins_json_template_redirect() { global $wp_query; // if this is not a request for json or a singular object then bail if ( ! isset( $wp_query->query_vars['json'] ) || ! is_singular() ) return; // include custom template include dirname( __FILE__ ) . '/json-template.php'; exit; } add_action( 'template_redirect', 'makeplugins_json_template_redirect' ); </pre> <p>And we’re done. For a full example plugin see <a href="https://web.archive.org/web/20130124095632/https://gist.github.com/2891111" rel="nofollow">https://gist.github.com/2891111</a>.</p> <h3>How do they work?</h3> <p>The best way to understand how anything works is to take a look at the source, so let’s do that. Endpoints are added with the <code>add_rewrite_endpoint()</code> function in <code>wp-includes/rewrite.php</code>:</p> <pre class="brush: php; title: ; notranslate" title=""> /** * Add an endpoint, like /trackback/. * * Adding an endpoint creates extra rewrite rules for each of the matching * places specified by the provided bitmask. For example: * * <code> * add_rewrite_endpoint( 'json', EP_PERMALINK | EP_PAGES ); * </code> * * will add a new rewrite rule ending with "json(/(.*))?/?$" for every permastruct * that describes a permalink (post) or page. This is rewritten to "json=$match" * where $match is the part of the URL matched by the endpoint regex (e.g. "foo" in * "/json/foo/"). * * A new query var with the same name as the endpoint will also be created. * * When specifying $places ensure that you are using the EP_* constants (or a * combination of them using the bitwise OR operator) as their values are not * guaranteed to remain static (especially EP_ALL). * * Be sure to flush the rewrite rules - flush_rewrite_rules() - when your plugin gets * activated and deactivated. * * @since 2.1.0 * @see WP_Rewrite::add_endpoint() * @global object $wp_rewrite * * @param string $name Name of the endpoint. * @param int $places Endpoint mask describing the places the endpoint should be added. */ function add_rewrite_endpoint( $name, $places ) { global $wp_rewrite; $wp_rewrite->add_endpoint( $name, $places ); } </pre> <p>So this is just a wrapper for the <code>add_endpoint()</code> method of the <code>WP_Rewrite</code> class. Although the (excellent!) documentation gives us some clues as to what it does we’ll have to dig deeper to find the how:</p> <pre class="brush: php; title: ; notranslate" title=""> /** * Add an endpoint, like /trackback/. * * See {@link add_rewrite_endpoint()} for full documentation. * * @see add_rewrite_endpoint() * @since 2.1.0 * @access public * @uses WP::add_query_var() * * @param string $name Name of the endpoint. * @param int $places Endpoint mask describing the places the endpoint should be added. */ function add_endpoint($name, $places) { global $wp; $this->endpoints[] = array ( $places, $name ); $wp->add_query_var($name); } </pre> <p>Another very short and simple function. All it does is append the two parameters passed to it to the private <code>$endpoints</code> property of the <code>WP_Rewrite</code> class and also add a new query variable using <code>WP::add_query_var()</code>.</p> <p>Okay, so that’s still not useful for a full understanding of endpoints. All we know is that the arguments you pass to <code>add_rewrite_endpoint()</code> are stored in a private array of the <code>$wp_rewrite</code> global. To find out more we’ll have to search <code>wp-includes/rewrite.php</code> for “>endpoints” (i.e. code accessing the <code>WP_Rewrite::$endpoints</code> property). There are only three references to this: <code>WP_Rewrite::add_endpoint()</code> we have seen, <code>WP_Rewrite::init()</code> is boring (initialising the array), and the third is <code>WP_Rewrite::generate_rewrite_rules()</code>:</p> <pre class="brush: php; title: ; notranslate" title=""> $ep_query_append = array (); foreach ( (array) $this->endpoints as $endpoint) { //match everything after the endpoint name, but allow for nothing to appear there $epmatch = $endpoint[1] . '(/(.*))?/?$'; //this will be appended on to the rest of the query for each dir $epquery = '&' . $endpoint[1] . '='; $ep_query_append[$epmatch] = array ( $endpoint[0], $epquery ); } // ... a lot of code removed ... foreach ( (array) $ep_query_append as $regex => $ep) { //add the endpoints on if the mask fits if ( $ep[0] & $ep_mask || $ep[0] & $ep_mask_specific ) $rewrite[$match . $regex] = $index . '?' . $query . $ep[1] . $this->preg_index($num_toks + 2); } </pre> <p>In the code above the first foreach is looping through the defined endpoints and building a new array called <code>$ep_query_append</code>. This new array uses regular expressions that match a specific endpoint as keys and the values are the endpoint <code>$places</code> and <code>$epquery</code> which is a partial query string to append to a full query. So, for our JSON endpoint example we would get:</p> <pre class="brush: php; title: ; notranslate" title=""> $ep_query_append[ 'json(/(.*))?/?$' ] = array( EP_PERMALINK | EP_PAGES, '&json=' ); </pre> <p>The second loop generates the final rewrite rules for our endpoint. It loops through <code>$ep_query_append</code> checking if the current permastructure being generated has an endpoint mask, <code>$ep_mask</code>, that matches any of the endpoints. If the bitwise AND produces a non-zero value then there’s a match and the endpoint rewrite rules should be added to this permastructure.</p> <p>For our JSON example, if <code>WP_Rewrite::generate_rewrites_rules()</code> has been called for the posts permalink structure then <code>$ep_mask = EP_PERMALINK</code> and <code>$ep[0] = EP_PERMALINK | EP_PAGES</code>. The bitwise AND of these values produces 1, therefore a new entry is added to <code>$rewrite</code>. Assuming that the post permalink structure is “/%postname%/” it would look something like:</p> <pre class="brush: php; title: ; notranslate" title=""> $rewrite[ '([^/]+)/json(/(.*))?/?$' ] = 'index.php?name=$1&json=$3' </pre> <p>This is the final rewrite rule for our JSON endpoint applied to post permalinks. It matches a request for “post-slug/json/” and sets up the appropriate query variables “name” and “json”. Our <code>template_redirect</code> hook now picks this up and produces the required response.</p> <p>And you made it to the end, phew! Time for a drink…</p> <h3>Conclusion</h3> <p>I hope that after all of that you understand how to use endpoints and how they work. If you have any questions please don’t hesitate to ask them in the comments. Always remember that the best way to understand a function is to look at the source and follow its execution.</p> </div> <div class="discussion" style="display: none"> <p> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/01f240c4ae83d30e89725a7b57c8daae?s=16&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D16&r=G" class="avatar avatar-16 photo" height="16" width="16"/> <a href="https://web.archive.org/web/20130124095632/http://exobi.com/" rel="external nofollow" class="url">jazbek</a>, <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/abfd4ff9c24957f1a9f0435e23de1f73?s=16&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D16&r=G" class="avatar avatar-16 photo" height="16" width="16"/> <a href="https://web.archive.org/web/20130124095632/http://halfelf.org/" rel="external nofollow" class="url">Ipstenu (Mika Epstein)</a>, <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/6b3a9829ae7deef9807c370186301d2b?s=16&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D16&r=G" class="avatar avatar-16 photo" height="16" width="16"/> silentshin, and 11 others are discussing. <a href="#" class="show-comments">Toggle Comments</a> </p> </div> <div class="bottom-of-entry"> </div> <ul id="comments-29" class="commentlist inlinecomments"> <li id="comment-380" class="comment byuser comment-author-tareq1988 even thread-even depth-1"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/8584491809f902b86fae495a5830be83?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://profiles.wordpress.org/users/tareq1988/" rel="external nofollow" class="url">Tareq Hasan</a> <span class="meta"> <abbr title="2012-06-10T19:49:04Z">7:49 pm <em>on</em> June 10, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/06/07/rewrite-endpoints-api/#comment-380" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/06/07/rewrite-endpoints-api/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-380", "380", "respond", "29")">Reply</a> </span> </span> </h4> <div id="commentcontent-380" class="commentcontent"><p>Suppose I’ve a post url like <a href="https://web.archive.org/web/20130124095632/http://example.com/sample-post" rel="nofollow">http://example.com/sample-post</a>. Now I’ve added a rewrite endpoint “edit”. So the url becomes <a href="https://web.archive.org/web/20130124095632/http://example.com/sample-post/edit" rel="nofollow">http://example.com/sample-post/edit</a>. Now whats the right way to print the url? Should it be like: <pre class="brush: php; title: ; notranslate" title=""><?php echo get_permalink() . '/edit'; ?></pre> <p> or is there any prefered way? What happens when pretty url is not turned on?</p> </div> <ul class="children"> <li id="comment-686" class="comment byuser comment-author-duck_ bypostauthor odd alt depth-2"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/c422d58d80cf37281d34221f21a4a557?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://joncave.co.uk/" rel="external nofollow" class="url">Jon Cave</a> <span class="meta"> <abbr title="2012-06-18T15:33:35Z">3:33 pm <em>on</em> June 18, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/06/07/rewrite-endpoints-api/#comment-686" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/06/07/rewrite-endpoints-api/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-686", "686", "respond", "29")">Reply</a> </span> </span> </h4> <div id="commentcontent-686" class="commentcontent"><p>That’s fine to build the URLs like that. If pretty permalinks are not enabled then endpoints are not going to work. This is because endpoints rely on WordPress’s internal rewrite system which is disabled for the default links. You can use the <code>using_permalinks()</code> method of the <code>WP_Rewrite</code> global to determine if pretty URLs are enabled.</p> </div> <ul class="children"> <li id="comment-15154" class="comment even depth-3"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/a6e3065cfd7fb706a3f97af97219244e?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://www.stigmahost.com/" rel="external nofollow" class="url">Merianos Nikos</a> <span class="meta"> <abbr title="2012-11-12T09:52:59Z">9:52 am <em>on</em> November 12, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/06/07/rewrite-endpoints-api/#comment-15154" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/06/07/rewrite-endpoints-api/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-15154", "15154", "respond", "29")">Reply</a> </span> </span> </h4> <div id="commentcontent-15154" class="commentcontent"><p>Just wow !!!!!</p> <p>Sorry for repling here, but comment’s are closed.</p> <p>This is an amazing article, and now I can clearly see that WordPress come with endless options to extend it in any direction.</p> <p>It’s true the situation that in the past, epmask was not so clear. That article is just amazing <img src="https://web.archive.org/web/20130124095632im_/http://make.wordpress.org/plugins/wp-includes/images/smilies/icon_smile.gif" alt=":)" class="wp-smiley"/> </p> <p>Thanks a lot <img src="https://web.archive.org/web/20130124095632im_/http://make.wordpress.org/plugins/wp-includes/images/smilies/icon_smile.gif" alt=":)" class="wp-smiley"/> </p> </div> </li> </ul> </li> </ul> </li> <li id="comment-519" class="comment byuser comment-author-rilwis odd alt thread-odd thread-alt depth-1"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/a2d93c6b2d52da8eaf11b934b3c23123?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://www.deluxeblogtips.com/" rel="external nofollow" class="url">rilwis</a> <span class="meta"> <abbr title="2012-06-15T01:47:59Z">1:47 am <em>on</em> June 15, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/06/07/rewrite-endpoints-api/#comment-519" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/06/07/rewrite-endpoints-api/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-519", "519", "respond", "29")">Reply</a> </span> </span> </h4> <div id="commentcontent-519" class="commentcontent"><p>This is a great post! I’ve been using <code>generate_rewrite_rules</code> for adding some simple virtual pages. It’s quite handy and requires lots of code. I think enpoints would do the same job better. Thanks for a very detailed post.</p> </div> </li> <li id="comment-665" class="comment byuser comment-author-markoheijnen even thread-even depth-1"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://1.gravatar.com/avatar/3c0d20db0e8911bc94be89c0cd9c0399?s=32&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://markoheijnen.com/" rel="external nofollow" class="url">Marko Heijnen</a> <span class="meta"> <abbr title="2012-06-18T11:35:11Z">11:35 am <em>on</em> June 18, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/06/07/rewrite-endpoints-api/#comment-665" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/06/07/rewrite-endpoints-api/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-665", "665", "respond", "29")">Reply</a> </span> </span> </h4> <div id="commentcontent-665" class="commentcontent"><p>Hey, If I get it right and you want a endpoint for a specific post type you use EP_PERMALINK and then check in the filter ‘template_redirect’ if it is the correct post type and otherwise load the 404 template?</p> </div> <ul class="children"> <li id="comment-685" class="comment byuser comment-author-duck_ bypostauthor odd alt depth-2"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/c422d58d80cf37281d34221f21a4a557?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://joncave.co.uk/" rel="external nofollow" class="url">Jon Cave</a> <span class="meta"> <abbr title="2012-06-18T15:30:35Z">3:30 pm <em>on</em> June 18, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/06/07/rewrite-endpoints-api/#comment-685" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/06/07/rewrite-endpoints-api/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-685", "685", "respond", "29")">Reply</a> </span> </span> </h4> <div id="commentcontent-685" class="commentcontent"><p>That sounds fine.</p> <p>If it’s a post type which you’re registering then you can provide a custom endpoint mask in the <code>register_post_type()</code> call (<code>ep_mask</code> key of the <code>rewrite</code> argument). This means that the query variable will only be set when the rewrite rule is matched which should only be true if it’s a request for an item of a custom type.</p> </div> </li> </ul> </li> <li id="comment-862" class="comment byuser comment-author-sgr33n even thread-odd thread-alt depth-1"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/e1b83d0662ba79d6559f36f997a3c813?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> SGr33n <span class="meta"> <abbr title="2012-06-22T11:14:05Z">11:14 am <em>on</em> June 22, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/06/07/rewrite-endpoints-api/#comment-862" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/06/07/rewrite-endpoints-api/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-862", "862", "respond", "29")">Reply</a> </span> </span> </h4> <div id="commentcontent-862" class="commentcontent"><p>Hi,</p> <p>I’m trying your code but i see that there is the same problem (is it a bug?) that occurs on my old way using generate_rewrite_rules.</p> <p>If I use this code, then, calling a page like <a href="https://web.archive.org/web/20130124095632/http://www.wpsite.com/page-title/json/variable/unusefulstring/anotherunusefulstring/etc/" rel="nofollow">http://www.wpsite.com/page-title/json/variable/unusefulstring/anotherunusefulstring/etc/</a> it will not return 404 but even the same page.</p> <p>In my opinion <a href="https://web.archive.org/web/20130124095632/http://www.wpsite.com/page-title/json/variable/unusefulstring/" rel="nofollow">http://www.wpsite.com/page-title/json/variable/unusefulstring/</a> should return 404, <a href="https://web.archive.org/web/20130124095632/http://www.wpsite.com/page-title/json/variable/" rel="nofollow">http://www.wpsite.com/page-title/json/variable/</a> should return the correct page… right?</p> </div> </li> </li> <li id="comment-3718" class="comment byuser comment-author-jayce53 odd alt thread-even depth-1"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/c04b0c1247c7dacff850164bfcea6a55?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://www.orgasmicchef.com/easyrecipe/" rel="external nofollow" class="url">Jayce53</a> <span class="meta"> <abbr title="2012-09-16T18:18:52Z">6:18 pm <em>on</em> September 16, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/06/07/rewrite-endpoints-api/#comment-3718" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/06/07/rewrite-endpoints-api/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-3718", "3718", "respond", "29")">Reply</a> </span> </span> </h4> <div id="commentcontent-3718" class="commentcontent"><p>Am I missing something here? If endpoints aren’t going to work if pretty permalinks aren’t enabled, then my plugins are always going to have to have an alternative way of processing my intended “endpoint URL”structure. And if I have to provide the logic to process it manually anyway, what’s the point of endpoints?</p> </div> <ul class="children"> <li id="comment-3784" class="comment even depth-2"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/e59dee8a3306722a0d13be6370770151?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://jeremyclarke.org/" rel="external nofollow" class="url">Jeremy Clarke</a> <span class="meta"> <abbr title="2012-09-21T17:08:46Z">5:08 pm <em>on</em> September 21, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/06/07/rewrite-endpoints-api/#comment-3784" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/06/07/rewrite-endpoints-api/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-3784", "3784", "respond", "29")">Reply</a> </span> </span> </h4> <div id="commentcontent-3784" class="commentcontent"><p>If the endpoint is important you always want to be able to support both pretty and raw URLs. Raw URLs are easy, just define the query var and use it in the URL (?edit=1). Endpoints make it easier to get the variable out of a URL when pretty permalinks are enabled.</p> </div> </li> </ul> </li> <li id="comment-4758" class="comment byuser comment-author-rarst odd alt thread-odd thread-alt depth-1"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/ab89ce39f47b327f1c85e4019e865a71?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://www.rarst.net/" rel="external nofollow" class="url">Rarst</a> <span class="meta"> <abbr title="2012-10-13T18:00:19Z">6:00 pm <em>on</em> October 13, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/06/07/rewrite-endpoints-api/#comment-4758" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/06/07/rewrite-endpoints-api/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-4758", "4758", "respond", "29")">Reply</a> </span> </span> </h4> <div id="commentcontent-4758" class="commentcontent"><p>Is it possible to use pagination after endpoint? I am getting `’endpoint_name’ => ‘page/2′` and it’s not recognized as pagination.</p> <p>Trying to implement custom posts page for this question <a href="https://web.archive.org/web/20130124095632/http://wordpress.stackexchange.com/questions/67732/setting-a-custom-sub-path-for-blog-without-using-pages" rel="nofollow">http://wordpress.stackexchange.com/questions/67732/setting-a-custom-sub-path-for-blog-without-using-pages</a></p> </div> <ul class="children"> <li id="comment-4794" class="comment byuser comment-author-duck_ bypostauthor even depth-2"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/c422d58d80cf37281d34221f21a4a557?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://joncave.co.uk/" rel="external nofollow" class="url">Jon Cave</a> <span class="meta"> <abbr title="2012-10-14T15:24:43Z">3:24 pm <em>on</em> October 14, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/06/07/rewrite-endpoints-api/#comment-4794" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/06/07/rewrite-endpoints-api/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-4794", "4794", "respond", "29")">Reply</a> </span> </span> </h4> <div id="commentcontent-4794" class="commentcontent"><p>Endpoint rules do not have pagination rules applied to them as well. So pagination on endpoints would have to be done by yourself, e.g. mapping a value matching <code>page/[0-9]+</code> to the paged query variable.</p> <p>It seems to me that it would be more suitable to use custom rewrite rules instead of endpoints for the problem in linked question.</p> </div> </li> </ul> </li> <li id="comment-8060" class="comment odd alt thread-even depth-1"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://1.gravatar.com/avatar/7b8739190045090675c5a366f537fb35?s=32&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://www.mygeekpal.com/" rel="external nofollow" class="url">Mohammed Atif</a> <span class="meta"> <abbr title="2012-10-25T19:50:27Z">7:50 pm <em>on</em> October 25, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/06/07/rewrite-endpoints-api/#comment-8060" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/06/07/rewrite-endpoints-api/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-8060", "8060", "respond", "29")">Reply</a> </span> </span> </h4> <div id="commentcontent-8060" class="commentcontent"><p>How do we handle posts requests on the endpoint?</p> </div> </li> <li id="comment-17130" class="comment even thread-odd thread-alt depth-1"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/6b3a9829ae7deef9807c370186301d2b?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> silentshin <span class="meta"> <abbr title="2012-11-16T16:17:23Z">4:17 pm <em>on</em> November 16, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/06/07/rewrite-endpoints-api/#comment-17130" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/06/07/rewrite-endpoints-api/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-17130", "17130", "respond", "29")">Reply</a> </span> </span> </h4> <div id="commentcontent-17130" class="commentcontent"><p>Ensure it works, flush_rewrite_rules() should be used after add_rewrite_endpoint().</p> </div> </li> <li id="comment-27431" class="comment byuser comment-author-jazbek odd alt thread-even depth-1"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/01f240c4ae83d30e89725a7b57c8daae?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://exobi.com/" rel="external nofollow" class="url">jazbek</a> <span class="meta"> <abbr title="2013-01-13T18:17:08Z">6:17 pm <em>on</em> January 13, 2013</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/06/07/rewrite-endpoints-api/#comment-27431" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/06/07/rewrite-endpoints-api/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-27431", "27431", "respond", "29")">Reply</a> </span> </span> </h4> <div id="commentcontent-27431" class="commentcontent"><p>I’m trying to create a ‘sfw’ endpoint for an art blog, that will remove all posts tagged nsfw from post listings. </p> <p>It works fine on the first page of posts, but but pagination is broken. The next page link becomes /sfw/page/2/ and the ‘sfw’ query var is now set to [sfw] => ‘page/2′, so the page is removed from the query vars. Is there any way to get this working without hacking it with my own function? Here is my code:</p> <p><a href="https://web.archive.org/web/20130124095632/https://gist.github.com/4525380" rel="nofollow">https://gist.github.com/4525380</a></p> </div> <ul class="children"> <li id="comment-27453" class="comment byuser comment-author-jazbek even depth-2"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/01f240c4ae83d30e89725a7b57c8daae?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://exobi.com/" rel="external nofollow" class="url">jazbek</a> <span class="meta"> <abbr title="2013-01-13T22:01:02Z">10:01 pm <em>on</em> January 13, 2013</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/06/07/rewrite-endpoints-api/#comment-27453" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/06/07/rewrite-endpoints-api/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-27453", "27453", "respond", "29")">Reply</a> </span> </span> </h4> <div id="commentcontent-27453" class="commentcontent"><p>I’ve updated my gist to show how I’m doing it; doesn’t seem ideal:<br/> <a href="https://web.archive.org/web/20130124095632/https://gist.github.com/4525380" rel="nofollow">https://gist.github.com/4525380</a></p> <p>Previously was:<br/> <a href="https://web.archive.org/web/20130124095632/https://gist.github.com/4525380/185a981b8d4a891ebc0928eaf810b8ebc52ac829" rel="nofollow">https://gist.github.com/4525380/185a981b8d4a891ebc0928eaf810b8ebc52ac829</a></p> </div> <ul class="children"> <li id="comment-27624" class="comment byuser comment-author-ipstenu odd alt depth-3"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/abfd4ff9c24957f1a9f0435e23de1f73?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://halfelf.org/" rel="external nofollow" class="url">Ipstenu (Mika Epstein)</a> <span class="meta"> <abbr title="2013-01-15T23:00:31Z">11:00 pm <em>on</em> January 15, 2013</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/06/07/rewrite-endpoints-api/#comment-27624" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/06/07/rewrite-endpoints-api/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-27624", "27624", "respond", "29")">Reply</a> </span> </span> </h4> <div id="commentcontent-27624" class="commentcontent"><p>This isn’t a support site <img src="https://web.archive.org/web/20130124095632im_/http://make.wordpress.org/plugins/wp-includes/images/smilies/icon_wink.gif" alt=";)" class="wp-smiley"/> You should post on wordpress.org/support, or email wp-hackers for help with this <img src="https://web.archive.org/web/20130124095632im_/http://make.wordpress.org/plugins/wp-includes/images/smilies/icon_smile.gif" alt=":)" class="wp-smiley"/> </p> </div> <ul class="children"> <li id="comment-27627" class="comment byuser comment-author-jazbek even depth-4"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/01f240c4ae83d30e89725a7b57c8daae?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://exobi.com/" rel="external nofollow" class="url">jazbek</a> <span class="meta"> <abbr title="2013-01-15T23:06:25Z">11:06 pm <em>on</em> January 15, 2013</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/06/07/rewrite-endpoints-api/#comment-27627" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/06/07/rewrite-endpoints-api/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-27627", "27627", "respond", "29")">Reply</a> </span> </span> </h4> <div id="commentcontent-27627" class="commentcontent"><p>Thanks for the reply. I realize this isn’t a support site, but my question is relevant to the original post implementing endpoints. I thought it might be of interest to the developer that using endpoints breaks pagination (unless I am using it wrong). </p> <p>Perhaps I should have made that clear in my original comment.</p> </div> </li> </ul> </li> </ul> </li> </ul> </li> </ul> </li> <li id="prologue-22" class="post-22 post type-post status-publish format-standard hentry category-uncategorized tag-directory tag-favorites tag-support"> <a href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/author/nacin/" title="Posts by Andrew Nacin ( @nacin )" class="post-avatar"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/01cfe9feaafb068590891bbd1f6a7f5a?s=48&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D48&r=G" class="avatar avatar-48 photo" height="48" width="48"/> </a> <h4> <a href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/author/nacin/" title="Posts by Andrew Nacin ( @nacin )">Andrew Nacin</a> <span class="meta"> <abbr title="2012-05-19T20:51:17Z">8:51 pm <em>on</em> May 19, 2012</abbr> <span class="actions"> <a href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/05/19/plugin-directory-refreshed-what-it-means-for-developers/" class="thepermalink" title="Permalink">Permalink</a> | <a rel="nofollow" title="Reply" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/05/19/plugin-directory-refreshed-what-it-means-for-developers/#respond" onclick="return addComment.moveForm("comments-22", "0", "respond", "22")">Reply</a> </span> <span class="tags"> <br/>Tags: <a href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/tag/directory/" rel="tag">directory ( 2 )</a>, favorites, support </span> </span> </h4> <div id="content-22" class="postcontent"> <h2><a href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/05/19/plugin-directory-refreshed-what-it-means-for-developers/">Plugin Directory Refreshed — What It Means for Developers </a></h2><p>Matt just <a href="https://web.archive.org/web/20130124095632/http://wordpress.org/news/2012/05/plugins-refreshed/">announced on the WordPress Blog</a> — and many of you have already noticed — a number of recent changes to the plugin directory, profiles, and the support forums. Now let’s go into detail all of the individual changes, and what it means for plugin developers.</p> <h3>Design refresh for plugin pages.</h3> <p>We’re glad to see so many of you use the <strong>plugin headers</strong> <a href="https://web.archive.org/web/20130124095632/http://wpdevel.wordpress.com/2011/12/21/been-giving-a-lot-of-thought-to-how/">we launched in December</a>. Now, we’ve provided a further refresh. We’ve made authors much more prominent and with bigger Gravatars and better placement, and cleaned up the styles for the ratings, support, and compatibility sections. There’s a great <a href="https://web.archive.org/web/20130124095632/http://wordpress.org/news/2012/05/plugins-refreshed/">before-after shot in the announcement post</a>.</p> <h3>Support is now integrated into your plugin page.</h3> <p>In the past, creating new support topics for plugins has been special, and not in a particularly good way. It had this specialness by overloading the tags in the support forums to indicate that a thread was about a particular plugin. No longer. We’ve promoted plugins up a notch and given them their own area.</p> <p>So now, on your plugin pages, you’ll see a “Support” menu in the header, and you’ll see the topics for that plugin in that tab. You’ll also find a submission form at the bottom of that tab, to add new support topics specifically for your plugin. Topics about plugins made from here get a special sidebar with links to the plugin, to the plugin’s FAQ page, and to the list of Support Threads for that plugin.</p> <p>While this section looks like it’s on the Plugin’s page, it’s not really. These support threads are actually in the same place they’ve always been, in the Support forums. What you’re seeing as far as the look and feel of that view of the support forums is just some clever trickery on our part. <img src="https://web.archive.org/web/20130124095632im_/http://make.wordpress.org/plugins/wp-includes/images/smilies/icon_smile.gif" alt=":)" class="wp-smiley"/> </p> <p>Akismet, for example, will have it’s “support forums” at this URL: <a href="https://web.archive.org/web/20130124095632/http://wordpress.org/support/plugin/akismet">http://wordpress.org/support/plugin/akismet</a>.</p> <h3>How to follow support threads for your plugins.</h3> <p>You may want to take advantage of this by subscribing to the RSS feed for your plugin: <a href="https://web.archive.org/web/20130124095632/http://wordpress.org/support/rss/plugin/akismet">http://wordpress.org/support/rss/plugin/akismet</a>. Email subscriptions are not available for these yet, but we will be adding them this week.</p> <p>For plugin authors who have been using them, the old convenience views of plugin-committers and plugin-contributors are still there as well. (Committers are managed in on the Admin tab, while contributors are taken from readme.txt.) We’ll be exposing these links in more places, but you can use them with URLs similar to the following: <a href="https://web.archive.org/web/20130124095632/http://wordpress.org/support/view/plugin-committer/Otto42">http://wordpress.org/support/view/plugin-committer/Otto42</a> <a href="https://web.archive.org/web/20130124095632/http://wordpress.org/support/view/plugin-committer/Otto42">http://wordpress.org/support/view/plugin-contributor/Otto42</a>. (RSS feeds exist <a href="https://web.archive.org/web/20130124095632/http://wordpress.org/support/rss/view/plugin-committer/Otto42">for</a> <a href="https://web.archive.org/web/20130124095632/http://wordpress.org/support/rss/view/plugin-contributor/Otto42">these</a> as well.)</p> <h3>Support statistics are now shown to users.</h3> <p>You’ll notice a new area on the plugin page sidebar showing information about how many topics there are for your plugin, and how many of them have been marked as resolved. These are handy for users to see if questions are likely to get a response.</p> <p>You have had the ability to mark plugin support threads as resolved for some time now. It’s now really easy — you can mark a thread as resolved while making a post with a simple checkbox. Note that the user who opened the thread can also mark threads as resolved and unresolved. Threads that are marked “Not a support question,” such as suggestions or feedback, are <em>not</em> counted toward these stats and do not need to be marked resolved.</p> <p>Statistics will be based on a rolling two-month period, based on when the thread was opened. Currently, the statistics cover threads opened in the last two weeks, and will continue to increase until it reaches two months, to allow you some time to resolve existing threads.</p> <h3>Managing your forum with sticky topics.</h3> <p>You can now make threads “sticky” threads to the top of your plugin’s support forum, just like the other forums on WordPress.org. (You’ll find a link “Stick topic to this plugin’s support forum” in the sidebar.) Threads marked as sticky will show at the top of your plugin’s Support tab. (They won’t be sticky on the regular forums.) We hope you find this handy for posting FAQs or other important information about your plugin.</p> <h3>A new section for developers.</h3> <p>Every plugin now has a Developers tab where you can find links for browsing the code in Subversion, the development log, and development versions. Here, you can now <strong>subscribe to get an email whenever a commit is made to a plugin repository</strong>, even if it isn’t yours. (You will of course continue to receive commits for your own plugins.)</p> <h3>Favoriting plugins.</h3> <p>As I’m sure you’ve now seen, plugins can now be favorited by logged-in users — and have been more than 2,000 times since we soft-launched this feature earlier in the week! When you favorite a plugin, <a href="https://web.archive.org/web/20130124095632/http://profiles.wordpress.org/Otto42">it gets added to your profile</a>. And if you’ve also rated that plugin, your rating gets shown.</p> <p>We expect to do a lot more with all of this in the future — favorites, plugins, support, and profiles. Until next time, we hope you enjoy these changes as much as we do!</p> <p><em>— written by <a href="https://web.archive.org/web/20130124095632/http://profiles.wordpress.org/nacin">Nacin</a>, <a href="https://web.archive.org/web/20130124095632/http://profiles.wordpress.org/Otto42">Otto</a>, and <a href="https://web.archive.org/web/20130124095632/http://profiles.wordpress.org/coffee2code">Scott</a></em></p> </div> <div class="discussion" style="display: none"> <p> <a href="https://web.archive.org/web/20130124095632/http://www.amplemoney.com/wordpress-3-5-is-released/" rel="external nofollow" class="url">WordPress 3.5 is released | Ample Money Online</a>, <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/07be247e700a7c7e5630214c40ae4098?s=16&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D16&r=G" class="avatar avatar-16 photo" height="16" width="16"/> Marcel, <img alt="" src="https://web.archive.org/web/20130124095632im_/http://1.gravatar.com/avatar/f071e400117d20cd95eb5a0bac7584ca?s=16&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D16&r=G" class="avatar avatar-16 photo" height="16" width="16"/> <a href="https://web.archive.org/web/20130124095632/http://www.s4strategy.com/" rel="external nofollow" class="url">zorro1965</a>, and 12 others are discussing. <a href="#" class="show-comments">Toggle Comments</a> </p> </div> <div class="bottom-of-entry"> </div> <ul id="comments-22" class="commentlist inlinecomments"> <li id="comment-3" class="comment even thread-even depth-1"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://1.gravatar.com/avatar/9a2a63aba6e0e894c2f42752d974be28?s=32&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://www.adrotateplugin.com/" rel="external nofollow" class="url">Arnan de Gans</a> <span class="meta"> <abbr title="2012-05-21T17:15:52Z">5:15 pm <em>on</em> May 21, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/05/19/plugin-directory-refreshed-what-it-means-for-developers/#comment-3" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/05/19/plugin-directory-refreshed-what-it-means-for-developers/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-3", "3", "respond", "22")">Reply</a> </span> </span> </h4> <div id="commentcontent-3" class="commentcontent"><p>Seriously?<br/> So i guess you’ve just rendered my own forum useless? Because i don’t want to give my users the impression i ignore support. Which your support stats will suggest if i keep ignoring the WP forums and use my own setup…<br/> And what’s up with this whole overhaul anyway, pulling visitors away from my plugin page by adding all these features. <img src="https://web.archive.org/web/20130124095632im_/http://make.wordpress.org/plugins/wp-includes/images/smilies/icon_sad.gif" alt=":(" class="wp-smiley"/><br/> *sigh*</p> </div> <ul class="children"> <li id="comment-8" class="comment byuser comment-author-nacin bypostauthor odd alt depth-2"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/01cfe9feaafb068590891bbd1f6a7f5a?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://profiles.wordpress.org/users/nacin/" rel="external nofollow" class="url">Andrew Nacin</a> <span class="meta"> <abbr title="2012-05-21T22:02:32Z">10:02 pm <em>on</em> May 21, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/05/19/plugin-directory-refreshed-what-it-means-for-developers/#comment-8" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/05/19/plugin-directory-refreshed-what-it-means-for-developers/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-8", "8", "respond", "22")">Reply</a> </span> </span> </h4> <div id="commentcontent-8" class="commentcontent"><p>The plugins directory is a hosting site, not a listing site. Your “plugin page” is <a href="https://web.archive.org/web/20130124095632/http://wordpress.org/extend/plugins/your-plugin/" rel="nofollow">http://wordpress.org/extend/plugins/your-plugin/</a> — while it may provide you traffic to your own site, it’s designed to be a dedicated and trusted area for users. If plugin authors don’t keep up with support topics on WordPress.org, we can no longer glean any statistics, and it is more difficult for users to identify which plugins are supported. I have been really happy to see so many users already benefit from the new tools we are giving developers. That’s a win-win to me.</p> <p>We think — and I think you probably agree — that these changes provide a far better experience for individuals looking for help. By choosing to have two support forums, you’ve already fragmented the experience for your users. (I imagine they even need to create a second account to simply provide feedback or ask a question.) Now you are experiencing this same thing for yourself.</p> <p>We may consider the ability to specify a location for support in the future, but we’d like to try this out for a while. And at least on WordPress.org, we can also guarantee your users will be greeted with the proper spelling of WordPress. <img src="https://web.archive.org/web/20130124095632im_/http://make.wordpress.org/plugins/wp-includes/images/smilies/icon_wink.gif" alt=";-)" class="wp-smiley"/> </p> </div> <ul class="children"> <li id="comment-10" class="comment byuser comment-author-jb510 even depth-3"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://1.gravatar.com/avatar/f1c8858594659f20b4e99d65d0855f7c?s=32&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://profiles.wordpress.org/users/jb510/" rel="external nofollow" class="url">Jon Brown</a> <span class="meta"> <abbr title="2012-05-22T04:20:55Z">4:20 am <em>on</em> May 22, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/05/19/plugin-directory-refreshed-what-it-means-for-developers/#comment-10" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/05/19/plugin-directory-refreshed-what-it-means-for-developers/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-10", "10", "respond", "22")">Reply</a> </span> </span> </h4> <div id="commentcontent-10" class="commentcontent"><p>Nacin – While that seems sensible on the surface, many plugins don’t lend themselves to a single forum for support and plugin author’s who’ve built forums with multiple topics… </p> <p>For example I note that both BuddyPress and bbPress link out to their own forums…. as they should since trying to answer the myriad of support requests under a single tag would be a nightmare. I am not a plugin author (yet), but I feel all plugin authors ought to have this same option available to them to link to their own support location. </p> <p>Further there is still no good easy way (that I know of) to search a single plugin’s forum to see if a topic has been mentioned and resolved previously which is what has always rendered the forums on WordPress.org minimally useful to me.</p> </div> </li> </ul> </li> <li id="comment-12" class="comment byuser comment-author-netweblogic odd alt depth-2"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://1.gravatar.com/avatar/32b1b817990a4fe40d4d1561517d095a?s=32&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://profiles.wordpress.org/users/netweblogic/" rel="external nofollow" class="url">Marcus</a> <span class="meta"> <abbr title="2012-05-22T12:24:09Z">12:24 pm <em>on</em> May 22, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/05/19/plugin-directory-refreshed-what-it-means-for-developers/#comment-12" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/05/19/plugin-directory-refreshed-what-it-means-for-developers/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-12", "12", "respond", "22")">Reply</a> </span> </span> </h4> <div id="commentcontent-12" class="commentcontent"><p>would definitely like this. tried resolving topics myself yesterday, not really up for it <img src="https://web.archive.org/web/20130124095632im_/http://make.wordpress.org/plugins/wp-includes/images/smilies/icon_smile.gif" alt=":)" class="wp-smiley"/> </p> <p>Touching on Arnan’s comment above, I must admit I do feel the same way somewhat. Whilst I do value being able to support on WP and agree that ideally (but may not be realistic) support should be on wp.org, I don’t think statistics is a productive feature, at least as it stands right now.</p> <p>Constructive criticism below:</p> <p>Take my (the author’s) point of view and my plugin – <a href="https://web.archive.org/web/20130124095632/http://wordpress.org/extend/plugins/events-manager/" rel="nofollow">http://wordpress.org/extend/plugins/events-manager/</a></p> <p>The wp support forum is usually visited at least once a day during the week. I myself go through this plugin support forum every weekday when possible, yet as it stands right now the stats are:</p> <p>15 of 84 support threads in the last three weeks have been resolved.</p> <p>However, look at the forum, and you’ll see they’ve pretty much all been answered by me or angelonwl.</p> <p>There’s a few issues here right off the bat:</p> <ul> <li>Various questions get resolved by the opener somehow, but the topic never gets updated.</li> <li>Some things are just unreasonable to ask from the author (i.e. how do I completely change this plugin to do what I want?), yet they count as an unresolved question.</li> <li>Various questions aren’t support questions.</li> </ul> <p>I’m sure there’s more, but the above is already enough to, in my opinion, make this a misleading bit of information.</p> <p>As an author, I’m now expected to keep track of 3 weeks of questions, and resolve them proactively, since <50% (way less) of users will update tickets when they resolve things themselves. What's worse, contributors can't help out. I think this is unreasonable, and whilst I don't mind making do, I think this will decrease the overall experience in WP, with some immediate downfalls:</p> <ul> <li>Good plugins will likely get misleading support stats.</li> <li>This will likely dishearten many authors, meaning less quality plugins being made for WP.</li> <li>I’m sure you’ll see on the forum a “hey my issue isnt’ resolved!” because it’ll become tempted to resolve every topic one answers.</li> </ul> <p>I think the most important thing for you to implement to make this work would be some sort of auto-approve or nullify tickets that the creator doesn’t keep on top of (e.g. it becomes not a support question if the author doesn’t reply to our reply in say a week). Or maybe a response rate?</p> <p>Don’t even get me started on the works/doesn’t work stats too! <img src="https://web.archive.org/web/20130124095632im_/http://make.wordpress.org/plugins/wp-includes/images/smilies/icon_wink.gif" alt=";)" class="wp-smiley"/> </p> </div> <ul class="children"> <li id="comment-13" class="comment byuser comment-author-netweblogic even depth-3"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://1.gravatar.com/avatar/32b1b817990a4fe40d4d1561517d095a?s=32&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://profiles.wordpress.org/users/netweblogic/" rel="external nofollow" class="url">Marcus</a> <span class="meta"> <abbr title="2012-05-22T12:30:53Z">12:30 pm <em>on</em> May 22, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/05/19/plugin-directory-refreshed-what-it-means-for-developers/#comment-13" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/05/19/plugin-directory-refreshed-what-it-means-for-developers/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-13", "13", "respond", "22")">Reply</a> </span> </span> </h4> <div id="commentcontent-13" class="commentcontent"><p>by “would definitely like THIS”, i meant letting contributors be able to resolve tickets</p> </div> </li> <li id="comment-10202" class="comment byuser comment-author-sweetee odd alt depth-3"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://1.gravatar.com/avatar/f333edae71528d2faf64e2bb75d8da0e?s=32&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> sweetee <span class="meta"> <abbr title="2012-10-31T06:48:48Z">6:48 am <em>on</em> October 31, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/05/19/plugin-directory-refreshed-what-it-means-for-developers/#comment-10202" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/05/19/plugin-directory-refreshed-what-it-means-for-developers/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-10202", "10202", "respond", "22")">Reply</a> </span> </span> </h4> <div id="commentcontent-10202" class="commentcontent"><p>great…</p> </div> </li> <li id="comment-27356" class="comment even depth-3"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/07be247e700a7c7e5630214c40ae4098?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> Marcel <span class="meta"> <abbr title="2013-01-12T09:00:54Z">9:00 am <em>on</em> January 12, 2013</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/05/19/plugin-directory-refreshed-what-it-means-for-developers/#comment-27356" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/05/19/plugin-directory-refreshed-what-it-means-for-developers/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-27356", "27356", "respond", "22")">Reply</a> </span> </span> </h4> <div id="commentcontent-27356" class="commentcontent"><p>+1 for including response rate statistic. Many support requests cannot be resolved because users ask for functionality that the plugin does not, or never will, offer. A state like ’10 of 12 support threads answered by plugin contributor’ would give users a better insight in plugin contributors involvement.</p> </div> </li> </ul> </li> </ul> </li> <li id="comment-4" class="comment byuser comment-author-netweblogic odd alt thread-odd thread-alt depth-1"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://1.gravatar.com/avatar/32b1b817990a4fe40d4d1561517d095a?s=32&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://profiles.wordpress.org/users/netweblogic/" rel="external nofollow" class="url">Marcus</a> <span class="meta"> <abbr title="2012-05-21T17:30:01Z">5:30 pm <em>on</em> May 21, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/05/19/plugin-directory-refreshed-what-it-means-for-developers/#comment-4" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/05/19/plugin-directory-refreshed-what-it-means-for-developers/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-4", "4", "respond", "22")">Reply</a> </span> </span> </h4> <div id="commentcontent-4" class="commentcontent"><p>Great work guys! The plugin page keeps looking better and better.</p> <p>Who can ‘resolve’ topics, by that I mean committers, contributors etc. of a plugin?</p> <p>Is there a way to add users that aren’t committers/contributors so topics can be resolved?</p> </div> <ul class="children"> <li id="comment-6" class="comment byuser comment-author-nacin bypostauthor even depth-2"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/01cfe9feaafb068590891bbd1f6a7f5a?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://profiles.wordpress.org/users/nacin/" rel="external nofollow" class="url">Andrew Nacin</a> <span class="meta"> <abbr title="2012-05-21T18:41:34Z">6:41 pm <em>on</em> May 21, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/05/19/plugin-directory-refreshed-what-it-means-for-developers/#comment-6" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/05/19/plugin-directory-refreshed-what-it-means-for-developers/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-6", "6", "respond", "22")">Reply</a> </span> </span> </h4> <div id="commentcontent-6" class="commentcontent"><p>Committers can resolve topics. At the moment, there isn’t a way to grant someone permission to resolve topics without making them a committer. It might be something we add in the future.</p> </div> </li> </ul> </li> <li id="comment-5" class="comment byuser comment-author-joostdevalk odd alt thread-even depth-1"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://1.gravatar.com/avatar/f08c3c3253bf14b5616b4db53cea6b78?s=32&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://yoast.com/" rel="external nofollow" class="url">Joost de Valk</a> <span class="meta"> <abbr title="2012-05-21T18:37:45Z">6:37 pm <em>on</em> May 21, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/05/19/plugin-directory-refreshed-what-it-means-for-developers/#comment-5" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/05/19/plugin-directory-refreshed-what-it-means-for-developers/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-5", "5", "respond", "22")">Reply</a> </span> </span> </h4> <div id="commentcontent-5" class="commentcontent"><p>Awesome guys, thanks for all the hard work!</p> </div> </li> <li id="comment-7" class="comment even thread-odd thread-alt depth-1"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://1.gravatar.com/avatar/d913a4fe9a3055badf782af47701267a?s=32&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://twentyfiveautumn.com/" rel="external nofollow" class="url">ray</a> <span class="meta"> <abbr title="2012-05-21T20:57:52Z">8:57 pm <em>on</em> May 21, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/05/19/plugin-directory-refreshed-what-it-means-for-developers/#comment-7" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/05/19/plugin-directory-refreshed-what-it-means-for-developers/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-7", "7", "respond", "22")">Reply</a> </span> </span> </h4> <div id="commentcontent-7" class="commentcontent"><p>I’m looking for a like button on this page… thanks</p> </div> </li> <li id="comment-9" class="comment odd alt thread-even depth-1"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://1.gravatar.com/avatar/914b651ae020e26736e1c6a615cde147?s=32&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://www.s2member.com/" rel="external nofollow" class="url">Jason Caldwell</a> <span class="meta"> <abbr title="2012-05-22T00:51:07Z">12:51 am <em>on</em> May 22, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/05/19/plugin-directory-refreshed-what-it-means-for-developers/#comment-9" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/05/19/plugin-directory-refreshed-what-it-means-for-developers/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-9", "9", "respond", "22")">Reply</a> </span> </span> </h4> <div id="commentcontent-9" class="commentcontent"><p>Just wanted to say thanks for the recent changes to the plugin directory, profiles, and the support forums. Great work over there!</p> <p>I do want to make a request though. PLEASE give plugin developers the ability to use their own external support forums. That is, please make it possible (perhaps through a readme.txt file), for developers to use an external support forum system of their own.</p> <p>Many of the best plugins thrive on support, and you can’t expect us to operate our support departments within an outline set forth by WordPress.org. That is, we can’t be expected to use the support system that WordPress.org uses (we need to use what works for us).</p> <p>I, like many other plugin developers, have my own administrative system, support forum system, along with employees to assist me. As the plugin directory exists now, all support is expected to take place at WordPress.org, which is just not realistic. This is only going to result in people getting the wrong impression about plugins in your directory, because they’re looking for (and expecting) support from the forums at WordPress.org. When, in reality, the support for many plugins occurs offsite. Let’s give plugin developers the ability to direct WordPress site owners to the proper location.</p> </div> </li> <li id="comment-11" class="comment byuser comment-author-myatu even thread-odd thread-alt depth-1"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/4cb8eb41a71d7d6228969ae9da2f793d?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://www.myatus.com/" rel="external nofollow" class="url">Myatu</a> <span class="meta"> <abbr title="2012-05-22T06:40:24Z">6:40 am <em>on</em> May 22, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/05/19/plugin-directory-refreshed-what-it-means-for-developers/#comment-11" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/05/19/plugin-directory-refreshed-what-it-means-for-developers/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-11", "11", "respond", "22")">Reply</a> </span> </span> </h4> <div id="commentcontent-11" class="commentcontent"><p>Couple things…</p> <p>Is there a way to see how many people have actually marked a plugin as their favorite, and optionally, who?</p> <p>Also, I’d really like to see the email subscriptions for support threads back again, the sooner the better. </p> <p>As for support itself goes, that needs some work with respect to what the plugin developer wants (better said, can do). I can understand your point about the consistency in user experience across WordPress plugins and an ability to measure plugin quality, but at the same time, what if a plugin developer would like – or already uses – a ticket system, provides phone support, use their own forum or simply use good ‘ol email, then what? There’s currently no method to integrate that with WordPress.org’s plugin listings, nor do they count toward the quality measurements. </p> <p>Something to consider perhaps, is improve the way users can vote on a plugin. More often than not, people do not vote. They install, and use it. Don’t like it, uninstall. That’s it. So, if a user uninstalls, why not ask them “Why are you uninstalling this plugin?” – plugin developers and the community could do with that sort of feedback. And voting from within the WordPress plugins page would be another option, though some care has to be taken to avoid someone using a “bot” on that (which is detectable, and could perhaps be reason for removal).</p> </div> </li> <li id="comment-117" class="comment byuser comment-author-mikechallis odd alt thread-even depth-1"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://1.gravatar.com/avatar/f3fdcb2aa47cff0320a248880c50820a?s=32&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://profiles.wordpress.org/users/MikeChallis/" rel="external nofollow" class="url">Mike Challis</a> <span class="meta"> <abbr title="2012-05-25T18:14:28Z">6:14 pm <em>on</em> May 25, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/05/19/plugin-directory-refreshed-what-it-means-for-developers/#comment-117" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/05/19/plugin-directory-refreshed-what-it-means-for-developers/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-117", "117", "respond", "22")">Reply</a> </span> </span> </h4> <div id="commentcontent-117" class="commentcontent"><p>As a plugin author, I now have the ability to make a sticky post. Thanks.<br/> But after 10 minutes(or 20 or whatever) I have no ability to edit any of my posts. A sticky post is not very useful if I will not be able to edit it later if needed. Please give plugin authors the ability to edit their own posts.</p> </div> <ul class="children"> <li id="comment-119" class="comment byuser comment-author-nacin bypostauthor even depth-2"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/01cfe9feaafb068590891bbd1f6a7f5a?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://profiles.wordpress.org/users/nacin/" rel="external nofollow" class="url">Andrew Nacin</a> <span class="meta"> <abbr title="2012-05-25T18:30:25Z">6:30 pm <em>on</em> May 25, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/05/19/plugin-directory-refreshed-what-it-means-for-developers/#comment-119" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/05/19/plugin-directory-refreshed-what-it-means-for-developers/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-119", "119", "respond", "22")">Reply</a> </span> </span> </h4> <div id="commentcontent-119" class="commentcontent"><p>It’s on our list, Mike. I’ll likely get to it after the weekend.</p> </div> </li> </ul> </li> <li id="comment-128" class="comment byuser comment-author-ipstenu odd alt thread-odd thread-alt depth-1"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/abfd4ff9c24957f1a9f0435e23de1f73?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://halfelf.org/" rel="external nofollow" class="url">Ipstenu</a> <span class="meta"> <abbr title="2012-05-25T20:16:07Z">8:16 pm <em>on</em> May 25, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/05/19/plugin-directory-refreshed-what-it-means-for-developers/#comment-128" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/05/19/plugin-directory-refreshed-what-it-means-for-developers/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-128", "128", "respond", "22")">Reply</a> </span> </span> </h4> <div id="commentcontent-128" class="commentcontent"><p>Forum mod hat <img src="https://web.archive.org/web/20130124095632im_/http://make.wordpress.org/plugins/wp-includes/images/smilies/icon_wink.gif" alt=";)" class="wp-smiley"/> </p> <p>The support forums have always been there for plugins, whether or not you used them. So this does make them more prominent, but for now if you don’t want to use them (and you certainly dont have to) I would do this:</p> <p>1) Put a link to your support location in your readme. No support at all? Just say that too <img src="https://web.archive.org/web/20130124095632im_/http://make.wordpress.org/plugins/wp-includes/images/smilies/icon_smile.gif" alt=":)" class="wp-smiley"/><br/> 2) Make a sticky ‘This plugin not supported on these forums.’ And inside, a link to where it is.</p> <p>No, it’s not perfect, but when the mods come through and clean up snark like ‘Bob’s a bad dev! He doesn’t help me!’ we can say ‘Well, actually, RTFM. Bob said to go to bobplugins.com instead.’</p> </div> <ul class="children"> <li id="comment-3716" class="comment byuser comment-author-mranil even depth-2"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/a518a2caf4fcca0e83fe44986f382394?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://www.sthaanil.com.np/" rel="external nofollow" class="url">mranil</a> <span class="meta"> <abbr title="2012-09-16T17:12:33Z">5:12 pm <em>on</em> September 16, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/05/19/plugin-directory-refreshed-what-it-means-for-developers/#comment-3716" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/05/19/plugin-directory-refreshed-what-it-means-for-developers/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-3716", "3716", "respond", "22")">Reply</a> </span> </span> </h4> <div id="commentcontent-3716" class="commentcontent"><p>Great!!!</p> </div> </li> </ul> </li> </li> </li> </li> </li> </li> </li> </li> </li> </li> </li> <li id="comment-25073" class="comment byuser comment-author-zorro1965 odd alt thread-even depth-1"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://1.gravatar.com/avatar/f071e400117d20cd95eb5a0bac7584ca?s=32&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://www.s4strategy.com/" rel="external nofollow" class="url">zorro1965</a> <span class="meta"> <abbr title="2012-12-14T04:32:58Z">4:32 am <em>on</em> December 14, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/05/19/plugin-directory-refreshed-what-it-means-for-developers/#comment-25073" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/05/19/plugin-directory-refreshed-what-it-means-for-developers/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-25073", "25073", "respond", "22")">Reply</a> </span> </span> </h4> <div id="commentcontent-25073" class="commentcontent"><p>I have been so waiting for this to become a feature. So much easier then trying to keep a place where you have all these plugin details archived. </p> <p>Being able to access these in the backend after you have them marked is HUGE…! </p> <p>Now I only have a few suggestions for future. </p> <p>1. Allow the member to have ability to create their own categories for favorites to help quickly sort through what you need for a kind of site you are working on or group them for other reasons. </p> <p>2. Have a different view choices to see excerpt of description, last updated, ratings, # downloads</p> <p>Thanks very much,</p> <p>Zorro………</p> </div> </li> </li> </li> </li> </ul> </li> <li id="prologue-11" class="post-11 post type-post status-publish format-standard hentry category-uncategorized tag-trademarks"> <a href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/author/nacin/" title="Posts by Andrew Nacin ( @nacin )" class="post-avatar"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/01cfe9feaafb068590891bbd1f6a7f5a?s=48&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D48&r=G" class="avatar avatar-48 photo" height="48" width="48"/> </a> <h4> <a href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/author/nacin/" title="Posts by Andrew Nacin ( @nacin )">Andrew Nacin</a> <span class="meta"> <abbr title="2012-05-11T05:21:37Z">5:21 am <em>on</em> May 11, 2012</abbr> <span class="actions"> <a href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/05/11/the-wordpress-trademark-and-domain-names/" class="thepermalink" title="Permalink">Permalink</a> | <a rel="nofollow" title="Reply" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/05/11/the-wordpress-trademark-and-domain-names/#respond" onclick="return addComment.moveForm("comments-11", "0", "respond", "11")">Reply</a> </span> <span class="tags"> <br/>Tags: trademarks </span> </span> </h4> <div id="content-11" class="postcontent"> <h2><a href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/05/11/the-wordpress-trademark-and-domain-names/">The WordPress trademark and domain names </a></h2><p>A friendly reminder to plugin authors: Per <a href="https://web.archive.org/web/20130124095632/http://wordpressfoundation.org/trademark-policy/">the WordPress trademark policy</a>, do not use “wordpress” in your domain name. We have been actively notifying developers that reference such domains in readme files or plugin headers. If you are violating the trademark, please update your plugins. Your next step should be to switch to another domain.</p> <p>As our <a href="https://web.archive.org/web/20130124095632/http://wordpress.org/about/domains/">page on wordpress.org</a> says, “We see this most frequently with spammy sites distributing plugins and themes with malware in them, which you probably don’t want to be associated with.”</p> </div> <div class="discussion" style="display: none"> <p> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/e5a23418e96dc26518b356f78f6c27ef?s=16&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D16&r=G" class="avatar avatar-16 photo" height="16" width="16"/> <a href="https://web.archive.org/web/20130124095632/http://www.driesbultynck.be/" rel="external nofollow" class="url">Dries</a> is discussing. <a href="#" class="show-comments">Toggle Comments</a> </p> </div> <div class="bottom-of-entry"> </div> <ul id="comments-11" class="commentlist inlinecomments"> <li id="comment-3837" class="comment even thread-even depth-1"> <img alt="" src="https://web.archive.org/web/20130124095632im_/http://0.gravatar.com/avatar/e5a23418e96dc26518b356f78f6c27ef?s=32&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G" class="avatar avatar-32 photo" height="32" width="32"/> <h4> <a href="https://web.archive.org/web/20130124095632/http://www.driesbultynck.be/" rel="external nofollow" class="url">Dries</a> <span class="meta"> <abbr title="2012-09-26T15:22:41Z">3:22 pm <em>on</em> September 26, 2012</abbr> <span class="actions"> <a class="thepermalink" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/05/11/the-wordpress-trademark-and-domain-names/#comment-3837" title="Permalink">Permalink</a> | <a rel="nofollow" class="comment-reply-link" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/2012/05/11/the-wordpress-trademark-and-domain-names/#respond" title="Reply" onclick="return addComment.moveForm("commentcontent-3837", "3837", "respond", "11")">Reply</a> </span> </span> </h4> <div id="commentcontent-3837" class="commentcontent"><p>Is there a same policy for plugins as well?</p> </div> </li> </ul> </li> </ul> <div class="navigation"> <p class="nav-older"><a href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/page/2/">← Older posts</a></p> <p class="nav-newer"></p> </div> </div> <!-- main --> </div> <!-- sleeve --> <div class="clear"></div> </div> <!-- // wrapper --> <div id="notify"></div> <div id="help"> <dl class="directions"> <dt>c</dt><dd>compose new post</dd> <dt>j</dt><dd>next post/next comment</dd> <dt>k</dt> <dd>previous post/previous comment</dd> <dt>r</dt> <dd>reply</dd> <dt>e</dt> <dd>edit</dd> <dt>o</dt> <dd>show/hide comments</dd> <dt>t</dt> <dd>go to top</dd> <dt>l</dt> <dd>go to login</dd> <dt>h</dt> <dd>show/hide help</dd> <dt>shift + esc</dt> <dd>cancel</dd> </dl> </div> <div id="footer"> <div class="wrapper"> <p> <a href="https://web.archive.org/web/20130124095632/http://wordpress.org/about/privacy/">Privacy</a> | <a href="https://web.archive.org/web/20130124095632/http://wordpress.org/about/license/">License / GPLv2</a> See also: <a href="https://web.archive.org/web/20130124095632/http://wordpress.com/?ref=wporg-footer" title="Hassle-free WP hosting">Hosted WordPress.com</a> | <a href="https://web.archive.org/web/20130124095632/http://wordpress.tv/" title="Videos, tutorials, WordCamps">WordPress.TV Videos</a> | <a href="https://web.archive.org/web/20130124095632/http://central.wordcamp.org/" title="Find a WordPress event near your home">WordCamp Events</a> | <a href="https://web.archive.org/web/20130124095632/http://buddypress.org/" title="A set of plugins to transform your WordPress into a social network">BuddyPress Social Layer</a> | <a href="https://web.archive.org/web/20130124095632/http://bbpress.org/" title="Fast, slick forums built on WordPress">bbPress Forums</a> | <a href="https://web.archive.org/web/20130124095632/http://jobs.wordpress.net/" title="Find or post WordPress jobs">WP Jobs</a> | <a href="https://web.archive.org/web/20130124095632/http://ma.tt/" title="Co-founder of WordPress, an example of what WordPress can do">Matt</a> </p> <br/> <iframe src="https://web.archive.org/web/20130124095632if_/http://www.facebook.com/plugins/like.php?app_id=121415197926116&href=http%3A%2F%2Fwww.facebook.com%2Fwordpress&send=false&layout=button_count&width=150&show_faces=false&action=like&colorscheme=light&font=lucida+grande&height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:150px; height:21px;" allowtransparency="true"></iframe> <!-- <div class="g-plusone" data-size="medium" data-href="https://plus.google.com/107188080561309681193"></div> --> <iframe allowtransparency="true" frameborder="0" scrolling="no" src="https://web.archive.org/web/20130124095632if_/http://platform.twitter.com/widgets/follow_button.html?screen_name=WordPress&show_count=false" style="width:150px; height:20px;"></iframe> <h6>Code is Poetry</h6> </div> </div> <script type="text/javascript">_qoptions={qacct:"p-18-mFEk4J448M"};</script> <script type="text/javascript" src="https://web.archive.org/web/20130124095632js_/http://edge.quantserve.com/quant.js"></script> <noscript><img src="https://web.archive.org/web/20130124095632im_/http://pixel.quantserve.com/pixel/p-18-mFEk4J448M.gif" style="display: none;" border="0" height="1" width="1" alt=""/></noscript> <!-- 381 queries. 2.308 seconds. --> <script type="text/javascript" src="https://web.archive.org/web/20130124095632js_/http://s.gravatar.com/js/gprofiles.js"></script> <script type="text/javascript"> (function() { var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true; po.src = 'https://web.archive.org/web/20130124095632/https://apis.google.com/js/plusone.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s); })(); </script> <script type="text/javascript"> (function($){ $(document).ready(function() { $('#footer a').click(function() { if (this.href.indexOf('wordpress.org') == -1 && this.href.indexOf('http') == 0) { recordOutboundLink(this, 'Outbound Links', this.href); return false; } }); }); })(jQuery); </script> </body> </html> <div style="display:none"> <div class="grofile-hash-map-69b0de85716398ca88ec4c7f04bb2d29"> </div> <div class="grofile-hash-map-5af525fba95b93c4e0c8a03b639c9486"> </div> <div class="grofile-hash-map-b8677d2f3fe258d78962262f7a23dc0c"> </div> <div class="grofile-hash-map-84987b436214f52ec0b04cd1f8a73c3c"> </div> <div class="grofile-hash-map-f0785fb2c95792e4f9077ae03333dd90"> </div> <div class="grofile-hash-map-32b1b817990a4fe40d4d1561517d095a"> </div> <div class="grofile-hash-map-edcaf8a5c1dc7c741113d772e767bfc2"> </div> <div class="grofile-hash-map-84987b436214f52ec0b04cd1f8a73c3c"> </div> <div class="grofile-hash-map-abfd4ff9c24957f1a9f0435e23de1f73"> </div> <div class="grofile-hash-map-2fd3ef87c973ca9790c4bcebbe5b6c0b"> </div> <div class="grofile-hash-map-67a5d7147ad4d635f04e0a712ccd0f8e"> </div> <div class="grofile-hash-map-9ac41a1b2f8d00cf4c3f3a69d647cd5a"> </div> <div class="grofile-hash-map-abfd4ff9c24957f1a9f0435e23de1f73"> </div> <div class="grofile-hash-map-ec03c4a1531569658b0eed7b155c4053"> </div> <div class="grofile-hash-map-e2fe56c959752e5a5b6e2635fa9fb0d1"> </div> <div class="grofile-hash-map-81df87e0d3e269d6fa6a17c6914fd656"> </div> <div class="grofile-hash-map-0994d5e2e158a24ba8017c2525d78263"> </div> <div class="grofile-hash-map-9cf7c4541a582729a5fc7ae484786c0c"> </div> <div class="grofile-hash-map-2cffb19eae4c61e51884d4648b2a3ed9"> </div> <div class="grofile-hash-map-0994d5e2e158a24ba8017c2525d78263"> </div> <div class="grofile-hash-map-5635d8b9af0ca5efef1b5ff7d20b73a9"> </div> <div class="grofile-hash-map-ee77adf6adc6fe90b388f97b0bd912b2"> </div> <div class="grofile-hash-map-3982abebd0a6ec871c022e502cc016f1"> </div> <div class="grofile-hash-map-cb6dde7765d8597e7d1dd00b4b0a255b"> </div> <div class="grofile-hash-map-dc81f25fbf02be730a0b10faf7604f63"> </div> <div class="grofile-hash-map-f27b79eb04eb414c4c1fc98375fe7404"> </div> <div class="grofile-hash-map-e85c68d8c9c348537e2342f529a9a964"> </div> <div class="grofile-hash-map-c73e99c730d3d4283a8fedae8d14ab25"> </div> <div class="grofile-hash-map-1cf0770522223715996d00a7fe911003"> </div> <div class="grofile-hash-map-767fc9c115a1b989744c755db47feb60"> </div> <div class="grofile-hash-map-5ba06f8d1944b4170f92681e61975901"> </div> <div class="grofile-hash-map-22bac44175a8d184f052df428668656d"> </div> <div class="grofile-hash-map-0466f9ae4f90333eee0fc56dbc936186"> </div> <div class="grofile-hash-map-8b8819e436f25e41ac736bd383d6fd5b"> </div> <div class="grofile-hash-map-f1c8858594659f20b4e99d65d0855f7c"> </div> <div class="grofile-hash-map-f9bb98e439bf7efdf51993e1e70957ae"> </div> <div class="grofile-hash-map-55a5872ee357de7ef8a028232225e816"> </div> <div class="grofile-hash-map-128c2cfc3632a7d1afea1ab16db2cb79"> </div> <div class="grofile-hash-map-f25f324a47a1efdf7a745e0b2e3c878f"> </div> <div class="grofile-hash-map-e538ca4cb34839d4e5e3ccf20c37c67b"> </div> <div class="grofile-hash-map-862232869e97504a72e14f9b91c7c157"> </div> <div class="grofile-hash-map-5c582d3e1d8d4e3b337a474d436e3b41"> </div> <div class="grofile-hash-map-3bdb31d3545a842ad0f5bd20a5ce4fa6"> </div> <div class="grofile-hash-map-55a5872ee357de7ef8a028232225e816"> </div> <div class="grofile-hash-map-5ced07fed52d5a228c4372fb7357fcfa"> </div> <div class="grofile-hash-map-f26fa41f2e44163667fcb742a2baa02b"> </div> <div class="grofile-hash-map-90ce382a2d8b08ce381c54bc518c8fff"> </div> <div class="grofile-hash-map-750b7b0fcd855389264c2b1294d61bd6"> </div> <div class="grofile-hash-map-90d92d1eebb65d4ab94a290d43bdc84c"> </div> <div class="grofile-hash-map-c981ddb9943c25d0e5165ebab58e1d04"> </div> <div class="grofile-hash-map-21516b655ddbab58fb5001eadecc8428"> </div> <div class="grofile-hash-map-c04243faa017bacc715ff4d22fad280c"> </div> <div class="grofile-hash-map-310abc9d873d41cede1258891d6bcaf3"> </div> <div class="grofile-hash-map-c422d58d80cf37281d34221f21a4a557"> </div> <div class="grofile-hash-map-01f240c4ae83d30e89725a7b57c8daae"> </div> <div class="grofile-hash-map-6b3a9829ae7deef9807c370186301d2b"> </div> <div class="grofile-hash-map-a6e3065cfd7fb706a3f97af97219244e"> </div> <div class="grofile-hash-map-7b8739190045090675c5a366f537fb35"> </div> <div class="grofile-hash-map-c422d58d80cf37281d34221f21a4a557"> </div> <div class="grofile-hash-map-ab89ce39f47b327f1c85e4019e865a71"> </div> <div class="grofile-hash-map-e59dee8a3306722a0d13be6370770151"> </div> <div class="grofile-hash-map-c04b0c1247c7dacff850164bfcea6a55"> </div> <div class="grofile-hash-map-e1b83d0662ba79d6559f36f997a3c813"> </div> <div class="grofile-hash-map-3c0d20db0e8911bc94be89c0cd9c0399"> </div> <div class="grofile-hash-map-a2d93c6b2d52da8eaf11b934b3c23123"> </div> <div class="grofile-hash-map-8584491809f902b86fae495a5830be83"> </div> <div class="grofile-hash-map-01cfe9feaafb068590891bbd1f6a7f5a"> </div> <div class="grofile-hash-map-07be247e700a7c7e5630214c40ae4098"> </div> <div class="grofile-hash-map-f071e400117d20cd95eb5a0bac7584ca"> </div> <div class="grofile-hash-map-f333edae71528d2faf64e2bb75d8da0e"> </div> <div class="grofile-hash-map-a518a2caf4fcca0e83fe44986f382394"> </div> <div class="grofile-hash-map-01cfe9feaafb068590891bbd1f6a7f5a"> </div> <div class="grofile-hash-map-f3fdcb2aa47cff0320a248880c50820a"> </div> <div class="grofile-hash-map-4cb8eb41a71d7d6228969ae9da2f793d"> </div> <div class="grofile-hash-map-914b651ae020e26736e1c6a615cde147"> </div> <div class="grofile-hash-map-d913a4fe9a3055badf782af47701267a"> </div> <div class="grofile-hash-map-f08c3c3253bf14b5616b4db53cea6b78"> </div> <div class="grofile-hash-map-9a2a63aba6e0e894c2f42752d974be28"> </div> <div class="grofile-hash-map-e5a23418e96dc26518b356f78f6c27ef"> </div> </div> <script type="text/javascript"> /* <![CDATA[ */ jQuery( document ).ready( function( $ ) { function hideComments() { $('.commentlist').hide(); $('.discussion').show(); } function showComments() { $('.commentlist').show(); $('.discussion').hide(); } $( "#togglecomments" ).click( function() { if ( $( '.commentlist' ).css( 'display' ) == 'none' ) { showComments(); } else { hideComments(); } return false; }); }); /* ]]> */ </script><script type="text/javascript" src="https://web.archive.org/web/20130124095632js_/http://make.wordpress.org/plugins/wp-content/plugins/syntaxhighlighter/syntaxhighlighter3/scripts/shCore.js?ver=3.0.83c"></script> <script type="text/javascript" src="https://web.archive.org/web/20130124095632js_/http://make.wordpress.org/plugins/wp-content/plugins/syntaxhighlighter/syntaxhighlighter3/scripts/shBrushPhp.js?ver=3.0.83c"></script> <script type="text/javascript"> (function(){ var corecss = document.createElement('link'); var themecss = document.createElement('link'); var corecssurl = "https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/wp-content/plugins/syntaxhighlighter/syntaxhighlighter3/styles/shCore.css?ver=3.0.83c"; if ( corecss.setAttribute ) { corecss.setAttribute( "rel", "stylesheet" ); corecss.setAttribute( "type", "text/css" ); corecss.setAttribute( "href", corecssurl ); } else { corecss.rel = "stylesheet"; corecss.href = corecssurl; } document.getElementsByTagName("head")[0].insertBefore( corecss, document.getElementById("syntaxhighlighteranchor") ); var themecssurl = "https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/wp-content/plugins/syntaxhighlighter/syntaxhighlighter3/styles/shThemeDefault.css?ver=3.0.83c"; if ( themecss.setAttribute ) { themecss.setAttribute( "rel", "stylesheet" ); themecss.setAttribute( "type", "text/css" ); themecss.setAttribute( "href", themecssurl ); } else { themecss.rel = "stylesheet"; themecss.href = themecssurl; } //document.getElementById("syntaxhighlighteranchor").appendChild(themecss); document.getElementsByTagName("head")[0].insertBefore( themecss, document.getElementById("syntaxhighlighteranchor") ); })(); SyntaxHighlighter.config.strings.expandSource = '+ expand source'; SyntaxHighlighter.config.strings.help = '?'; SyntaxHighlighter.config.strings.alert = 'SyntaxHighlighter\n\n'; SyntaxHighlighter.config.strings.noBrush = 'Can\'t find brush for: '; SyntaxHighlighter.config.strings.brushNotHtmlScript = 'Brush wasn\'t configured for html-script option: '; SyntaxHighlighter.defaults['pad-line-numbers'] = false; SyntaxHighlighter.defaults['toolbar'] = false; SyntaxHighlighter.all(); </script> <link rel="stylesheet" id="notes-admin-bar-rest-css" href="https://web.archive.org/web/20130124095632cs_/http://s0.wp.com/wp-content/mu-plugins/notes/admin-bar-rest.css?ver=2.0.2-201304" type="text/css" media="all"/> <link rel="stylesheet" id="noticons-css" href="https://web.archive.org/web/20130124095632cs_/http://s0.wp.com/i/noticons/noticons.css?ver=2.0.2-201304" type="text/css" media="all"/> <script type="text/javascript" src="https://web.archive.org/web/20130124095632js_/http://make.wordpress.org/plugins/wp-includes/js/admin-bar.min.js?ver=3.6-alpha-23334"></script> <script type="text/javascript" src="https://web.archive.org/web/20130124095632js_/http://s0.wp.com/wp-content/js/devicepx-jetpack.js?ver=201304"></script> <script type="text/javascript" src="https://web.archive.org/web/20130124095632js_/http://s.gravatar.com/js/gprofiles.js?ver=2013Janaa"></script> <script type="text/javascript"> /* <![CDATA[ */ var WPGroHo = {"my_hash":""}; /* ]]> */ </script> <script type="text/javascript" src="https://web.archive.org/web/20130124095632js_/http://make.wordpress.org/plugins/wp-content/plugins/jetpack/modules/wpgroho.js?ver=3.6-alpha-23334"></script> <script type="text/javascript" src="https://web.archive.org/web/20130124095632js_/http://s1.wp.com/wp-content/js/mustache.js?ver=2.0.2-201304"></script> <script type="text/javascript" src="https://web.archive.org/web/20130124095632js_/http://make.wordpress.org/plugins/wp-includes/js/underscore.min.js?ver=1.4.1"></script> <script type="text/javascript" src="https://web.archive.org/web/20130124095632js_/http://make.wordpress.org/plugins/wp-includes/js/backbone.min.js?ver=0.9.2"></script> <script type="text/javascript" src="https://web.archive.org/web/20130124095632js_/http://s0.wp.com/wp-content/js/postmessage.js?ver=2.0.2-201304"></script> <script type="text/javascript" src="https://web.archive.org/web/20130124095632js_/http://make.wordpress.org/plugins/wp-content/plugins/jetpack/_inc/spin.js?ver=1.2.4"></script> <script type="text/javascript" src="https://web.archive.org/web/20130124095632js_/http://make.wordpress.org/plugins/wp-content/plugins/jetpack/_inc/jquery.spin.js?ver=3.6-alpha-23334"></script> <script type="text/javascript" src="https://web.archive.org/web/20130124095632js_/http://s0.wp.com/wp-content/mu-plugins/notes/notes-rest-common.js?ver=2.0.2-201304"></script> <script type="text/javascript" src="https://web.archive.org/web/20130124095632js_/http://s0.wp.com/wp-content/mu-plugins/notes/admin-bar-rest.js?ver=2.0.2-201304"></script> <script src="https://web.archive.org/web/20130124095632js_/http://stats.wordpress.com/e-201304.js" type="text/javascript"></script> <script type="text/javascript"> st_go({v:'ext',j:'1:2.0.2',blog:'31760039',post:'0'}); var load_cmc = function(){linktracker_init(31760039,0,2);}; if ( typeof addLoadEvent != 'undefined' ) addLoadEvent(load_cmc); else load_cmc(); </script> <div id="wpadminbar" class="nojq nojs" role="navigation"> <a class="screen-reader-shortcut" href="#wp-toolbar" tabindex="1">Skip to toolbar</a> <div class="quicklinks" id="wp-toolbar" role="navigation" aria-label="Top navigation toolbar." tabindex="0"> <ul id="wp-admin-bar-root-default" class="ab-top-menu"> <li id="wp-admin-bar-wp-logo" class="menupop"><a class="ab-item" aria-haspopup="true" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/wp-admin/about.php" title="About WordPress"><span class="ab-icon"></span></a><div class="ab-sub-wrapper"><ul id="wp-admin-bar-wp-logo-external" class="ab-sub-secondary ab-submenu"> <li id="wp-admin-bar-wporg"><a class="ab-item" href="https://web.archive.org/web/20130124095632/http://wordpress.org/">WordPress.org</a> </li> <li id="wp-admin-bar-documentation"><a class="ab-item" href="https://web.archive.org/web/20130124095632/http://codex.wordpress.org/">Documentation</a> </li> <li id="wp-admin-bar-support-forums"><a class="ab-item" href="https://web.archive.org/web/20130124095632/http://wordpress.org/support/">Support Forums</a> </li> <li id="wp-admin-bar-feedback"><a class="ab-item" href="https://web.archive.org/web/20130124095632/http://wordpress.org/support/forum/requests-and-feedback">Feedback</a> </li></ul></div> </li></ul><ul id="wp-admin-bar-top-secondary" class="ab-top-secondary ab-top-menu"> <li id="wp-admin-bar-search" class="admin-bar-search"><div class="ab-item ab-empty-item" tabindex="-1"><form action="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/" method="get" id="adminbarsearch"><input class="adminbar-input" name="s" id="adminbar-search" type="text" value="" maxlength="150"/><input type="submit" class="adminbar-button" value="Search"/></form></div> </li> <li id="wp-admin-bar-log-in"><a class="ab-item" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/wp-login.php">Log In</a> </li> <li id="wp-admin-bar-notes" class="menupop"><div class="ab-item ab-empty-item"><span id="wpnt-notes-unread-count" class="wpnt-loading wpn-read"> <span class="noticon noticon-notification"/></span> </span></div><div id="wpnt-notes-panel" style="display:none"><div class="wpnt-notes-panel-header"><span class="wpnt-notes-header">Notifications</span><span class="wpnt-notes-panel-link"></span></div></div> </li></ul> </div> <a class="screen-reader-shortcut" href="https://web.archive.org/web/20130124095632/http://make.wordpress.org/plugins/wp-login.php?action=logout&_wpnonce=d724dce460">Log Out</a> </div> </body> </html> <!-- FILE ARCHIVED ON 09:56:32 Jan 24, 2013 AND RETRIEVED FROM THE INTERNET ARCHIVE ON 07:27:26 Nov 26, 2024. JAVASCRIPT APPENDED BY WAYBACK MACHINE, COPYRIGHT INTERNET ARCHIVE. ALL OTHER CONTENT MAY ALSO BE PROTECTED BY COPYRIGHT (17 U.S.C. SECTION 108(a)(3)). --> <!-- playback timings (ms): captures_list: 3.538 exclusion.robots: 0.033 exclusion.robots.policy: 0.019 esindex: 0.013 cdx.remote: 20.551 LoadShardBlock: 379.281 (6) PetaboxLoader3.datanode: 396.728 (7) PetaboxLoader3.resolve: 184.63 (2) load_resource: 255.105 -->