Standardizing Module Position Names

524 views
Skip to first unread message

Matt Thomas

unread,
Feb 17, 2011, 8:27:28 AM2/17/11
to joomla-3pd-exte...@googlegroups.com
Hi Everyone,

I started a forum thread back 2009 ( http://forum.joomla.org/viewtopic.php?f=466&t=444773 ) to see about gaining some consensus about module position names. I feel that this is an important topic as it lessens user confusion. Is this something that interests anyone else?

Best,

Matt Thomas
betweenbrain | Construct Unified Template Framework for Joomla! 1.5, 1.6, Molajo and Nooku Server

Jeremy Wilken

unread,
Feb 17, 2011, 12:57:12 PM2/17/11
to Joomla 3PD Extension Standards
Yes yes yes.

I'm in favor of putting together a list of almost always used
positions, naming them semantically, and then it would be great if the
demo content and template was patched to utilize them. To me, this has
to be fixed in the core and then developers will follow. That is why
user1-4 is still popular in 1.5 template, even though it means
nothing.

In the base form, it should be the common modules practically every
template uses.

Positions Suggestions (names can be changed but to give an idea of the
most common module needs)
- topmenu (most sites have a top nav)
- mainmenu (all sites have a main menu position)
- breadcrumbs (obvious)
- abovecontent (to be a module between the header and content area)
- belowcontent (to be a module between the content and footer area)
- column1 (rather than right/left, but indicating columns next to the
main content)
- column2
- header (the top, often between the top menu and menu in the logo
area)
- footer (the bottom, where copyright, etc might be also)
- debug (before </body>)

Other platforms make do with fewer than this in their equivalent to a
module. Template developers for Joomla have embraced the flexibility
of modules, which is great.

My solution to this would be to submit a feature patch for 1.7, to
help set standards for the future, once we come up with a good list.

On Feb 17, 7:27 am, Matt Thomas <m...@betweenbrain.com> wrote:
> Hi Everyone,
>
> I started a forum thread back 2009 (http://forum.joomla.org/viewtopic.php?f=466&t=444773) to see about gaining
> some consensus about module position names. I feel that this is an important
> topic as it lessens user confusion. Is this something that interests anyone
> else?
>
> Best,
>
> Matt Thomas
> betweenbrain <http://betweenbrain.com> | Construct Unified Template
> Framework <http://joomlaengineering.com> for Joomla! 1.5, 1.6, Molajo and
> Nooku Server

Nicholas K. Dionysopoulos

unread,
Feb 17, 2011, 5:13:03 PM2/17/11
to joomla-3pd-exte...@googlegroups.com
I would suggest a few modifications / additions to the list:

- header1 through header3; most of us want to have horizontally stacked modules there
- likewise, footer1 through footer3
- drawer; for system error/notice/warning messages (don't display them inline with the content)

I find other platforms with less module positions very frustrating. Joomla! modules are a real blessing. I have seen sites where components are strongly underused and modules make up for the whole content :)

Cheers,

Nicholas K. Dionysopoulos
Lead Developer, AkeebaBackup.com
Web: www.AkeebaBackup.com
Blog: www.Dionysopoulos.me

Matt Thomas

unread,
Feb 17, 2011, 5:28:04 PM2/17/11
to joomla-3pd-exte...@googlegroups.com
I'll update and post my list soon, but overall I'd suggest that we follow HTML5 semantics as closely as possible. There is a great article at http://jontangerine.com/log/2008/03/preparing-for-html5-with-semantic-class-names that suggests such a move for CSS classes (which reminds me another post to write)

This page should be a great resource for names http://dev.w3.org/html5/markup/elements.html

What do you think?

Best,

Matt Thomas
betweenbrain | Construct Unified Template Framework for Joomla! 1.5, 1.6, Molajo and Nooku Server

Daniel Chapman

unread,
Feb 17, 2011, 8:03:03 PM2/17/11
to joomla-3pd-exte...@googlegroups.com
I am not a template developer by trade, so feel free to ignore me.

but... As Nick pointed out I am not sure Jeremy's list is quite inclusive enough. If I were to scan the recent templates from the major template clubs I am confident there would be at least 2-3x as many module positions as Jeremy has listed. 

He is definitely right though that note-even-vaguely-semantic names like user1-100 are completely useless when trying to visualise your template layout.

So perhaps rather than saying lets have header1 header2, header3, why don't we designate areas (the names Jeremy gave are great for this) and then developers are free to have as many rows or columns in there as they like, with a minimum of 1. Extra positions can also be added in, using user123 or whatever, but at least if we have some sort of agreement on the basics, it will make things easier, such as demo content, I would imagine.

Jeremy Wilken

unread,
Feb 19, 2011, 10:38:22 AM2/19/11
to Joomla 3PD Extension Standards
What I think templates often fail to consider is how they can use the
same module position instead of 3 'rows' of say header1, header2, etc.
Using modChrome, there are a lot of possibilities to arrange modules.
On the other hand sometimes someone wants 3 rows of modules in the
header, which I would argue is not the norm and therefore not part of
my list. If your header modules stack, then using one header module
position will get you as many 'rows' as you want, just flip their
order based on the module ordering. On the other hand if you want to
have 3 rows of modules that have multiple modules in each row, the
easier way is to make an additional position (or get creative again
with modChrome, but risk confusing customer = more support).

Perhaps we need a list of what any Joomla template *should* have, and
then finish the list off with additional module names that templates
*may* have. I think my list could very well be the minimum, and other
positions that people use regularly can be part of the second list. I
agree with Daniel, anytime a position needs to be duplicated into rows
or something, adding a number sounds most logical. However here is the
rub, if we think a position will be replicated like this, then the
default should be header1 not header, so that sample content can be
sure to match.

I am also vehemently opposed to 'user#' and most of the 1.6 positions.

Daniel Chapman

unread,
Feb 21, 2011, 12:29:17 AM2/21/11
to joomla-3pd-exte...@googlegroups.com
I am happy with the defaults all being ABC1  then others being 2,3,...

Or the 1 could be implied - header, header2, header3,....

Either work for me, and both have precedent in other areas. But I am not a template developer so my vote isn't worth very much.

Matt Thomas

unread,
Feb 21, 2011, 10:16:01 AM2/21/11
to joomla-3pd-exte...@googlegroups.com
This is a topic that I've been wrestling with for some time, and find it hard to resolve with one best solution. One thing we face is that many user are somewhat pre-conditioned to what has been included in the core software, which we seem to agree isn't optimal.

I think some best practices are in order and I feel that it will be extremely important to follow the semantics of HTML5 whenever possible. I propose the following basic set of position names, including the specialized ones that seem to be widely used:

analytics
article
aside or column
breadcrumbs
content (-main, -top or pre-, -bottom or sub-)
debug
footer
header
nav
offline
search
sub-header
syndicate

From a purely semantic point of view, "aside" seems to better suited than "column", however I don't know if it makes better sense in this case as not everyone may think of it as an aside.

I agree with Jeremy about the use of user# and most of the 1.6 positions, as they have no real meaning. Unfortunately, as I directly experienced when creating my template framework, users tend to be pre-conditioned to expect these, and almost demanded them from me.

I'm also adamant that we need to start encouraging better readability by using hyphens / dashes instead of smashing everything together. For example, aside-1 is generally easier to read then aside1.

I'd suggest that we encourage using numbers for all positions if more than one exists in that category.


Best,

Matt Thomas
betweenbrain | Construct Unified Template Framework for Joomla! 1.5, 1.6, Molajo and Nooku Server



Matt Thomas

unread,
Feb 21, 2011, 12:16:46 PM2/21/11
to joomla-3pd-exte...@googlegroups.com
Hi Jeremy,

I agree that we'll never find a perfect solution that works for everyone, but I think this is a good start. I do need to clarify the intent of 'sub-header' vs 'header-2'. In any template, you can have multiple module positions within the header, i.e. header, header-2, header-3...etc. However you may also have modules below the header, so you'd need a way of designating that. So, sub-header, sub-header-2, sub-header-3... etc makes sense to me. You can see what I mean at the top of http://joomlaengineering.com/what-module-positions-are-available-in-construct

If we were to find a common way of designating above and below / before and after common elements such as the header, I think that we can expand an easily accepted standard for others to adopt. Implementing this with basic common positions would give us good coverage. What do you all think?


Best,

Matt Thomas
betweenbrain | Construct Unified Template Framework for Joomla! 1.5, 1.6, Molajo and Nooku Server



On Mon, Feb 21, 2011 at 11:53 AM, Jeremy Wilken <jeremy...@gmail.com> wrote:
I'm happy using HTML5 nomenclature (aside instead of column), I like
adding a - for readability, and again I say the only way to truly
'solve' this problem is to get things into the core. What is in the
core sample data and template, is what folks expect. Its
understandable, because we are creatures of habit, and only by
changing it in the core do I see any 'standard' taking hold.

I like using 'header' as the default, and then saying 'header-2' is
the way you expand that.

Not everyone will agree ever, nor will a standard ever be the best
solution. The point is to come up with something much better that is
reliable. My belief is fewer 'standard' positions that are easy to
multiply is better than more positions.

'article' is a tricky one, because in Joomla that holds a distinct
meaning for com_content instead of any component. I think 'content' is
better without the need for 'article'.
'syndicate' is also a strange on in my opinion. Unlinke 'breadcrumbs'
which have a distinct place and purpose, syndication modules don't. I
wouldn't use this as part of the standard personally.
'aside' can work for 'column', its more semantic, but less intuitive.
However, people figured out 'user3' means a module located in the
footer in one template and its the menu position in another.
'sub-header' couldn't this just be 'header-2' instead?
> betweenbrain <http://betweenbrain.com> | Construct Unified Template
> Framework <http://joomlaengineering.com> for Joomla! 1.5, 1.6, Molajo and

Jeremy Wilken

unread,
Feb 21, 2011, 11:53:12 AM2/21/11
to Joomla 3PD Extension Standards
I'm happy using HTML5 nomenclature (aside instead of column), I like
adding a - for readability, and again I say the only way to truly
'solve' this problem is to get things into the core. What is in the
core sample data and template, is what folks expect. Its
understandable, because we are creatures of habit, and only by
changing it in the core do I see any 'standard' taking hold.

I like using 'header' as the default, and then saying 'header-2' is
the way you expand that.

Not everyone will agree ever, nor will a standard ever be the best
solution. The point is to come up with something much better that is
reliable. My belief is fewer 'standard' positions that are easy to
multiply is better than more positions.

'article' is a tricky one, because in Joomla that holds a distinct
meaning for com_content instead of any component. I think 'content' is
better without the need for 'article'.
'syndicate' is also a strange on in my opinion. Unlinke 'breadcrumbs'
which have a distinct place and purpose, syndication modules don't. I
wouldn't use this as part of the standard personally.
'aside' can work for 'column', its more semantic, but less intuitive.
However, people figured out 'user3' means a module located in the
footer in one template and its the menu position in another.
'sub-header' couldn't this just be 'header-2' instead?

On Feb 21, 9:16 am, Matt Thomas <m...@betweenbrain.com> wrote:
> betweenbrain <http://betweenbrain.com> | Construct Unified Template
> Framework <http://joomlaengineering.com> for Joomla! 1.5, 1.6, Molajo and

Daniel Chapman

unread,
Feb 22, 2011, 6:56:55 PM2/22/11
to joomla-3pd-exte...@googlegroups.com
Article isn't so tricky a concept as that article manager is already well known, and referring to content items as articles is also fairly standard. While you are right that it is associated with com_content, I don't think it is too much of a stretch of the imagine to associate it with other components. Certainly not significantly more than the word content is. 

Where you could place such a module position that made sense, I am not sure. above or below the article but between other columns?

While I share your concerns Jeremy about the unintuitiveness of "aside" (though semantically correct), syndicate to me is a very useful position, however where it should go is not so clear. I am biased though as I have a syndication component, and it is very useful for me to have a position where we can post syndication or social media links. But I do accept that I am in a minority.

Perhaps better than syndicate though might be a position "social media" which has no fixed location (unlike header etc.) but instead is designed for syndication, and the usual twitter, facebook etc links, and is placed where appropriate on each template according to the design. Template devs could even set a standard for the way modules present sms icons so that they can be styled by the template. I would definitely agree to some sort of icon standard for that for Ninja RSS. It would make the modules far more likely to meld into the template style.


Daniel Chapman

unread,
Feb 22, 2011, 7:03:02 PM2/22/11
to joomla-3pd-exte...@googlegroups.com
Sorry for the double post. I just wanted to add that Getting things like this back into the core (be it Joomla, Nooku Server, Molajo etc) is definitely the preferred course of action if possible, and something we should keep in mind when working on our standards.

Matt Thomas

unread,
Feb 24, 2011, 9:55:38 AM2/24/11
to joomla-3pd-exte...@googlegroups.com
Hi Everyone,

I've been mulling over this for the last couple of days and have come to some conclusions.

First of all, although "aside" is probably more semantically correct, it doesn't always translate well in other languages and may not make sense if you have more than one. However, "column" does translate well and makes sense if you have more the one.

"Article" is also a tricky one and its meaning seems to be one of context, therefore I think it may be better to avoid it if we can.

Therefore, I am proposing a revised scheme devised around the more universal features of content, header, nav, footer... etc. These scheme can be expanded along the same lines to allow template developers to add more positions while preserving meaning. I have intentionally named these so that they appear in a more user friendly order when listed alphabetically, while still retaining their meaning internationally.

analyitcs
breadcrumbs
debug
footer
footer-above-1
footer-above-2
footer-above-3
footer-above-4
header
header-above-1
header-above-2
header-above-3
header-above-4
header-below-1
header-below-2
header-below-3
header-below-4
header-below-5
header-below-6
column-1
column-2
column-3
column-4
content-above-1
content-above-2
content-above-3
content-above-4
content-below-1
content-below-2
content-below-3
content-below-4
nav
nav-below-1
nav-below-2
nav-below-3
nav-below-4
offline
search
syndicate

Best,

Matt Thomas
betweenbrain | Construct Unified Template Framework for Joomla! 1.5, 1.6, Molajo and Nooku Server

Daniel Chapman

unread,
Feb 24, 2011, 11:03:02 AM2/24/11
to joomla-3pd-exte...@googlegroups.com
Should we swap syndicate for social-media as I mentioned above?

Matt Thomas

unread,
Feb 24, 2011, 12:08:19 PM2/24/11
to joomla-3pd-exte...@googlegroups.com
In fact, do we need either? Generally, syndication and social media is done with a module, that doesn't need any special treatment like breadcrumbs or debug may, and it could be positioned anywhere on the page (i.e. in footer-above-1)


Best,

Matt Thomas
betweenbrain | Construct Unified Template Framework for Joomla! 1.5, 1.6, Molajo and Nooku Server



Daniel Riefstahl

unread,
Feb 24, 2011, 12:28:29 PM2/24/11
to joomla-3pd-exte...@googlegroups.com
Hi Everyone. i am here to chime in:) I agree with you Matt, No syndication should be inlcuded. Some people might want an RSS feed at the bottom, other at the top. Why not just let them pick what position they want to put it in?
I am a template developer and just adopted the Construct Framework. I do think we should have a standard. It makes total sense. it would make life so much easier. The biggest issue I see in deviating from core joomla positions is the lack of knowledge many people have on how Joomla works. I don't know how many support tickets I have answered where some one says,
 " I installed the template, but my menu does not display, etc"

 I then have to explain that every template has different positions.

"You need to look at the position map and publish your module to the correct position. In your case, publish the main menu module to the menu position."

In our case we used menu as our main navigation position. Construct uses nav. It just depends on the template and the developer. If we could adopt a universal "core" set of positions that the Joomla core used as well, much confusion could be avoided. Most newbiews install sample data. If we want our templates to display correctly with no configuration, we would all need to adopt the same naming convention as the core uses, specifically Rhuk for 1.5 as this is default. I haven't compared 1.5 and 1.6 default templates. Do they have the same positions? If not that is just silly. I think the thing to remember is our goal is standardized naming, with the main goal of avoiding user confusion. Semantically correct would be nice too, but for me its about the users.

Dan

Jen Kramer

unread,
Feb 24, 2011, 8:11:41 PM2/24/11
to joomla-3pd-exte...@googlegroups.com
I want to second what Daniel said.

No, template positions in 1.6 are position-1, position-2, position-3, etc.

I am fine with the philosophy of calling your divs sidebar1, sidebar2, position-1, position-2. Only developers have to understand that.

I am not OK with module positions called by these names. If you do not know the tp=1 trick (and face it, most people don't, particularly users), then the end user who gets to take over the website must now remember that position-7 is the left column while position-3 is the right column. And who is really going to remember that?

Please use meaningful names for module positions. In the end, some poor business owner who just wants to post some content has to take over the website, and the fewer barriers we can put up to that process, the better Joomla will be viewed.

Jen

Matt Thomas

unread,
Feb 24, 2011, 9:04:33 PM2/24/11
to joomla-3pd-exte...@googlegroups.com
Hi Jen,

Thanks for the input. What do you think about the naming scheme I proposed a few messages ago https://groups.google.com/d/msg/joomla-3pd-extension-standards/rCcBuhTQ9ks/zU9uWc8eUCYJ ?

Do you think that it would satisfy the needs of both developers and end users?


Best,

Matt Thomas
betweenbrain | Construct Unified Template Framework for Joomla! 1.5, 1.6, Molajo and Nooku Server



Daniel Chapman

unread,
Feb 24, 2011, 9:35:10 PM2/24/11
to joomla-3pd-exte...@googlegroups.com
I am not sure I would say "generally", though it is definitely often in a regular module position. But I think that is usually because of a lack of options. If given a choice between a regular module position and something specially designed to maximize exposure for those links, then I believe most people would choose the latter.

Template developers could then style those links and icons so that they fit in with the template more.

If not a module position, then perhaps a module class suffix of "-social-media" would be more appropriate.

 I just know that at least half the custom sites I look at (i.e. not a stock template) treat their social media links differently to everything else that could be considered a module.

Daniel Chapman

unread,
Feb 24, 2011, 9:44:38 PM2/24/11
to joomla-3pd-exte...@googlegroups.com
@Daniel - do you think you could please put your surname into your "Nickname" for the group so there is no confusion over which of us is which (I just read your post myself thinking, huh when did I say that??)

You are right that some people might want their RSS in different positions, but wouldn't you as a template developer like the ability to customise how that RSS and twitter look? You might also want to be able to design a specific place on your template for them.

Yes some people may not use it, but it actually gives you a bit more creative freedom if you can define where and how the RSS, Twitter and FB links are going to appear.

@Jen - I think it is unanimous that the 1.6 positions are not semantic at all and not useful at all.

100% agree that a good set of semantic names would make everyone's life easier. Even if some developers choose to extend them.  Our ultimate goal is to get a lot of the standards we work on here back into the core of various CMS projects, which becomes more likely the more support we have for them. e.g. if 75%+ of the main template companies supported our positions we would have a very strong case to present for having the defaults changed.

Yes, right now this means we don't quite the current Joomla default positions, but there are technical and social ways around that. e.g. a link in the template params screen to reset the modules from the sample content (or create new sample modules), warning messages on install etc.

If we do nothing however, then we risk being stuck with position-1 to position-50 forever.

Marco Barbosa

unread,
Mar 5, 2011, 4:35:59 AM3/5/11
to joomla-3pd-exte...@googlegroups.com
Just want to +1 to semantic names...

I checked your suggestions, careful with the position-X thing.
I'm actually against numbers. I would rather letters, terms, greek alphabet...anything but numbers.

We need to make Joomla more semantic.

Matt Thomas

unread,
Mar 5, 2011, 7:10:59 AM3/5/11
to joomla-3pd-exte...@googlegroups.com
Hi Marco,

Thanks. Can you explain why you are against numbers? It would be great to hear your reasoning.

Best,

Matt Thomas
betweenbrain | Construct Unified Template Framework for Joomla! 1.5, 1.6, Molajo and Nooku Server



Marco Barbosa

unread,
Mar 5, 2011, 7:50:56 AM3/5/11
to joomla-3pd-exte...@googlegroups.com
Sorry If I was too short on the message..

It's basically what Jen says:
End user who gets to take over the website must now remember that position-7 is the left column while position-3 is the right column. And who is really going to remember that?
Take it "column-2" for example. What's the real meaning behind it: Is it always the second column? Or another column alternative? Or both?

Then I think calling column-secondary or column-first..column-last, etc would be more semantic.

I find it hard to tell what kind of value the numbers add. It feels like it's there just to increment.

For example, "Column-secondary" could be both on the left or right.

I like your "above" and "below" names. 

Using HTML5 tag names is also a good inspiration idea.

YUI, 960gs and Blueprint (without the span-X) also have some interesting classes names for the columns.

Matt Thomas

unread,
Mar 5, 2011, 8:37:20 AM3/5/11
to joomla-3pd-exte...@googlegroups.com
Hi Marco,

Thanks for the explanation. Yes, the numbers are definitely meant as an increment. Maybe figuring that part of the naming scheme is the final step to having a proposal.

Is it specifically the numbers associated with "column" or all of them? Does "header-above-a" make more sense to you then "header-above-1" ? How do we increment a module position 6 or 8 times? Sorry for all of the questions.

I'm glad that you like the "above" and "below" and HTML5 inspiration. I think we're getting close.


Best,

Matt Thomas
betweenbrain | Construct Unified Template Framework for Joomla! 1.5, 1.6, Molajo and Nooku Server



Jeremy Wilken

unread,
Mar 5, 2011, 11:23:35 AM3/5/11
to Joomla 3PD Extension Standards
Adding a number to the end doesn't (in my opinion) change the semantic
nature for the worse. Let's take an example. You have three rows of
modules above the header. You could header-above-top, header-above-
middle, header-above-bottom or header-above, header-above-2, header-
above-3. The example is to show once you start stacking in certain
ways, names become as confusing, or more so than numbers. The only
problem I see is with RTL languages, where if a row of modules is
position1-6, they will have to think backwards. However it is also
just as possible to make horizontal layouts with just one module
position, eliminating this problem.

I want to say again, I don't think this needs to become overly
complicated with a list of 50 modules. 10-12 is plenty in my opinion
for the core, with basic conventions for naming. I think a standard
will only work if the base is solid, and guidelines are set for the
most common issues. Simpler means more folks will follow, and while 50
module positions are a nice selling point, nobody needs them and I'd
rather focus on the core 10-12 positions that will hopefully get into
the core.

There is another issue, we have not yet figured out when to close a
discussion and take action. For example, anything we want to get into
1.7 probably needs to be done in the next 4-6 weeks. It took a few
days for me to get a branch setup to do some work on the installer, so
this is something we need to be working towards in the next week. The
questions are: 1) Who will take the lead on this task 2) Who will make
the final call, based on all input from this thread and 3) How do we
decide who it is?

On Mar 5, 7:37 am, Matt Thomas <m...@betweenbrain.com> wrote:
> Hi Marco,
>
> Thanks for the explanation. Yes, the numbers are definitely meant as an
> increment. Maybe figuring that part of the naming scheme is the final step
> to having a proposal.
>
> Is it specifically the numbers associated with "column" or all of them? Does
> "header-above-a" make more sense to you then "header-above-1" ? How do we
> increment a module position 6 or 8 times? Sorry for all of the questions.
>
> I'm glad that you like the "above" and "below" and HTML5 inspiration. I
> think we're getting close.
>
> Best,
>
> Matt Thomas
> betweenbrain <http://betweenbrain.com> | Construct Unified Template
> Framework <http://joomlaengineering.com> for Joomla! 1.5, 1.6, Molajo and
> Nooku Server

TJ Baker

unread,
Mar 6, 2011, 2:47:01 AM3/6/11
to joomla-3pd-exte...@googlegroups.com
We should settle on some 'base' names for positions, and recommend numbers be used to add additional positions in an 'area' that's been named.

While I understand that numbers can often be misleading from the viewpoint that they can represent some sort of hierarchy, I think that as with anything that has it's own nomenclature, it shouldn't be too hard to catch on after working with it for a while. The key here is that we're setting a standard that will hopefully become used by all, and if adopted by all will eventually lead to a much clearer use of module position names than is currently in place .. which is for the most part just a bunch of 'user positions' mixed in with some logical 'left, right, footer' etc, names.

I would love to see the adoption of our work added into 1.7, so as Jeremy's pointed out we should probably finalize this soon.

Can we settle on 10 base names, with recommendations on how to add more using numbers to differentiate?

Would a diagram be helpful?

Thanks for all of the great opinions and thought put into this ...

Cheers,

tj

Matt Thomas

unread,
Mar 6, 2011, 5:55:32 PM3/6/11
to joomla-3pd-exte...@googlegroups.com
Hi TJ,

What do you think about the scheme suggested at https://groups.google.com/d/msg/joomla-3pd-extension-standards/rCcBuhTQ9ks/zU9uWc8eUCYJ ? It seems to be fairly well received and should be fairly understandable as it follows the semantics of HTML5.

Best,

Matt Thomas
betweenbrain | Construct Unified Template Framework for Joomla! 1.5, 1.6, Molajo and Nooku Server

Daniel Chapman

unread,
Mar 6, 2011, 6:47:42 PM3/6/11
to joomla-3pd-exte...@googlegroups.com
@Jeremy - the answer to your question is in one of my first posts here- https://groups.google.com/forum/?pli=1#!topic/joomla-3pd-extension-standards/smoLKPCGH1M

I didn't get much feedback apart from Nic, but I still feel it is a valid discussion. 

Summary- when a group starts into some serious discussion they choose a "benevolent dictator" whose job it is to solve disputes and make the final decision. That way we don't get bogged down into I think..." "well I think..."   discussions forever.

A less than perfect decision is far better than no decision. 

We will also need to organise some volunteers to setup a site where we can list all the standards. I grabbed two domains - cmsstandards.com and extensionstandards.com  so we can choose from those or come up with another idea. I would like to keep "Joomla" out of the domain if at all possible.

Daniel Chapman

unread,
Mar 6, 2011, 6:51:35 PM3/6/11
to joomla-3pd-exte...@googlegroups.com
oh, and I would still like to see a social-media position (to replace syndicate.)

I think there are a lot of benefits to allowing the template designer to setup a spot (or two) specifically for social media links and with appropriate styling.

I think we would want a second mini standard for how modules output the html for such a position, that way template devs can set the css, and module devs just have to follow it.

TJ Baker

unread,
Mar 6, 2011, 9:12:27 PM3/6/11
to joomla-3pd-exte...@googlegroups.com
I like the naming that you presented, with one exception... I don't think we should name so many positions.

This is what I feel should be in the core / our recommendations:

analyitcs
breadcrumbs
debug
footer
footer-above (with recommendation that any further additions should be given numbers, re, footer-above-2, etc)
header
header-above (with recommendation that any further additions should be given numbers, re, header-above-2, etc)
header-below (with recommendation that any further additions should be given numbers, re, header-below-2, etc)
column-1
column-2
content-above (with recommendation that any further additions should be given numbers, re, content-above-2, etc)
content-below (with recommendation that any further additions should be given numbers, re, content-below-2, etc)
nav
nav-below (with recommendation that any further additions should be given numbers, re, nav-velow-2, etc)
offline
search
social media  (agree with Daniel on this one, although, the 'where to put this' is a bit of a question)


The main idea is that in the core / default templates we do not recommend 50 module positions, but we do recommend a naming system that will allow for so many positions if the developer should wish to use that many, hence the 'header-above' in core, with recommendation for 'header-above-2' should more positions be desired above the header position, etc...


TJ Baker

unread,
Mar 6, 2011, 9:16:38 PM3/6/11
to joomla-3pd-exte...@googlegroups.com
We might even take this a bit further and say that any of the 'main named areas', such as 'footer, nav, header' can have an 'above and below', and that each additional position added should be numbered.

Re-looking at the list I just posted I see for instance that we are mentioning a 'nav-below', but why not a 'nav-above' ?  Perhaps we should settle on the 'core' or 'main' areas and then recommend above and below them, with numbers added for each that is beyond the first?

Daniel Chapman

unread,
Mar 6, 2011, 11:09:38 PM3/6/11
to joomla-3pd-exte...@googlegroups.com
I like your idea of :
  • core (e.g. nav)
  • extended with above/below (e.g. nav-above)
  • extend further with 2,3,4 etc. (e.g. nav-above, nav-above-2 ...)  
You are right that we don't really need to specify nav-above etc. individually if we have a good system for determining what is available. Then theoretically any of the core positions could be extended and most people would have a good idea of where that position should appear.

Jeremy brought up earlier that if we allow numbers we should number everything in the group, in particular 1, for consistency. This does however leave us with either - numbering something 1 even when there are no more, or having selective numbering depending on if there is 1 or 2+ (nasty and we should probably avoid).

I personally prefer to only number from 2+  however I think this is going to be one of those times we need an arbiter, as I feel both sides have equally valid points, and we could all progress easily with either, we just need to pick one. 

Thanks for the support for social-media, it is the one position that it probably doesn't matter where it goes, as the template design will dictate the best place for it. (note that I started another thread to discuss how best to handle this position - it may not be best done via modules at all) 

TJ Baker

unread,
Mar 7, 2011, 12:09:41 AM3/7/11
to joomla-3pd-exte...@googlegroups.com
The only numbers I can see being in the 'core' would be for the columns, and since 3 column layouts tend to be the 'norm', I think that columns are the only standard items that should get numbers assigned, eg, column1, column2.

Everything else number wise should be included to 'extend' the 'above and below' positions .. imho 


Daniel Chapman

unread,
Mar 7, 2011, 12:57:58 AM3/7/11
to joomla-3pd-exte...@googlegroups.com
Ok, so the remaining issues we need to resolve are:

  • Numbering on all above/below elements (Jeremy) or only on 2+ (TJ, Daniel C.)
  • "social-media" position in (TJ, Daniel C.) or out (Jeremy, Matt, Daniel ?)
  • Letters (Marco) or Numbers (everyone else I think)

Tentatively Resolved are:
  • Basic core list - Matt's list minus above/below which become extensions and numbers for further extension (exception is column 1-3)
  • Template devs are free to add their own positions for specific needs (e.g. panel, gallery or the like)
  • We are still using column, not aside, as it is easier for non tech ppl. Otherwise HTML 5 + semantic naming where possible
Any objections to this?

If we need to pick an arbiter I vote for either Jeremy or Matt as they have both been most active. 

If we can't/don't  pick an arbiter, then we will just default the unresolved issues to the side with the highest consensus. 

I will volunteer to write write this up as a draft if there are no other volunteers (most of the participants here are more qualified than myself in regards to templates). 

Marco Barbosa

unread,
Mar 7, 2011, 7:02:10 AM3/7/11
to joomla-3pd-exte...@googlegroups.com, Daniel Chapman
Actually letters wouldn't be so much different than numbers, Matt has a point there. 

Column-1, Column-a are almost the same. Column-alpha is different however (yeah, I think I like the Greek alphabet...)
So I take that back, I think numbers are fine if we need them.

Where I was trying to get is here, as Jeremy said:

However it is also just as possible to make horizontal layouts with just one module
position, eliminating this problem.

That's how we have to think. I'm just not fond of incrementing names just for the sake of incrementing.

If I have a "sidebar", I should be able to put as many modules as I want, float and fix them with CSS (Or let the template fix them for me).
A "sidebar" can be both on left or right and it's also good for LTR and RTL languages.

I think we all agree that that's a perfect example of why "sidebar" is better over "right" or "column-2".

But if we need numbers, then as long as it's not more than 3 for example - I'm totally fine with it :)

There shouldn't be the need for more than 12 positions either. 

Also, I think in J! 1.6 you can create them on the fly too, can't you ? 

Not sure if that could help this case but it's worth a thought.

Marco Barbosa
http://marcobarbosa.com


2011/3/7 Daniel Chapman <dan...@ninjaforge.com>

Nicholas K. Dionysopoulos

unread,
Mar 7, 2011, 7:13:42 AM3/7/11
to joomla-3pd-exte...@googlegroups.com
Marco,

Besides you, me and other geeks, how many people can put the following in the correct order?
Alpha, Gamma, Delta, Beta, Epsilon, Ita, Zita
Most users would say Alpha, Beta, Delta, Epsilon, Gamma, Ita, Zita (alpha sorting) whereas the correct sequence is Alpha, Beta, Gamma, Delta, Epsilon, Zita, Ita. You take the lowest barrier of understanding module positions from simple cognitive skills (barely 2nd grade) to advanced knowledge of the Greek alphabet (college level and above). That is not a good idea. Let's remember again that this discussion is taking place to help laymen users intuitively grasp what each module position stands for, not ensure that they will be absolutely unable to figure out what the heck each module position means.

My $0.02 :)

Nicholas K. Dionysopoulos
Lead Developer, AkeebaBackup.com
Web: www.AkeebaBackup.com
Blog: www.Dionysopoulos.me

Marco Barbosa

unread,
Mar 7, 2011, 7:24:13 AM3/7/11
to joomla-3pd-exte...@googlegroups.com, Nicholas K. Dionysopoulos
But that's exactly my point! :)

They don't need to know the order.

That's why I think "Greek" alphabet is a cool example, it does have an order but it's also a good nomenclature.

It sits between "incremental" and "need-new-names-to-position-stuff".

And we don't need to go from Alpha to Zeta. Get Alpha, Beta and Delta only for example.

So I can correctly have Alpha coming before Beta, but I could *maybe* also have Beta before Alpha, why not? 
It's better than having Column-2 coming before Column-1.

960gs is a good example, they use only Alpha and Omega. 

We could have Sidebar-Alpha, Sidebar, Sidebar-Omega.
Or Sidebar-first, Sidebar, Sidebar-last.

Bah or maybe I just think Greek alphabet is cool :)

Sometimes I can have some weird ideas.

Marco Barbosa
http://marcobarbosa.com


2011/3/7 Nicholas K. Dionysopoulos <niko...@gmail.com>

Daniel Chapman

unread,
Mar 7, 2011, 7:38:06 AM3/7/11
to joomla-3pd-exte...@googlegroups.com, Daniel Chapman
sidebar and column have no difference really, both are just as good. Unlike "left" which is limited to one side.

One thing however, is that when sidebar is said, a lot of people will think of something inside the content - such as you see in magazines a lot with quotes, images, ads or extra information. 

Column on the other hand very clearly indicates a column which stands on it's own. 

A sidebar position (as defined by something floating inside content) should be template specific and not part of the default set I feel. Because it is not something that is likely to be used on 80%+ of sites. 

You can create your own module positions in 1.5 too, but our problem isn't whether these can be created or not, but what the default and standard positions are so that everyone using or making a template 

Matt Thomas

unread,
Mar 7, 2011, 7:54:51 AM3/7/11
to joomla-3pd-exte...@googlegroups.com
Thanks for the feedback everyone!

The goal with this scheme is that you don't necessarily need to explicitly specify so many positions, but to demonstrate an intuitive nomenclature that can be used if you need more or less positions. So, the standard could be as simple as:

analyitcs
breadcrumbs
debug
footer
header
nav
offline

"Additional positions can be added relative to the main content area with the name of 'column' followed by a dash and number:
column-1
column-2"

"Additional module positions can be added relative to the main named areas by appending them with -above and -below accordingly and then appending that with a dash, followed by a number.
-above (with recommendation that any further additions should be given numbers, re, footer-above-2, etc)
-below (with recommendation that any further additions should be given numbers, re, header-below-2, etc)"

For example, a template developer could follow this standard and create a template that uses column-1-above-2. It's still intuitive and doesn't require an image map to figure out where it is.

I'm not sure if I follow the thought regarding social media. I'll keep those thoughts to the other thread Daniel started.

Regarding when and how numbering happens, I think it can be as simple as requiring numbering if you have more than one, starting with 1. For example, if a template has only one module position above the header, it could be 'header-above', but if there is two, they'd be 'header-above-1' and 'header-above-2'.

Let's also remember that we are talking about available positions, each being capable of containing as many modules that you want. So, you can have three modules in 'column-1' and you can whatever you want with them with CSS (but that more of design issue at this point).

I'd be happy to write, edit and compile feedback regarding this proposed standard. It's something that I've been eager to implement for some time and will very likely change my template framework to follow. My framework is being used for the Molajo distribution, and I'm also building the template for Nooku Server, so that can give this standard a lot of credibility and traction in the community.

Daniel Chapman

unread,
Mar 8, 2011, 8:38:12 PM3/8/11
to joomla-3pd-exte...@googlegroups.com
we probably need to keep above-content and below-content  as "content" isn't a core module position. 

It breaks the rule, but the primary goal is a clear set of core positions, not a super strict rule. 

Matt Thomas

unread,
Mar 21, 2011, 9:13:48 AM3/21/11
to joomla-3pd-exte...@googlegroups.com
Does anyone else have any thoughts or input regarding this? I'd be happy to start writing a proposed standard in the coming weeks. I will also use this naming convention for the templates that will ship with Molajo and Nooku Server, as well as convert Construct Unified to follow it as well. Hopefully that will demonstrate it's usefulness.

Best,

Matt Thomas
betweenbrain | Construct Unified Template Framework for Joomla! 1.5, 1.6, Molajo and Nooku Server



Daniel Chapman

unread,
Apr 10, 2011, 9:18:29 PM4/10/11
to joomla-3pd-exte...@googlegroups.com
Well, somebody needs to start a draft spec, and then we can refine it from there.

Otherwise we could just keep going rounds and round forever.

Peter Lunn

unread,
Dec 11, 2011, 5:52:10 AM12/11/11
to joomla-3pd-exte...@googlegroups.com
Hi Matt and fellow group members

Standardising of Joomla module positions is something that I have thought about before, but it has received more of my attention recently as I have begun to look in more depth at how content (be that a header banner, menu, article etc) can be organised and displayed in a consistent manner across device browsers, be that computer or mobile device (phone or tablet).

I have read through the posts in this thread and other threads/articles via Google and as someone who is coming to this fresh I have some thoughts/questions. Matt, I see you are the creator of the Construct Framework so would value your feedback as someone who has given this subject considerable thought and been through I am sure most of the "but what about..." scenarios. That said, I value the feedback of anyone on the subject. As I said I am coming to this fresh and so my thoughts/assumptions may be wrong.

I agree with the discussion on semantics and the need for module positions to have meaning rather than just user-1, user-2 etc. I have looked at the list of available module positions and can see the value of many of them, but I do not understand the rationale of some, for example, column-1, column-2 etc and the fact that some of the module positions shown on that screen suggest a particular template layout (e.g. horizontal navigation).

It seems to me (whilst reiterating that my thinking is fresh to this and not developed) that module positions should generally describe what they do rather than where they are relative to other positions. That said, positions like header and footer seem to bridge both what they do and where they are in terms of being something that all output pages (whatever they are displayed upon) will need and are positionally non-negotiable so to speak.

The nav positions describe what they do, but in the available module positions of the Construct Framework they seem to be presupposed as applicable only to horizontal navigation. Of course, if you wanted vertical navigation you could place your menu module into the column-1 position (if left-aligned navigation) or column-4 (if right-aligned) but then you have to a large degree lost the meaning for the user of that template. Someone coming to use the template, perhaps inheriting it on an existing website, could be forgiven for expecting a menu module to be placed in a position called nav and not column-1.

The position nav-below-1 etc could be used for a breadcrumbs module but that presupposes that breadcrumbs should always be displayed under the main navigation. Could they not in some cases (maybe on a mobile phone) be needed at the top of the output display or above the main navigation? In that case shouldn't there be a position called breadcrumb so the developer of a Joomla site would know that if they are using breadcrumbs then they should assign the module to the breadcrumb position?

Again, please forgive my developing thinking on all of this, but isn't it the purpose of the template design to determine where output content is displayed rather than the name of a module position? 

I hope the above makes sense and appreciate your feedback as to the purpose of having positions that do not describe what they are for.

Thanks in advance,
Peter


Kyle Ledbetter

unread,
Jul 12, 2012, 4:47:09 PM7/12/12
to joomla-3pd-exte...@googlegroups.com
Hey @ll,
Thanks for having this discussion, it's very important for all types of Joomla users from first timers to devs.

I'd really really love to get this as minimal and logical as possible, while still maintaining flexibility. I, for the most part, agree w/ Matt for naming conventions like:
breadcrumbs
debug (analytics can go in debug)
footer
header
nav
offline

But since we're moving to Bootstrap for the JUI in 3.0 we can also have some that match their classes like:
navbar
and possibly:
hero (although I could be convinced to use banner instead)

Since Bootstrap is responsive and has some browser-size-specific classes we could also probably do the same with:
phone
tablet
desktop

For the left and right columns I've always been a fan of:
sidebar
aside

As a developer I've always found it useful to have a position before and after the component output as well:
before (or top)
after (or bottom)

I'm very opposed to using all the -1, -2, -3 that exponentially increased the number of positions and confusion by the end user. That's a total of 15 I'm proposing which I still think could be too much... what do you think?
-Kyle


Nicholas K. Dionysopoulos

unread,
Jul 12, 2012, 5:01:09 PM7/12/12
to joomla-3pd-exte...@googlegroups.com
Hello all,

I'm a strong proponent of using meaningful names. For the love of God, I never know where position-3 or position-7 will end up to. Something like left, right, top, bottom, before-component, after-component or what you proposed Kyle make infinitely more sense. Let's not make our users think.

Playing the devil's advocate, one could propose that the default template should be intentionally made basic and hard to use, so that all sites not look alike. This is a big pile of hot cow manure if you ask me. I will only say this: WordPress 2010. All over the web. With different header pictures. The default template is what the absolute newbie will see when installing the software. Does she know where to shop for templates or want to shop for templates in order to test this free CMS thingie? Nope and heck nope. Do we want to dismay her by having her think that the CMS was coded by pimpled faced, glass-bottom adorned computer engineers, straight out of the Nerds movie? Of course not! Then why subject her to the horrors of position-two-trillions-and-five-which-really-means-left-and-just-a-little-to-the-bottom? It doesn't make any sense, UX- or marketing-wise. Q.E.D.

Go, Kyle! Name them semantically.

Cheers,

Nicholas K. Dionysopoulos
Web Development & IT Services
http://www.dionysopoulos.me

Matt Thomas

unread,
Jul 12, 2012, 5:12:17 PM7/12/12
to joomla-3pd-exte...@googlegroups.com
Hi Kyle,

Thanks for the feedback. I have absolutely not disagreement with:
  • breadcrumbs
  • debug (agreed, analytics can go in debug)
  • footer
  • header
  • nav
  • offline
Personally, I'm not exactly a big fan of Bootstap's semantics, so I would not be in favor of navbar, especially if we already have nav. I'm also not sure if we'd need hero, tablet, desktop with the positions that we already have.

The point of the -1, -2, -3 as well as the -above and -below convention is to provide a method for extending the naming  in an organized manner. This way, if a developer wanted to add more positions, they could follow this convention and the user would be know where to expect the module to be. I feel that this is extremely important to consider as some developers will need more than a smaller set of positions. Keep in mind that we are not defining which positions go into a core template, but a naming convention that we can all use, and agree on.

Of course, this is just my opinion ;)

Best,

Matt Thomas
Founder betweenbrain
Phone: 203.632.9322
Twitter: @betweenbrain

Kyle Ledbetter

unread,
Jul 12, 2012, 6:10:08 PM7/12/12
to joomla-3pd-exte...@googlegroups.com
I'm ok with nav and banner instead of Bootstrap-specific navbar and hero.

Even though they're Bootstrap-specific (but don't have to be), it would be nice to have standard positions that only show in specific media-queries since responsive is such a huge thing now, which are the phone, tablet and desktop positions I mentioned.

The reason I don't like all the -1, -2, -3 positions is that Joomla already handles that - you can have infinite modules  in the header position and order them as you like, no need for header-1 header-2, etc. That is of course I'm misunderstanding :)

Either way we go, this general direction sounds like a winner to me so, yay!

-Kyle L

Dex

unread,
Jul 12, 2012, 9:09:03 PM7/12/12
to joomla-3pd-exte...@googlegroups.com
I'd like to +1 Matt's ideas and semantic naming.
Lovely!
Agree with Jen that positon-1 and the like are not helpful. 

Matt Thomas

unread,
Jul 19, 2012, 9:28:54 AM7/19/12
to joomla-3pd-exte...@googlegroups.com
I'm glad that we seem to be on the same page. Standardization for the win!

What do we need to do to move this forward?

Kyle, would you be open to using these position names for the Joomla 3.0 template(s) that you are building?

Best,

Matt Thomas
Founder betweenbrain
Phone: 203.632.9322
Twitter: @betweenbrain




Kyle Ledbetter

unread,
Jul 19, 2012, 10:01:51 AM7/19/12
to joomla-3pd-exte...@googlegroups.com
It would take updating the default template(s) and sample data. I'd love for this to happen, what's the final list that everyone's happy with?

I'll be working with Elin on the sample data. We planned on refactoring it soon anyways, hope this will all fit in nicely.

-Kyle L
Reply all
Reply to author
Forward
0 new messages