Logo of SermonSpeaker Extension Claim

Login Form

× Support for SermonSpeaker 4.x is canceled as it is for Joomla 2.5. I will gladly assist you with minor issues but I will not fix any bugs anymore in this releases.
The fix is to upgrade to SermonSpeaker 5.x and Joomla 3.x, which is better anyway.

Sermons List - 'root' category missing

More
4 years 8 months ago #4376 by Michael Dunkle

Thomas Hunziker wrote: It may sound easy to do, but it's not. It's really much easier to just create a parent category if you need that.


I understand. I ran into a very similar issue w/ root category permissions. Sander Potjer of ACLManger fame helped me track it down. He believed the ACL issue w/ the root category was a bug in the Joomla core. I forgot to follow up w/ him to see if he had filed a bug. Perhaps that fix would help solve the old issues you encountered.

Please Log in or Create an account to join the conversation.

More
4 years 8 months ago #4378 by Thomas Hunziker
I don't think it's a bug. The problem is that "root" doesn't belong to an extension. Every other category is tied to an extension and it's ACL.

Feel free to rate SermonSpeaker on JED .
Useful documentation for beginners: First Steps & FAQ
How to say "Thank You!": Contribute or support using the Donate button at the bottom of each page.

Please Log in or Create an account to join the conversation.

More
4 years 8 months ago - 4 years 8 months ago #4380 by Michael Dunkle

Thomas Hunziker wrote: I don't think it's a bug. The problem is that "root" doesn't belong to an extension. Every other category is tied to an extension and it's ACL.


At least in the case that Sander & I communicated on, this was indeed a bug. The ACL for a component was not honored when attempting to create a category in the root for the category. So users that could create a sub-category for any other category in the component could not create a root category. A super-admin had to create it for them, which completely defeats the purposes of assigning them the ACL permissions to create categories for the component.

I do understand that "root" doesn't belong to any specific extension. But, each extension "appears" to have a "root" (in as far as each category without a parent is located in the "root" for the component) due to the way that the cateories component handles categories created for a specific component.

Hopefully that makes sense. My experience in tracking down & solving that issue is what has had me hoping that there might be solution that didn't require the additional of an arbitrary root or super-parent category to the category tree in order to allow the display of all sermons in the sermon list view.
Last edit: 4 years 8 months ago by Michael Dunkle.

Please Log in or Create an account to join the conversation.

More
4 years 8 months ago #4381 by Thomas Hunziker
Yes, the issue with creating top level categories was indeed a bug. But it's a different part of the ACL, the one to create/edit/delete a category. That can be solved by falling back to the component ACL.

Here we are talking about the part of ACL which deals with viewlevels. Who is allowed to see this category. And since we only have one root for the whole system, there is no such viewlevel assigned. By default, Joomla doesn't even create a single category for an extension. It's all up to the users to do that.
For SermonSpeaker I manually create an "Uncategorised" category during installation so there is at least one category and you can directly start adding sermons. Otherwise you would have to create that one first since it's a required field.

Each toplevel category in any extension is a direct child of the system root category. And that category isn't even connected to an asset_id.

Feel free to rate SermonSpeaker on JED .
Useful documentation for beginners: First Steps & FAQ
How to say "Thank You!": Contribute or support using the Donate button at the bottom of each page.

Please Log in or Create an account to join the conversation.

More
4 years 8 months ago #4398 by Michael Dunkle
Ok, so maybe using the term "root" category is misidentifying what I'm suggesting (whether it's for the component, or the system as a whole). I still contend that logically, a user should be able to display a sermon list of all sermons in the system without having to create a singular top level category to house all the other categories. This is not a limitation that is placed upon a component by com_categories (you can create categories with '- No parent -', so a container category for all categories in a component is not required by com_categories. BUT, that's what is required in order to make SermonSpeaker display a sermon list with all categories included.

Mabye '- All categories -' could more accurately describe what I'm suggesting in the Category field for the Menu Item. Using this would simply mean that no category filter is applied in the model in the same way that com_content handles it. If a category isn't part of the filter, then it's not part of the where clause:
$categoryId = $this->getState('filter.category_id');
if (is_numeric($categoryId)) {
...
}
elseif (is_array($categoryId)) {
...
}

Doesn't this also match the Joomla core handling? I'm not suggesting that Category not be required for Sermons or any of the other views. A category would still be set, and could be selected to filter out items in the display if desired, but there would also be an option to display all items.

Thanks for all the work you put into supporting this product!

Mike

Please Log in or Create an account to join the conversation.

More
4 years 8 months ago #4400 by Thomas Hunziker

This is not a limitation that is placed upon a component by com_categories (you can create categories with '- No parent -', so a container category for all categories in a component is not required by com_categories.

If you select "- No parent -", the "root" category with the id "1" will be assigned as parent. There is always a parent for each category except for the root one. That is not something done by SermonSpeaker, it's com_categories which does this.

Using this would simply mean that no category filter is applied in the model in the same way that com_content handles it. If a category isn't part of the filter, then it's not part of the where clause

SermonSpeaker actually does no different. If no category id is passed in the request, then no filtering is done in the query.
However like in com_content, you can't create a menu item without passing a category item.
In fact, if you don't pass a valid category id in com_content, the view will give you a 404 error "Category not found".
This is where SermonSpeaker behaves a bit different due to backward compatibility with older URLs. If you enter the URL index.php?option=com_sermonspeaker&views=sermons, you will get the list of all sermons like you want. However you can't do that using a menu item and it's basically a small security issue.

The thing is that the category is not only a filter, it's also an access control asset.

Feel free to rate SermonSpeaker on JED .
Useful documentation for beginners: First Steps & FAQ
How to say "Thank You!": Contribute or support using the Donate button at the bottom of each page.

Please Log in or Create an account to join the conversation.

Time to create page: 0.107 seconds
Powered by Kunena Forum