What is JUGA Actually Doing?Before you dive into getting started with JUGA (and causing a bunch of headaches), it is best that you have a mile-high understanding of what's actually happening. Every page on your Joomla! website has an internal URL that looks something like this:
Even if you have SEF enabled via the Joomla! Core or some SEF program, Joomla! is still operating off of these "variables". The variables in the above URL would be 'option', 'task', and 'id' and their respective values are 'com_whatever', 'something', and 'x'. JUGA refers to the unique combination of variable values in the above URL as a "Site Item". Why? Mostly because their combination represents a unique item on your website. If you change the`id` variable's value to 'n', this would create a brand new Site Item. For example, the act of viewing one of your website's content articles has some variation of this URL:
So therefore if you change the URL to
you have a completely different content article and a completely different JUGA Site Item. The most important variable from this URL is the "option". This tells Joomla! what component your user is accessing, whether it is com_login, com_fireboard, com_weblinks, or com_whatever. Each component has its own set of variables. Why? Because they're developed by different programmers with different programming preferences. With us so far? Let's install JUGADownload all of the JUGA files from My Downloads that pertain to your version of Joomla. In the CORE Joomla Installer, install each zipfile. Do NOT publish any of the plugins/mambots/modules yet. REPEAT: DO NOT publish any of the plugins/mambots/modules yet. REPEAT: DO NOT publish any of the plugins/mambots/modules yet. After installing, if you have some Notices showing up or anything like that, please take a look at our Troubleshooting section before you panic. It's OK. JUGA hasn't, doesn't, and will never make any changes to your content or core files. If you wanted to, you could uninstall JUGA the same way you installed it and everything would revert to how it was immediately before installing it. Also, just to be sure everything went well in your installation, browse to JUGA>>Tools and run all the Tools. Even if you believe you're doing a fresh installation, just run them. Humor us. While we're on the subject of installing JUGA, here's a BIG tip: USE A DEVELOPMENT SITE!!! All sites should, big or small. We just had a very good conversation with one of our users about the merits of using a development site and he thought that it wouldn't be possible with sites that have constant transactions (such as a site with VirtueMart running live) -- this is NOT true! Especially with Joomla! The best way to do this is to make a complete backup of your currentlive site. Then, create "dev.yourdomain.com" and re-create your livesite on the dev site (password protected, of course) -- make sure youchange your relevant items in your configuration.php file. This, then,becomes a working copy of your site--a dev site! You can then makechanges (such as installing components, configuring them, etc) on yourdev site while your live site is still running. Then, once you'vecompletely configured a new component or something on your dev site andtested it to exhaustion, you copy *only that component's* databasetables and files over to your live site, not your VirtueMart files or databasetables or any other files. This preserves your live site's new transactions/sales, andalso preserves its stability while you configure new components/addons. Trust us -- take the time to make the dev site now and you'll thank us later. So What Do I Have to Do Now?You have to tell JUGA what you want it to do. Because the set of "variables" will vary by component, you first have to tell JUGA what variables to keep an eye out for. Most components in Joomla! will use the "task" and "id" variables and be satisfied. Others, such as Fireboard and Docman, have their own set of variables (such as "func" and "catid"). In JUGA>>Variables, you will inform JUGA of what variables it needs to look for for each component.
Most of you simply breeze right over the JUGA>>Variables page and then ask us why JUGA isn't recognizing your particular Docman category or Fireboard forum. This is why: you need to tell JUGA that com_docman uses the "gid" variable in addition to all of its other variables. The same goes for Fireboard and all those other components you're using. What about my groups? I just want groups!Well, we're getting there. This is going to take time. First, we should explain something: JUGA works ON TOP of the existing Joomla! ACL Groups. Until the Joomla core team implements better ACL into the core, this is the best we've got as a community. Try to think of JUGA's groups like this:
Therefore JUGA is essentially creating sub-groups of the Joomla Core ACL groups when you create and assign JUGA Groups specific rights. What does this mean? It means that if you want some of your users to have editing rights, you can't assign them to the Joomla Core ACL group "Registered" and then assign them to the JUGA Group "Content Manager Front-end" -- JUGA does NOT override the Joomla Core ACL settings, and therefore could NOT grant that user editing privileges. You would have to assign the user to be at least an Author or Publisher. JUGA *can*, however, limit downward, meaning that JUGA can resrtict a publisher to having editing rights to only a single article (or to only 10 articles). It also means that you should put some thought into how you want your groups organized and what access rights they should have. This is NOT going to be a quick implementation if you have a large site! Heck, even if it is a small site, setting up restrictions will be a thoughtful, time-consuming process at first, so don't expect this to be finished in an hour! So now, map out your groups. We suggest using those new thingys they just invented, pencil & paper, for this part... After doing so, you can create your groups in JUGA>>Groups. ALL fields are REQUIRED, so be sure to complete the form! While you're doing this, here are some practical examples of what JUGA will be doing:
My Groups Are Created. What Next?Well, let's assign access privileges to those groups in JUGA>>Site Items. If you pressed Sync while you were setting up your Variables, then your Site Items page will be populated by your content articles and components. Yay! If the Site Item that you want to restrict isn't in the list, though, take a look at this tutorial on how to create a Site Item manually.
So, like we said before, your website has a ton of unique items, and for all of them you need to tell JUGA who does and who doesn't have access to them. Here are some things to remember:
So, what does this mean in even plainer terms? It means that JUGA is complex and you need to be patient with it. Seriously, though, here's a big TIP (and yes, we are repeating ourselves):
This may take some time depending on the size of your site. Take a look at our Site Items manual page for a description of all the options. Once you're done, the last thing you need to do is assign users to the JUGA Groups you've created! You will do this in JUGA>>Assign Users (pretty creative name for the page, no?) Now what?Now you're ready to try the settings out! Publish the JUGA System Plugin and browse around on your front-end (of your DEV site, of course!!!) and test out the restrictions! If you are experiencing any troubles, take a look at our Troubleshooting page for solutions to common problems. If the solutions there don't address it, contact us in our Support Center or check out the Forums! Thanks! |