Forum .LRN Q&A: .LRN 2.3, Zen theme, and the consequences for existing themes

The Zen theme work for .LRN 2.3 implements one long-term goal that's been on the table for easily three years now, and two more recent goal that are extremely important.

The long-term goal I mention has been the goal of making a .LRN (or OpenACS) site much easier to theme by implementing a standard set of CSS classes used throughout the toolkit with a minimum of overriding package-level CSS.

The first of the two more recent goals is for HTML pages generated by .LRN to validate as valid HTML transitional 4.01 (HTML experts correct me if I get my jargon wrong, please!).

The second of the two more recent goals is to meet accessibility standards.

Rather than discuss what's involved I'll paste a link for people to read: https://openacs.org/xowiki/dotlrn-zen-standards

Theme Zen will meet all three of these goals, and packages supported by .LRN are being hacked on to meet the required HTML standards and to work well with the new CSS files.

There are two problems we face which need community help:

1. The standard Sloan and Selva themes will no longer work if a site upgrades to 2.3. Making them work involves defining reasonable CSS for the HTML being generated by the new versions of application packages like calendar and forums.

Our current plan is to install zen by default, and for zen to replace your existing theme when you install the theme-zen package. Sites that don't upgrade will find that the existing Sloan and Selva themes aren't 100% compatible with new packages.

It would be nice if some folks in the community would step forward to make those two themes work since many sites out there using .LRN either use the themes or have customized versions of them.

If not, unfortunately this release will not support existing sites unless they upgrade to theme-zen.

I don't think the work required to cobble together versions of these themes that work with the new package versions is that hard, but the theme-zen team doesn't have the resources to do it.

2. The second problem, a lesser one, involves packages not supported officially by .LRN. We're not working on them.

It would be nice to see packages the community is interested in generate HTML that validates and that meets accessibility standards where possible.

As far as theming goes, packages which use standard forms and list templates will fit in quite nicely with theme-zen just as those page elements have in the past. But many packages don't use these tools, and hardwire layout and colors etc. Over time, it would be awfully nice to see our family of packages migrate to using these tools.

More in a second post ...

The previous post didn't mention OpenACS itself.

The upcoming release of OpenACS core will have new master templates and standard CSS that attempts, at least (i.e. may have bugs :), to define the CSS classes defined by .LRN's theme-zen.

As part of this, the way page properties are passed up to the master templates have been changed, in my opinion changed to a much cleaner and more rational scheme than we've had previously.

To ease the transition for pure OpenACS users, compatibility masters have been provided that massage the old properties and pass them properly to the new masters. These will be used by standard installs at least until OpenACS 5.4 (which presumably will be released this summer or early fall).

Thanks to Lee Denison for doing this work. All complaints can be forwarded to him :)

Naw, really, I think it's good stuff.

The point here is mostly that the ease of theming we're introducing into .LRN is being migrated over to OpenACS. However existing customizations will conflict so, site maintainers be wary. You may have some CSS work to do to make your upgrade work properly.

All the decision making involved with this project have approved in public IRC meetings by the OCT and .LRN technical leadership team, with summaries made available along with the IRC logs.

As far as it being a PITA, we've talked about doing something like this for three? four? more? years because theming OpenACS has always been difficult.

We've delayed doing anything about it because of a lack of resources (people/funding) and the knowledge that in doing so full backwards compatibility would be difficult/impossible to provide.

A big impetus has come from the need to meet accessibility standards. The legal requirement in this regard are strengthening, it needed to be done (well, "needs doing" regarding packages outside .LRN that we want to be "professional").

So ... we decided that, after years of putting it off, the time had come for this rather massive clean-up and rationalization of our software's HTML generation and use of CSS (the fact that we can use CSS and ignore Netscape 4.7 doesn't hurt, either!)

Hopefully the much more sane CSS structure (calendar's custom CSS has gone from 1000+ lines to about 300, for instance, not wonderful but a HUGE improvement) and the noticable ease in theming, plus the infrastructure put in place for accessibility will offset some of the painfulness of the transition people will face when upgrading existing sites.