Search the web
Sign In
New User? Sign Up
mt-dev · Movable Type Developers
? Already a member? Sign in to Yahoo!

Yahoo! Groups Tips

Did you know...
Show off your group to the world. Share a photo of your group with us.

Best of Y! Groups

   Check them out and nominate your group.
Having problems with message search? Fill out this form to ensure your group is one of the first to be migrated to the new message search system.

Messages

  Messages Help
Advanced
MT 3.1   Message List  
Reply | Forward Message #580 of 2112 |
Re: [mt-dev] MT 3.1

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi Tim,

> I was hoping for some insight from a Six Apart employee.

Yes... but you've got one already, of course:
<http://groups.yahoo.com/group/mt-dev/message/574>.

Anyway, yes, we absolutely realize that there are downsides to
implementing dynamic pages in PHP. But there are also quite a few
upsides--Brad detailed those very well already, so I won't be
redundant.

Here's some rationale behind the various decisions made, and the
requirements we put on the feature:

* Movable Type needed a dynamic publishing system. This has been an
important issue to people for almost 3 years now (since MT's release),
and it's only becoming more important.

* The dynamic publishing system should be compatible with the maximum #
of templates possible *without requiring users to modify those
templates*. As released in 3.1, the PHP publishing system is compatible
with all of the tags in our default templates. It's not, as you well
know, compatible with tags implemented in plugins.

* Movable Type 3.1 had to be released. A couple of messages in this
thread have suggested that 3.1 was rushed, but it wasn't any more
rushed than any other software product--there are always tradeoffs,
there's always last-minute stuff, etc., as you all know. It was very
important to us that we release 3.1 quickly after the 3.0 developer
release, and if doing so meant that 3.1 did not support all of the tags
in MT's lexicon (or tags in existing plugins), that's a tradeoff we
felt was worth it.

* Dynamic publishing had to work, with the minimum amount of effort,
for the largest number of users possible.

* Dynamic publishing could not put so much load on a server that
Movable Type would be banned by hosting providers. :)

So, those were the basic criteria.

Tim, you've suggested that there are a number of other ways that we
could/should have implemented the feature, and I'd be very interested
in hearing those. Some of the other techniques we've thought about are:

1. Building a Perl-based dynamic viewer. In fact, this exists. It's
lib/MT/App/Viewer.pm, coupled with mt-view.cgi. It's been in there
since 2.6, and it's very experimental, and I will bet you that if you
run it as a CGI script, your host will shut you down, because frankly,
CGI is not a good interface for running applications that are going to
get hit over and over again.

Not acceptable: inefficient.

2. A perl-based dynamic viewer that would only run under mod_perl. This
is a subset of #1, of course, and it would be *fantastic* for the .01%
of MT users who run MT under mod_perl. :) That's a completely made-up
percentage, BTW, and the actual percentage is probably much lower.

Not acceptable: not widely available.

3. A variant of #1 that cached data in the filesystem. This is much
more efficient than #1, but CGI is still very inefficient, so in the
end, it's just not good enough. It's still something we're going to
keep testing, though, because it had the most promise.

Not acceptable: still inefficient.

4. A PHP viewer that executed Perl code as system calls. This has the
benefit of being in PHP but working with existing plugins, but the
downside of being, umm, even more inefficient than #1.

Not acceptable: inefficient.

5. Using PHP 5's support for executing Perl code
(<http://www.zend.com/php5/articles/php5-perl.php>). In the future,
this may be a great option, but it's not ready.

Not acceptable: not widely available, not stable.

I hope that helps. All of the above criteria pointed to PHP, because
it's widely available, fast, and a language that a lot of people know.
And we absolutely realize that plugins that add template tags require
some reimplementation--unfortunately, because of the criteria above, we
didn't see any way to make the dynamic publishing system compatible
with the existing plugins that add template tags.

A couple of things we plan to do to ease the task of adding PHP support
to plugins:

* We'll be writing tutorials on implementing plugins in PHP (there's
already some documentation in
<http://www.movabletype.org/docs/mtmanual_dynamic.html>, in fact).

* Currently, reimplementing a tag in PHP requires rewriting a lot of
code. We're working on coming up with mechanisms that would reduce that
amount of code quite a bit by allowing PHP plugins to make better use
of data generated by the Perl code, including data in the PluginData
table.

Tim also mentioned that developers should have been given a technology
preview, and he's correct--in fact, seeds were given to a small group
of developers, contest winners in particular, to ensure that. It's
regrettable that we didn't have the Professional Network instated
during the 3.1 development process, because that would have been a
perfect venue to vet a lot of these decisions and get early word out.
We did invite everyone who pre-registered for the ProNet to participate
in the beta process, but we want to make that a more organized process.

And make no mistake about it, that's what we plan to do with the
Professional Network: we want to give people advance notice of new
features (particularly features relevant to developers) and advance
developer seeds of the product.

So... this is a long message, but I hope it helps to give some
rationale behind the thinking that went into this feature. I know
you'll let me know what you think. :)

Ben

- --
Benjamin Trott, CTO, Six Apart
http://www.sixapart.com/
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (Darwin)

iD8DBQFBNtXBzGeEk2uv818RAjfaAKCy8ORbENDC4706cYMcCjkvEXyMIgCgvPhj
SKFAIDryLEjcDz34ackgOzs=
=1KYc
-----END PGP SIGNATURE-----




Thu Sep 2, 2004 8:11 am

btrott
Offline Offline
Send Email Send Email

Forward
Message #580 of 2112 |
Expand Messages Author Sort by Date

... With MT now becoming PHP enabled it allows for a whole new set of developers to start making plugins and yet because it still remains perl it doesn't...
Arvind Satyanarayan
arvind_2111
Offline Send Email
Sep 2, 2004
6:49 am

... Hash: SHA1 Hi Tim, ... Yes... but you've got one already, of course: <http://groups.yahoo.com/group/mt-dev/message/574>. Anyway, yes, we absolutely realize...
Benjamin Trott
btrott
Offline Send Email
Sep 2, 2004
8:11 am

... Thank you Ben. It does help. I think a lot and will try and be as concise as possible. (This message will be long anyway, but it could have been much much...
app@...
tappnel
Offline Send Email
Sep 2, 2004
4:35 pm

... as ... ones ... potentially ... have ... Ben ... their ... manual -- ... This ... my ... One of the main things that I feel needs to be worked on is the...
Arvind Satyanarayan
arvind_2111
Offline Send Email
Sep 2, 2004
5:42 pm

... UGH! Text formatting plugins! I completely forgot they won't work either. My head hurts. <tim/>...
app@...
tappnel
Offline Send Email
Sep 2, 2004
7:58 pm

Actually, Markdown works already, since there is a php version that works with Smarty. Just copy it into the php/plugins directory as modifier.markdown.php ...
Scott Hanson
papascottde
Offline Send Email
Sep 2, 2004
8:04 pm

http://www.michelf.com/projects/php-markdown/ Scroll down to the "With Smarty" heading. Another MT plugin developer and he didn't even *know* it! ... -- ...
Brad Choate
bschoate
Offline Send Email
Sep 2, 2004
8:12 pm

... I've complied a page containing tinkered versions of Textile, Markdown and Smartypants so that they will work with the new dynamic templating engine. See...
Arvind Satyanarayan
arvind_2111
Offline Send Email
Sep 4, 2004
5:35 am

... impossible I meant "isn't impossible". Barring that it would likely require compiling into php of course. This might be a stretch but still less than...
Bill Kearney
wkearney99
Offline Send Email
Sep 2, 2004
4:48 pm

... Right. I have no desire to port (P)lucene to PHP. The PHP Storable library is only 0.03 and hasn't been updated in over a year. Storable is a compiled...
app@...
tappnel
Offline Send Email
Sep 2, 2004
5:25 pm

... It looked to me like that "PHP Storable" was just something with the same name as Storable that happens to do something fairly similar, anyway. All it's...
Phil Ringnalda
philringnalda
Offline Send Email
Sep 2, 2004
7:08 pm

... Don't get too ahead of yourself for the threaded comments stuff. I'm working on updating my implementation to co-exist peacefully with the new callbacks...
David Raynes
rayners1
Offline Send Email
Sep 2, 2004
7:21 pm

... Heh. Thanks anyway, but given that all I need to do is read an integer that I already have in the mt_comment table, I'll pass on having a static text file...
Phil Ringnalda
philringnalda
Offline Send Email
Sep 2, 2004
7:37 pm

... I was thinking more of generating one file per-entry containing all the thread info in a php array, but your point is still valid. :) -- David Raynes...
David Raynes
rayners1
Offline Send Email
Sep 2, 2004
7:43 pm

... Brad and I spoke at length about doing something like that and I even built a prototype. You build an array of all the page components and pass it to...
Adam Kalsey
akalsey
Online Now Send Email
Sep 4, 2004
5:08 am
 First  |  |  Next > Last 
Advanced

Copyright © 2009 Yahoo! Inc. All rights reserved.
Privacy Policy - Terms of Service - Guidelines - Help