[wp-hackers] Re: WP issues

Geoffrey Sneddon foolistbar at googlemail.com
Wed Jun 27 16:31:35 GMT 2007

As I said I'd do, here's a list of possible solutions:

On 31 May 2007, at 19:55, Geoffrey Sneddon wrote:

> 1. People have been asking for an XML serialiser to be used for all  
> the XML WordPress produces for years. This doesn't exist. This  
> allows invalid bytes to get into XML data. Try parsing <http:// 
> photomatt.net/comments/feed/atom/> with a compliant XML parser.  
> You'll get a fatal error. This is the exact sort of issue that an  
> XML serialiser would avoid.

Add one.

> 2. Having waited years for an Atom 1.0 feed to be offered:
> 	a) We eventually get one that allows malformed XML to be inserted  
> (see 1. above).
> 	b) Uses RFC 822 dates (what part of section 3.3 of RFC 4287 
> [RFC4287] is unclear?).
> 	c) Uses @content for <link> (where did that come from? There's no  
> @content in the entire spec! Please see @href, section 
> [RFC4287].).
> 	d) Claims that the blog title is a MIME type, and when the feed is  
> meant to link to itself it links to the RSS 2.0 feed (what's  
> unclear in section of RFC 4287[RFC4287]?).
> Those four issues are just from a quick glance at the above  
> mentioned feed. Seeming so many of these things are CLEARLY wrong,  
> it looks as if the person who implemented it had NEVER read the  
> Atom 1.0 spec, RFC 4287[RFC4287].

Since fixed.

> 3. Why was no Atom 1.0 feed offered?
> 	a) "Aggregators I tried with the existing patch didn't  
> work."[TICKET1526] — We already offer multiple feeds to make sure  
> the UA can parse one (though in the above case, all of Photo Matt's  
> comment feeds are currently broken, and any parser that parses it  
> is broken).

Don't contradict yourself in parts.

> 	b) "There is no satisfactory patch available."[TICKET1526] —  
> Waiting doesn't seem to have made this much better than patches  
> that were around several years ago, see 2.

Don't randomly decide that "now" is a good time, when this hasn't  

> 	c) "We have no way currently to ensure XHTML  
> validity."[TICKET1526] — See 1.

This hasn't changed, and is still related to 1.

> 4. When will the above (see 2) issues be resolved?
> 	a) There was a bug I reported around six months ago in the Atom  
> 0.3 feed[TICKET3377], which still hasn't been fixed in WordPress  
> 2.0.x, despite the fact it makes the feed totally unusable in some  
> aggregators (Firefox 2.0 included).

Mark Jaquith said in IRC this would be fixed in 2.0.11. Ryan Boren  
has since said such bugfixes will never go into 2.0.x. Can we please  
have consistency between commiters about what does and does not go  
into the 2.0 branch?

> 	b) This bug had been in WordPress for several years, yet remained  
> unfixed, despite the fact that a visit to the feed validator 
> [FEEDVALIDATOR] would have clearly pointed it out.

Validators aren't the end all of conformance, but if they say  
something is wrong, and you can't find anything in the spec to  
contradict it, the validator is probably right.

> 	c) Matt failed to read the report: "Since our feeds currently work  
> everywhere, I'm not inclined to change this."[TICKET3377] (the bug  
> report explicitly cites Firefox 2.0 as breaking). Is it really too  
> much to ask to actually read a bug report before closing as wontfix?

Actually read the bug report?

> 5. WordPress has no guarantee that the XHTML it outputs is well- 
> formed OR valid.
> 	a) Us, as implementers, are allowed to parse XHTML (even when  
> served as text/html) as XML, so WordPress will fail horribly.

Ensure WP's output is well-formed XML.

> 	b) There is no method to switch WordPress to output HTML (so we  
> don't expose users to fatal errors), and this can't be done at a  
> theme level as in places empty tags are closed within WordPress's  
> source. We can't change this without using an XML parser on  
> WordPress's output, but as there is no guarantee it's well-formed,  
> this doesn't help.

Add a method to switch to HTML, or avoid hard-coding any HTML in core.

> 6. WordPress claims that it has "a focus on aesthetics, web  
> standards, and usability."[WORDPRESS]
> 	a) If you focus on web standards, why is that very page served as  
> text/html while having an XHTML 1.1 DOCTYPE? This SHOULD NOT 
> [RFC2119] be done under advice from the old HTML WG[XHTMLMIME]. Can  
> you please cite your reasons in this "particular behavior is  
> acceptable or even useful"[RFC2119] (from the normative definition  
> 	b) WordPress by default uses a DOCTYPE that exists for transiting  
> to standards. If you have a focus on web standards, why is this  
> transition still going on after many years?
> 	c) WordPress uses XHTML served as text/html, which MAY be done.  
> Why does this (the blogosphere) "particular marketplace requires it  
> or because the vendor feels that it enhances the product"[RFC2119]  
> (from the normative definition of MAY)?

Provide reasoning.

> 7. WordPress has on several occasions avoided changing libraries  
> (sometimes to the extent of just not updating them) on grounds on  
> backwards compatibility.
> 	a) We're moving from script.aculo.us to JQuery, but keeping JQuery  
> around for plugins/themes that need it. Why can we not have  
> multiple versions of other libraries (or different libraries that  
> do the same thing)?
> 	b) Better yet, why don't we just have an abstraction layer, so the  
> library is never called directly (and therefore can be swapped  
> without breaking anything)?

The latter suggestion to avoid calling libraries directly makes it  
far easier to switch library.

> 8. There are other bugs that do in many places cause large issues,  
> including but not limited to:
> 	a) IRIs as comment links get stripped (e.g., James Holderness,  
> <http://www.詹姆斯.com/>, posted a comment on my blog. The IRI  
> was rewritten to <http://www..com/>.).

Fix the bug.

> 	b) <blockquote> elements cannot be nested within one another 
> [TICKET1170]. This is marked as closed, although I just recreated  
> it on both 2.2 and 2.3. This bug has been opened for over _TWO  

This has finally been commited after several years of annoyance. If  
we're going to "correct invalidly nested XHTML", can we not change  
correctly nested XHTML?

> 9. There have been several occasions on which Matt has overruled  
> consensus, sometimes giving a reason like "I misunderstood" (does  
> that mean _EVERYONE_ misunderstood, or just you, Matt?).

Don't overrule consensus.

> 10. Matt has claimed that the development process isn't broken  
> because everything gets replied to. I'll continue waiting, then 
> [HACKERS12601]. Oh, and see if anyone replies to this.

Give reasons for actions against your own guidelines.

> 11. WordPress tries to improve the quality of releases by moving  
> onto 120 day releases[HACKERS8907], yet proceeds to break it with  
> the first release on the cycle[CHANGESET5110] (or does tagging not  
> count as "crazy wild fun development"?).

Explain this. See 10 above. This has been asked many times, yet never  

- Geoffrey Sneddon

More information about the wp-hackers mailing list