Hi all,

First of all the Omega theme is great and thanks for the hard work on this.

I kinda know how everything works but I'm still confused about a few things. There seems to be so many 'Alphas' and 'Omegas' involved in working with this theme and I just wanted to get a clear explanation from someone if possible:

1) Am I correct in saying that if I install the Omega theme, I am actually installing 2 themes - Alpha and Omega? That seems to be the case because I obviously have the 2 themes installed and I can see them and they are disabled (because I'm working with my own subtheme)

2) But wait, does Omega actually install 3 themes? Cos there is the Omega folder (themes) in my sites/all/themes folder. That would indicate it is a theme. But inside are two folders - Omega and Alpha?

3) Omega and Alpha classes - I know what these do Ive worked with 960gs before - but my question here is: Am I correct in saying that the names of the themes involved 'Omega'and 'Alpha' has nothing to do with the classes 'alpha' and 'omega' and that it is just kind of coincidence that the author/developer decided to name these themes the same as 2 important classes at work inside the theme?

I have read the docs many times, yet Im still struggling to find a clear explanation of what are themes, what are folders, why Omega theme has another theme inside it, also called Omega?

Just looking for someone to clear this up a bit. Thanks again!!

Comments

Mark LaCroix’s picture

Alpha (the theme) is the master base theme, and Omega (the theme) is an extension/subtheme which includes many of the headline features. Omega is dependent on Alpha, and they both reside in the parent Omega folder simply because that's also the name of the project (it's easier to distribute a project in a single folder).

This structure is not altogether uncommon for starter themes, which often include subthemes or alternate base themes, but it's made worse by the fact that the documentation is thin on the existence or purpose of Alpha, so while "omega/omega" makes sense to most people ("oh, that's probably the core theme") "omega/alpha" is a bit of a mystery. The first intuitive reaction is that Alpha is a subtheme, when it's actually the other way around.

It's completely silly and confusing. It would have better been called "Omega_core" and "Omega_extended." or something, to at least give people an idea for the structure of it. The use of the word "Alpha" (for anything) was a bad idea. Of course, it might have made a tiny bit more sense if the project was called "Alpha," since that's the base theme, but even then I wouldn't have used "Omega" for the subtheme, either, I would have called it "Alpha_extended."

Also confusing is that when you make a subtheme, your default stylesheets (if you don't create your own layout) will use "alpha" in their filenames because the default grid layouts in Omega (the project) are part of Alpha (the theme) and are named "alpha_default" (the layout), even if your subtheme is based on Omega (the theme).

There's no reason they needed to name the layouts after the base theme (because they're not tied to the theme, technically). They could have used a separate phrase for these layouts, like "layout_default" or no phrase at all and just leave it as "default." This convention is silly because when I made my own layouts, I used their naming convention and named my layout "subthemename_default," so my css files were called "subthemename-subthemename-default.css" until I realized that was stupid and not documentation-friendly and changed it.

As you suspected, the ".alpha" and ".omega" classes are just a standard "first/last" replacement (Drupal uses "first/last" for a lot things). It's another unfortunate coincidence.

It really takes a few minutes to get it all straight in your head, and since most people's subthemes are based on the Omega subtheme, the proliferation of the word "alpha" in the source code is a bit unnerving at first. It's a totally unhelpful structure and naming convention, especially since custom layouts are an undocumented feature.

Of course, it's worth the nonsense, because it's a great framework. But honestly, the naming situation really needs to be overhauled.