That's sounds great to simply say it's required that the theme stands on its own, and any externally-referenced APIs or libraries degrade without errors:<div><br><div><br></div><div><i>Required:</i> Themes must degrade gracefully with no on-screen errors if not connected to the Internet.</div>
<div><br></div><div><i>Why?</i> Many sites, such as internal Intranets, do not always have access to the public Internet; in these cases, the user still deserves predictable and usable output from the theme.</div><div><br>
</div><div><i>Example:</i> An externally referenced Google Font will simply degrade to another font in the stack with no on-screen errors (approved), while the <a href="http://zoom.it">zoom.it</a> API gives an error and no image (not approved).</div>
<div><br></div><div><i>Best practice:</i> In many cases, libraries (such as Google Fonts) can simply be bundled with the theme, giving users the most functional and consistent experience in both situations.</div><div><br>
</div><div><br></div><div><br><br><div class="gmail_quote">On 24 December 2011 13:51, Chip Bennett <span dir="ltr"><<a href="mailto:chip@chipbennett.net">chip@chipbennett.net</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Well, answers that one, then. :)<div><br></div><div>Any other potentially relevant APIs that might be included in Themes?</div><span class="HOEnZb"><font color="#888888"><div><br></div></font></span><div><span class="HOEnZb"><font color="#888888">Chip</font></span><div>
<div class="h5"><br><br><div class="gmail_quote">On Sat, Dec 24, 2011 at 12:33 PM, Amy Hendrix <span dir="ltr"><<a href="mailto:sabreuse@gmail.com" target="_blank">sabreuse@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">From <a href="http://www.google.com/webfonts#AboutPlace:about" target="_blank">http://www.google.com/webfonts#AboutPlace:about</a><br>
<br>
"Open Source Fonts<br>
<br>
All of the fonts are Open Source. This means that you are free to<br>
share your favorites with friends and colleagues. You can even improve<br>
or customize them and collaborate with the original designer. And you<br>
can use them in every way you want, privately or commercially – in<br>
print, on your computer, or in your websites."<br>
<br>
The font contribution form also requires a checkbox statement that the<br>
submitter owns all rights, and a choice of SIL/OpenFont License,<br>
Apache, or "other open-source license". No indication of which others<br>
they'll consider, but the prose description on the about page<br>
certainly at least fits with GPL in spirit.<br>
<div><div><br>
<br>
On Sat, Dec 24, 2011 at 1:24 PM, Chip Bennett <<a href="mailto:chip@chipbennett.net" target="_blank">chip@chipbennett.net</a>> wrote:<br>
> I don't know that all of the Google Font API-available fonts are<br>
> GPL-compatible...<br>
><br>
> Chip<br>
><br>
><br>
> On Sat, Dec 24, 2011 at 11:54 AM, Edward Caissie <<a href="mailto:edward.caissie@gmail.com" target="_blank">edward.caissie@gmail.com</a>><br>
> wrote:<br>
>><br>
>> Why not include, from your example, the Google Font in the package? Is<br>
>> there a benefit to making an API call versus referencing a locally available<br>
>> resource?<br>
>><br>
>><br>
>> Cais.<br>
>><br>
>><br>
>><br>
>> On Sat, Dec 24, 2011 at 11:22 AM, Chip Bennett <<a href="mailto:chip@chipbennett.net" target="_blank">chip@chipbennett.net</a>><br>
>> wrote:<br>
>>><br>
>>> I'm wondering why it would be a *bad* thing to say that all Themes must<br>
>>> be self-contained, and should not hotlink any resources?<br>
>>><br>
>>> (I think API references are okay; e.g. Google Fonts - if they're not<br>
>>> there, the CSS will fall back to another font, so the experience might be<br>
>>> degraded, but it will degrade mostly gracefully.)<br>
>>><br>
>>> Chip<br>
>>><br>
>>><br>
>>> On Sat, Dec 24, 2011 at 9:56 AM, Edward Caissie<br>
>>> <<a href="mailto:edward.caissie@gmail.com" target="_blank">edward.caissie@gmail.com</a>> wrote:<br>
>>>><br>
>>>> @Kirk - Leave a comment to the effect of what Otto has suggested why<br>
>>>> this method should not be used.<br>
>>>><br>
>>>> @Otto et al. - This should go into the Guidelines as *not* "best<br>
>>>> practice", again for the same reason. "Banning" seems like such a harsh word<br>
>>>> to use, I'm thinking simply not-approve-able due to the potential for<br>
>>>> "common" end-user conditions to cause the theme to simply not work, i.e.:<br>
>>>> intranet installation.<br>
>>>><br>
>>>> I'm thinking something along these lines for the Guidelines: Themes must<br>
>>>> be self-contained within themselves and/or the WordPress core functionality.<br>
>>>> For example, externally referenced files may not always be available to the<br>
>>>> end-user and therefore should not be used.<br>
>>>><br>
>>>> The question is now where to put that into the guidelines as I recommend<br>
>>>> it become effective with the "new" 3.3 guidelines. Any one have any<br>
>>>> suggestions?<br>
>>>><br>
>>>><br>
>>>> Cais.<br>
>>>><br>
>>>><br>
>>>><br>
>>>> On Fri, Dec 23, 2011 at 7:42 PM, Otto <<a href="mailto:otto@ottodestruct.com" target="_blank">otto@ottodestruct.com</a>> wrote:<br>
>>>>><br>
>>>>> On Fri, Dec 23, 2011 at 4:32 PM, Kirk Wight <<a href="mailto:kwight@kwight.ca" target="_blank">kwight@kwight.ca</a>> wrote:<br>
>>>>> > In particular, the theme uses a bunch of external APIs for the post<br>
>>>>> > formats;<br>
>>>>> > I've searched the mailing list archives, and didn't find anything<br>
>>>>> > explicitly<br>
>>>>> > banning it, but, well, it weirds me out. A look at how the options<br>
>>>>> > are<br>
>>>>> > implemented would be appreciated too.<br>
>>>>><br>
>>>>> While there's nothing wrong with the files he's including and the<br>
>>>>> sources are trustworthy enough, these files should be included in the<br>
>>>>> theme and not added directly from external sites.<br>
>>>>><br>
>>>>> In particular:<br>
>>>>><br>
>>>>> wp_register_style('html5reset',<br>
>>>>><br>
>>>>> '<a href="http://html5resetcss.googlecode.com/files/html5-reset-1.4.css" target="_blank">http://html5resetcss.googlecode.com/files/html5-reset-1.4.css</a>',false,$theme_data['Version']);<br>
>>>>> wp_enqueue_style( 'html5reset');<br>
>>>>><br>
>>>>> wp_register_script('yui-css','<a href="http://yui.yahooapis.com/2.8.0r4/build/yuiloader/yuiloader-min.js" target="_blank">http://yui.yahooapis.com/2.8.0r4/build/yuiloader/yuiloader-min.js</a>',false,'2.8.0r4');<br>
>>>>> wp_enqueue_script('yui-css');<br>
>>>>> wp_register_script('jquery-template',<br>
>>>>> '<a href="http://nje.github.com/jquery-tmpl/jquery.tmpl.js" target="_blank">http://nje.github.com/jquery-tmpl/jquery.tmpl.js</a>', array('jquery'),<br>
>>>>> '0.1');<br>
>>>>> wp_enqueue_script('jquery-template');<br>
>>>>><br>
>>>>> This is bad because it adds a dependency on those sites. This means<br>
>>>>> the theme won't work for some cases, such as on an internal intranet<br>
>>>>> where the user viewing the site has no access to the public internet<br>
>>>>> (this is a *far* more common use case than you might think).<br>
>>>>><br>
>>>>> While there's no explicit guidelines prohibiting it that I found in<br>
>>>>> the theme review list, I kinda sorta think that it should be banned.<br>
>>>>> There's no good reason a theme can't simply package up these libraries<br>
>>>>> in the theme, presuming the licenses on the libraries is compatible.<br>
>>>>> YUI is BSD licensed, JQuery Template is MIT or GPLv2, and the reset<br>
>>>>> CSS is public domain. All compatible.<br>
>>>>><br>
>>>>> -Otto<br>
>>>>> _______________________________________________<br>
>>>>> theme-reviewers mailing list<br>
>>>>> <a href="mailto:theme-reviewers@lists.wordpress.org" target="_blank">theme-reviewers@lists.wordpress.org</a><br>
>>>>> <a href="http://lists.wordpress.org/mailman/listinfo/theme-reviewers" target="_blank">http://lists.wordpress.org/mailman/listinfo/theme-reviewers</a><br>
>>>><br>
>>>><br>
>>>><br>
>>>> _______________________________________________<br>
>>>> theme-reviewers mailing list<br>
>>>> <a href="mailto:theme-reviewers@lists.wordpress.org" target="_blank">theme-reviewers@lists.wordpress.org</a><br>
>>>> <a href="http://lists.wordpress.org/mailman/listinfo/theme-reviewers" target="_blank">http://lists.wordpress.org/mailman/listinfo/theme-reviewers</a><br>
>>>><br>
>>><br>
>>><br>
>>> _______________________________________________<br>
>>> theme-reviewers mailing list<br>
>>> <a href="mailto:theme-reviewers@lists.wordpress.org" target="_blank">theme-reviewers@lists.wordpress.org</a><br>
>>> <a href="http://lists.wordpress.org/mailman/listinfo/theme-reviewers" target="_blank">http://lists.wordpress.org/mailman/listinfo/theme-reviewers</a><br>
>>><br>
>><br>
>><br>
>> _______________________________________________<br>
>> theme-reviewers mailing list<br>
>> <a href="mailto:theme-reviewers@lists.wordpress.org" target="_blank">theme-reviewers@lists.wordpress.org</a><br>
>> <a href="http://lists.wordpress.org/mailman/listinfo/theme-reviewers" target="_blank">http://lists.wordpress.org/mailman/listinfo/theme-reviewers</a><br>
>><br>
><br>
><br>
> _______________________________________________<br>
> theme-reviewers mailing list<br>
> <a href="mailto:theme-reviewers@lists.wordpress.org" target="_blank">theme-reviewers@lists.wordpress.org</a><br>
> <a href="http://lists.wordpress.org/mailman/listinfo/theme-reviewers" target="_blank">http://lists.wordpress.org/mailman/listinfo/theme-reviewers</a><br>
><br>
_______________________________________________<br>
theme-reviewers mailing list<br>
<a href="mailto:theme-reviewers@lists.wordpress.org" target="_blank">theme-reviewers@lists.wordpress.org</a><br>
<a href="http://lists.wordpress.org/mailman/listinfo/theme-reviewers" target="_blank">http://lists.wordpress.org/mailman/listinfo/theme-reviewers</a><br>
</div></div></blockquote></div><br></div></div></div>
<br>_______________________________________________<br>
theme-reviewers mailing list<br>
<a href="mailto:theme-reviewers@lists.wordpress.org">theme-reviewers@lists.wordpress.org</a><br>
<a href="http://lists.wordpress.org/mailman/listinfo/theme-reviewers" target="_blank">http://lists.wordpress.org/mailman/listinfo/theme-reviewers</a><br>
<br></blockquote></div><br></div></div>