[drupal-devel] advanced theme in core vs all in core.

Jeremy Epstein jazepstein at gmail.com
Wed Sep 7 02:22:48 UTC 2005

AJAX functionality is not something that should be built-in to one
'advanced' theme, and totally unavailable in other themes. Say, for
example, that we put all the AJAX stuff into pushbutton. But then
webmaster Joe Foo comes along, and wants a hip-hop AJAX-powered site,
but he wants to use chameleon as the basis of his site's theme. He'll
have to port all the AJAX code into chameleon (or vice versa), just to
get what he wants. Is this really how we want to do it?

AJAX functionality should be a site-wide configurable option. I can
see why some people want it in settings.php (i.e. if AJAX is broken on
your site, and you can't turn off AJAX because you have to go into
your site which is broken, you've got a catch-22). But from a
usability perspective, it really belongs in admin > settings. And in
the long run, all JS in Drupal can and will (and should already)
degrade gracefully on non-supported browsers (e.g. Konqueror, Safari
sometimes), so the catch-22 won't exist.

Webmaster Joe Foo wants to be able to enable theme Foobar on his site,
and then go to admin > settings, tick the 'Enable Dynamic HTML' (or
some such) option, and have it all Just Work (tm). For this to happen,
both themes and modules must be written in a JS-independent manner,
with some kind of handler in the middle (similar to the theme()
override system) to determine whether to output a basic or an advanced
HTML page.


On 9/6/05, Adrian Rossouw <adrian at bryght.com> wrote:
> I am 100% opposed to having that be handled by the theme layer. I
> believe it's core functionality, and it has NOTHING (less than
> nothing actually) to do with the theme.
> I don't have an issue with there being a variable, in settings.php
> (not in the interface) that allows you to change the behaviour.
> I do however think that we need a new default theme =)

More information about the drupal-devel mailing list