AnyTime wrote:
Hack,
I read a thread in here but cant seem to find it again that specifically talks to features and functionality with ACL. When I said you may want to share a simple description or graph, thats what I meant. Many people here are not as fresh in the programming, but they may be able to help in the understanding of the needs and wants/wishes of the community.
Okay, I try to give an explanation as what is possible with ACLs.
ACLs are mainly for access control, but you can do a lot more if you don't see the definition of ACLs so strict. An ACL-rule consists of 4 parts: A thing that wants to get the access, another thing that says "If you choose me, you can do this or that", a third optional object that the first object wants the second object to perform on and at last the return-value if its allowed for the first object to do this. Here a few examples to clearify a bit:
First object: Hackwar, object of the section users
Second object: moderate, object of the section com_forum
Third object: Thread about ACL-stuff, object of the section "forum-threads"
If you send this to an ACL engine (thats based on the scheme introduced by phpGACL and used both by me, jaclplus and the original Joomla ACL) you will get an answer, that the user Hackwar is not allowed to moderate the Thread about ACL-stuff in the component com_forum. You have to create all these objects before you can say what they are allowed/not allowed to do. If you don't do so, you automatically get a false reply.
Second example:
First object: pagination, object of the section mambots
Second object: show, object of the section mambots
Third object: Article about peacefull coexistence, object of the section com_content
Lets suppose we don't want the pagination at the bottom of this article to be shown. In that case we would have earlier set the value to disallow and would get a false returned when we call the check-function.
The ACL itself does nothing more than telling you if a combination of two (or three) objects is defined as allowed or correct or whatever you want to call it. Everything else, if the pagination shows or the user can moderate the thread, is up to the following code. You could for example call the ACL-functions before a mambot is triggered and ask if this mambot should be triggered on this page or if it just should do nothing. The ACL just makes things like that easily configurable, but you would have to rely on the author of the component/core/mambot/module that he really uses these functions and the results that are coming out of this.
If you don't have to look onto performance, you could say that in every situation where you have several content-objects of the same type but which should be treated in different ways each, you could use ACL to see if this particular part of code should be executed or not.
It all sounds very abstract, but I don't really know how to explain it more clearly. I can just add more examples if you like...
Think of ACL like a big empty library. You have to first put books on the right shelves and then ACL can search for you in these shelves in these books and tell a surgeon for example that the point he wants to cut is ok. What the surgeon does with this information is a completely different matter. I hope its a bit more clear what ACL can do.
Quote:
PER THE ROADMAP ACL stage 1 is in Q1 06 and 2 isnt defined. With the amount of people wanting this functionality and with the 2 people we know have developed some code towards this endeavor I would ask the following.
1. JOOMLA CORE -- Please create a subforum/thread or something strictly for this endeavor so people like HACK, JACLPlus and others can post thoughts/feelings/whishes and wants without the possibility of the thread being closed. This will also allow us as mentioned in this thread
http://forum.joomla.org/index.php/topic ... 0795 to perform a service with the Core Dev team in an open manner.
2. 3PD's and others like us -- Join that forum/thread and be respectful yet insightful into how we can all help and better this situation. The worst thing to have is 1-2 people doing different approaches to a common problem that faces us all. WE all need to help the teams in this endeavor.
to 1.: I don't think this is necessary. Although a lot of people would like to have this function, a subforum for this special topic would be not very active. I doubt that there will be more than 20 threads per year. At the moment we have a few very active threads in this forum and I think its okay that way.
to 2.: I would really like to hear more opinions on this whole matter, especially from people that are not as technical as the people that have participated so far in this thread.
I would especially like to hear something on the caching of my solution. Without caching, the phpGACL engine is very slow, especially in comparison to JACLplus or the original Joomla ACL, but if you turn caching on, the speed should increase tremendously. My question would be, if you use caching in your current Joomla/Mambo installation and if you had any problems regarding this. I don't have much experience with caching and without a bit more work both on a benchmarking tool, the caching system and the installation procedure of my solution, I can't say how good/bad it will perform. This is a very critical thing, if the performance slows down to much by the API, my solution is dead like a run over squirrel....

In hope of many responses
Hackwar