Hey guys, hopefully I can shed a bit of light on the Itemid changes and explain why we did what we did and hopefully offer up some ideas to help solve your problems.
First, a little background. From the development perspective, the Itemid system has always been a nasty beast to work with. It is extremely complicated and very "unreliable". I put that in quotes because the idea of it being unreliable is somewhat amusing in itself as the system is so strange it varies from person to person whether it is doing the correct thing or not. The problems with the Itemid system are routinely exacerbated by misuse both on the part of developers and end-users. In my opinion, it was never intended or really capable of doing many of the things that it is now expected to do. In truth, the system needs to be completely re-thought and fixed but this is a very uncomfortable task because as I said before, it is a beast to work with and is so notorious for creating problems that most devs won't go near it let alone give the go ahead for someone else to work on it.
For the Joomla! 1.0.12 release, we attempted to address some of the smaller issues surrounding the greater Itemid system. In doing this, we simplified the implementation a bit which is why you guys are encountering some of the issues you are. The most affected aspect of these changes are com_content for sure. When we were implementing the changes that we made, we tried to only use the Itemid system for the things it does well and dropped some of the things that it did poorly. This, somewhat by coincidence, is also how Joomla! 1.5 uses the Itemid system.
To understand where this is going, one must have an idea of what we think the Itemid system should do and what the Itemid system should not do. I will make it short. The Itemid should only change when you click on a menu item. Itemid's are only created when menu items are created and only 1 is created for that specific menu item. The itemid is not created for the item being linked to, that is almost irrelevant. The Itemid is tied to the menu item not the item being linked to. So, logically, it makes sense that the Itemid should only change when the active menu item changes. This is what the Itemid system was intended to do and this is all it can do reliably.
In previous versions of Joomla! (1.0.11 included), the Itemid would change when you clicked on an article link on the front-page (when com_frontpage was the front-page component). In this implementation, the Itemid was (in every sense of the word)
guessed. That is the best it could do. The reason it could only guess is there are many different Itemids that could be associated with an item and which one to use was just a matter of opinion. There was a sort of ranking system that tried to find the most specific one and then went down from there but it was still just a guess. For example, if you had three menu items that all linked directly to the same article, the Itemid chosen for that link could be any of the Itemids for those three menu items. Obviously, this is not very reliable. If you deleted or unpublished one of those menu items, the Itemid for the link changed. Again, this is all in the context of com_content which was trying to do all of this guessing. There were many problems associated with this system of guessing, it was unreliable, slow, and very confusing. So, in short, we just removed the guess work. This will ultimately make Joomla! faster, more reliable and much easier to understand.
I know that all of this background and explanation does not really address your concerns. However, I will say that I looked around on stewthompson's site
http://www.bentonhighschool.com/ and by this standard, it is working exactly as we intended it to which is something that could never really be said before. I understand that this is going to cause problems for Joomla! users and for search engines and things of that nature but ultimately I think it was the right choice. It will require some re-thinking of how Joomla! operates for many users as the Itemid system has always been a bit of a mystery but I think it is far more reliable and usable now than it ever was, even thought it won't
try to do some of the things that it used to do.
stewthompson wrote:
I want to make sure that I am right and not misreading.
In my example above, that article is assigned to the "Football" link inside the "Athletics" tab at the top. In other words since it was assigned to that link, before 1.0.11, every time one click on that article it displayed like the third link I have provided at the top (that is how I wanted it to because I have all of my "football" related modules assigned - I do not want that article to appear with frontage modules around it)
Is this not going to be possible according to Rob?
First, let me try to clarify what I think you are asking as you seem to be mixing terminology. You have a section that contains all of your sports which I imagine is called "Athletics", inside this section there are different categories, one for each sport. For example, "Football" is a category as well as "Swimming". You have an article titled " Brass, Jefferson, Mims and Jones top city, area teams" that is in the "Athletics" section and "Football" category. This article is not assigned to a menu item. If the article were assigned to a menu item, there would be a menu item that linked directly to that article. As far as I can tell, that is not the case. Thus, the modules that appear around that article will vary depending on how the user navigated to the article. If they click on the link that is on your front-page, one set of modules will appear whereas if they navigate to that article via the Athletics -> Football -> Article path, a different set of modules may appear.
One possible way to artificially handle this situation is to not use linked titles and manually create "Read more..." links. By adding static read more links you can use whichever Itemid you like. Another possible solution is to use redirects that would redirect certain item + Itemids to another item + Itemid combination using something like mod_rewrite for Apache. There might even be a Joomla! specific module that does this, if not, there should be.
I hope that I have explained the changes well enough and that the reason and logic behind those changes make sense. I really do think it is for the better even if it causes some headache right now.