Skip to the Main Content

Note:These pages make extensive use of the latest XHTML and CSS Standards. They ought to look great in any standards-compliant modern browser. Unfortunately, they will probably look horrible in older browsers, like Netscape 4.x and IE 4.x. Moreover, many posts use MathML, which is, currently only supported in Mozilla. My best suggestion (and you will thank me when surfing an ever-increasing number of sites on the web which have been crafted to use the new standards) is to upgrade to the latest version of your browser. If that's not possible, consider moving to the Standards-compliant and open-source Mozilla browser.

December 12, 2007

MTOS

The Open Source version of MovableType was released today. Or sort-of. What’s available, currently, are nightly builds of the next release, 4.1.

But, now that there’s something to work with, I guess I have no excuse to procrastinate any further about porting my modifications of MovableType to version 4. I hope to migrate the blogs here on Golem from version 3.35 to 4.1, as soon as I feel I have something reasonably stable. There will be glitches, though, and I ask, in advance, for everyone’s forbearance.

More broadly, I’d like to refactor as many of my modifications as possible into plugins or modules (that was the original plan, anyway), and hopefully get the modifications, that can’t be so-refactored, committed to the MTOS source tree. That way, people, who want to set up an XHTML+MathML+SVG capable blog, will, finally, have a plug-‘n-play Open Source solution.

Anyone, with a modest knowledge of Perl, who’s interested in helping make such a next-generation blogging system a reality, let me know. I could really use the help. And making this a group effort will ensure that the end-product reflects the needs and desires of the community.

Posted by distler at December 12, 2007 10:09 AM

TrackBack URL for this Entry:   https://golem.ph.utexas.edu/cgi-bin/MT-3.0/dxy-tb.fcgi/1535

16 Comments & 1 Trackback

Re: MTOS

I posted a note about this to the MT pronet mailing list. Not sure if you are on that one. You might consider getting on the mailing lists for MTOS if you have not already.

Project sounds interesting.

Posted by: Bud Gibson on December 12, 2007 11:06 AM | Permalink | Reply to this

Re: MTOS

This is great news! After years of knowing this was something important to you, I’m glad we’ve finally got a way set up for you to get the features you need, especially since a lot of others could benefit.

Posted by: Anil on December 12, 2007 11:52 AM | Permalink | Reply to this

Re: MTOS

Bud Gibson wrote:

I posted a note about this to the MT pronet mailing list. Not sure if you are on that one. You might consider getting on the mailing lists for MTOS if you have not already.

Lat I checked, there wasn’t any activity on the MTOS Mailing lists. Maybe that’ll change, now that some code has actually been released.

Anil Dash wrote:

This is great news! After years of knowing this was something important to you, I’m glad we’ve finally got a way set up for you to get the features you need, especially since a lot of others could benefit.

I’m excited. And I hope that some of this work ends up benefiting the wider MT community as well.

Posted by: Jacques Distler on December 12, 2007 12:11 PM | Permalink | PGP Sig | Reply to this

Re: MTOS

Count me in if you need a beta tester… :)

Posted by: Villas on January 5, 2008 1:34 PM | Permalink | Reply to this

Care to collaborate?

Just an FYI: over the holidays I plan to try to rewrite my blogging engine in Ruby, this time focusing on an installable package with unit tests. I’ve already started on a port of Venus. I plan to see if there is any common code in Instiki that I can exploit…

Let me know if this interests you.

Posted by: Sam Ruby on December 13, 2007 1:03 PM | Permalink | Reply to this

Re: Care to collaborate?

Just an FYI: over the holidays I plan to try to rewrite my blogging engine in Ruby, this time focusing on an installable package with unit tests.

That will be cool!

I’ll note that the current Instiki seems to have an annoying utf-8 bug, that I have not had the time or good fortune to track down. (There are three unit tests that fail: two associated to bugs in xhtmldiff; the third is the bug I’m talking about.)

It’s some kind of weird interaction between itex2MML, Maruku and the chunk-handling code in Instiki. Each of the constituent parts seems to behave fine by itself. But when you put them together …

Anyway, if you do decide to reuse some of the code from Instiki, you might want to keep your eye out for this bug.

Posted by: Jacques Distler on December 13, 2007 2:32 PM | Permalink | PGP Sig | Reply to this

Re: MTOS

Jaques,

I would imagine you’ll get a much better response if you post feedback at MoveableType.org

People visiting here atm are probably dizzie-heads obsessed with E8 :)

I can probably help after christmas week if you have no luck

Jim

Posted by: Jim on December 18, 2007 11:02 AM | Permalink | Reply to this

Re: MTOS

that should be Jacques and MovableType.org

Next time I’ll actually preview the (useful) preview

Posted by: Jim on December 18, 2007 11:09 AM | Permalink | Reply to this

Re: MTOS

My knowledge of Perl is too weak to help with coding, but if you need a beta tester, count me in.

Brian

Posted by: Brian on January 2, 2008 11:49 AM | Permalink | Reply to this

Some Results with MT4

I managed to port several of your changes to MT4 a few months ago, before MTOS was released. I took some notes and finally managed to write them up. It turned out to be fairly straightforward, so unless I missed something big I don’t think it will require very many changes.

I didn’t attempt to do anything too fancy, like sanitizing syndicated content, but I have a working installation with MathML-enabled (validated) comments. I was even able to preview posts in the administrative interface with no fuss.

Posted by: Jason Blevins on January 13, 2008 10:34 PM | Permalink | PGP Sig | Reply to this

Re: Some Results with MT4

Ah. Cool. I’m glad someone forged ahead.

I have already ported over all of my patches to the Application, which take care of the forward-facing stuff

I got bored when it came to fixing the Administrative Interface. This will be the 3rd or 4th time I’ve had to do this, more or less from scratch, as each major release of MT seems to bring a significant overhaul of the Administrative Interface (so my old patch file doesn’t work).

If you do serve the Administrative Interface as XHTML (which I assume you still need to, at least for the previews), then there’s a lot that’s broken.

  • For starters, all of the Javascript (which provides much of the functionality) is broken, because it’s bracketed in <!-- ... -->, and hence ignored in XHTML.
  • A significant fraction uses document.write, which also doesn’t work in XHTML.
  • Previously, with HTML::Template templates, there were significant well-formedness issues. Now they’ve shifted over to using MT’s own templating language for the Admin Interface. So, perhaps those issues will be alleviated. (Or perhaps not; I just don’t know yet.)

My previous patch file for MT 3.3.5 had about 400 lines devoted to fixing the Application and about 1500 lines devoted to fixing the Administrative interface.

I need to bite the bullet and get back to working on the latter.

Posted by: Jacques Distler on January 13, 2008 11:19 PM | Permalink | PGP Sig | Reply to this

Re: Some Results with MT4

I’m not serving MT itself as XHTML. I just left it as is. I have no idea how it worked in previous versions, but previewing is now done by creating a temporary file in the publish directory with your chosen file extension and loading it in an iframe. Apparently even though the preview page itself is served as text/html, the stuff that lives in the iframe is served as XHTML (since it has the correct extension) and is properly rendered as XHTML+MathML+SVG (at least with Firefox 2.0.0.11).

Unless there are other places where XHTML content might be mixed with the MT interface, or there are MathML-enabled browsers that don’t handle the iframe properly, then I’m not sure anything needs to be done regarding the interface.

Posted by: Jason Blevins on January 14, 2008 8:49 AM | Permalink | PGP Sig | Reply to this

Re: Some Results with MT4

See? I knew I’d learn something.

In previous versions of MT, the entry preview was generated inline in the MT Admin Interface. So, if you wanted the former to be served with the correct MIME-type, you needed the latter to be as well.

This involved some trickery, but also extensive work to get the Admin Interface not to blow up when served with the correct MIME-type.

This will make things much simpler.

So how does content-negotiation for the iframe take place? It sounds like you just gave the iframe a .xhtml extension (serving it with the correct MIME type to all browsers?).

Posted by: Jacques Distler on January 14, 2008 9:51 AM | Permalink | PGP Sig | Reply to this

Re: Some Results with MT4

So how does content-negotiation for the iframe take place? It sounds like you just gave the iframe a .xhtml extension (serving it with the correct MIME type to all browsers?).

The temporary preview page, which goes in the iframe, inherits the extension used for individual entry pages. I did use .xhtml, but I’m also using your your mod_rewrite rules to do content negotiation by user agent so it should work with whatever extension one puts in the RewriteRule regexp.

Posted by: Jason Blevins on January 14, 2008 12:29 PM | Permalink | PGP Sig | Reply to this

Re: Some Results with MT4

I’m not sure I understand. The mod_rewrite rules are applied on a per-Location (or per-Directory) basis.

I currently send application/xhtml+xml to all XHTML-capable browsers, to IE/Win with the MathPlayer plugin, and to the W3C Validator.

That rule is applied to all .html and .shtml files in certain specified directories.

Do you know what URL the iframe is loaded from? One needs to know that, in order to apply the rewrite rules.

Posted by: Jacques Distler on January 14, 2008 12:48 PM | Permalink | PGP Sig | Reply to this

Re: Some Results with MT4

Ahh, I failed to mention that. The temporary file is stored in the same directory as the published entry page. Say I have an entry at /2008/01/foo.html. A temporary file is created when I preview it–something like /2008/01/10f3c55ecb228f01710e5eacf1e30ef2dadde70c.html. This is then loaded in the iframe. The good news is, since both files are in the same directory with the same extension, the same (extension-based) mod_rewrite rules apply.

Posted by: Jason Blevins on January 14, 2008 1:15 PM | Permalink | PGP Sig | Reply to this
Read the post How Not To Be Seen
Weblog: Upon Reflection
Excerpt: What happens when your web server crashes and you get a new URL?
Tracked: March 19, 2008 2:26 PM

Post a New Comment