navigate site menu

Start learning with our library of video tutorials taught by experts. Get started

Joomla! 1.7 and Joomla! 2.5: Access Control Lists in Depth

Joomla! 1.7 and Joomla! 2.5: Access Control Lists in Depth

with Jen Kramer

 


In this course, author Jen Kramer uses access control lists (ACLs) to define and implement user permissions on a Joomla web site. The course covers granting access to front-end content, customizing a login page for different user groups, delivering specific content to certain user types, and creating a simplified back end. The course also includes tips and tricks for styling the offline access page and working with the ACL Manager extension.
Topics include:
  • Introducing access control lists
  • Defining users, groups, and access levels
  • Assigning core permissions
  • Creating users and assigning them to groups
  • Assigning viewing access levels to modules, articles, and categories
  • Customizing back-end editing for improving client usability
  • Adjusting permissions for each category of content
  • Hiding a site behind a login

show more

author
Jen Kramer
subject
Developer, Web, CMS
software
Joomla! 1.7
level
Intermediate
duration
3h 13m
released
Dec 20, 2011

Share this course

Ready to join? get started


Keep up with news, tips, and latest courses.

submit Course details submit clicked more info

Please wait...

Search the closed captioning text for this course by entering the keyword you’d like to search, or browse the closed captioning text by selecting the chapter name below and choosing the video title you’d like to review.



Introduction
Welcome
00:04Hi! I am Jen Kramer. Welcome to Joomla! 1.7 Access Control Lists In Depth.
00:11Access Control Lists are often referred to as ACL.
00:15Now that you've worked with Joomla! for a while, and you've completed Joomla!
00:181.6 and 1.7 Essential Training, you might be ready to build a more complex website.
00:24We'll configure ACL, so three groups of users are delivered different content
00:28for viewing on the front end of the website.
00:30Next, we'll configure ACL, so that someone can create and edit content within a
00:35specific category from the front end of the website.
00:38We'll also create a simplified backend for our client, so they see only the menu
00:43items that they need.
00:45Finally, I'll cover some handy tips and tricks when working with ACL,
00:49including, styling the offline access page and working with ACL manager, a
00:53third-party extension.
00:55So if you're ready, let's get started with Joomla!
00:571.7, Access Control Lists In Depth.
Collapse this transcript
Using the exercise files
00:00Exercise files are available to Premium Subscribers of lynda.com.
00:05Simply download the exercise files to your computer and place them on the
00:09desktop for easy access.
00:11The exercise files are organized by chapter number.
00:15You'll notice that Chapter 0 is the very starting point of the website that
00:20we'll be building in this particular video title.
00:24Inside of 00_03, these two files the acl_files and acl.sql will install the
00:32starting point for the website inside of your XAMPP or MAMP installation.
00:37I'll show you how to install these files in the next video.
00:42For the other chapters on the website, simply take a look inside of any of
00:46the chapters and you'll notice that there's always a starting point for each chapter.
00:51These are jump in files that are available for all of the chapters, in case
00:56something goes wrong along the way while you're building the website, or in case
01:00you need to jump in a specific chapter.
01:03Other exercise file chapters contain additional files like pictures and text
01:08that we'll be adding to the website.
01:10Whenever an exercise file is available for a video, you'll see a yellow
01:15overlay at the bottom of the screen that indicates the location and the name
01:19of the exercise file.
01:21Please note that the jump in files will not be shown on the yellow overlays,
01:26however, they are available for the beginning of each of the chapters.
01:30Working with the exercise files can add great value to the training.
01:34However, if you don't have access to the exercise files, you can still follow
01:39along with the videos, often using your own files and have a fulfilling
01:43learning experience.
Collapse this transcript
Restoring the chapter starting state exercises
00:00To get started in our exploration of ACL, I've provided you with a website that
00:05need some ACL added to it.
00:06We'll be working with SAMOCA, the San Angelico Museum of Contemporary Art.
00:12This is a fictitious museum based in Ventura, California.
00:15SAMOCA has several volunteers that need some coordination, as well as many employees.
00:22While the website currently works well for the public, it needs to have some
00:25additional information behind the scenes for volunteers and employees.
00:29The employees also need ways to update the website, but only in limited areas.
00:34We don't want any volunteer editing any information on the site, except in the
00:39volunteer area, and we certainly don't want non-IT employees changing the
00:44configuration of components, modules, plug-ins or the templates.
00:48So we'll explore ways to make all of that happen with this Joomla! website.
00:53In your exercise files for this particular chapter, inside the exercise files
00:59folder, inside of Chapter 0, inside of Chapter 00_03, you'll find a zip file and an SQL file.
01:09I'll show you how to take these two files and turn this into a working Joomla! website.
01:15I'm working on Windows right now and I'm working with XAMPP.
01:20I showed you how to install XAMPP in Joomla!
01:231.6 Essential Training.
01:25If you're a Macintosh person, we'll be working with MAMP, and I also showed you
01:31how to install that in Joomla!
01:321.6 Essential Training.
01:34If you're working with XAMPP, please be sure to make sure you're working with 1.7.3.
01:41This is not the most recent version of XAMPP, which was 1.7.7 at the time of this recording.
01:47So make sure you find 1.7.3, which will handle errors from Joomla!
01:53a bit better than some of the later versions of XAMPP.
01:56Once you have your XAMPP or your MAMP installed, you'll need to go to the htdocs folder.
02:01So I'm going to go to My Computer to my C Drive to my xampp folder, to htdocs.
02:12If you're on a Macintosh, you'll need to get to your htdocs folder, which is
02:17inside of your MAMP application.
02:18If there are any files that are present here in the htdocs folder, all you need
02:22to do is delete them.
02:24If you have another Joomla!
02:25website that's already in the htdocs folder and is working for you, and you
02:29don't want to get rid of that, you can always make another folder inside of
02:32htdocs and install this website inside of it.
02:36You'll need to alter some URLs to your website if you decide to do that.
02:41What I'm going to do is copy over my acl_files.
02:44I'm going to right-click on this and pick Copy, and over here in htdocs
02:49I'm going to Paste.
02:52And then I'm going to Extract All and it'll ask me where, and I'm going to
02:58extract this directly into the htdocs folder.
03:05When I click Extract it's going to go through the process of extracting all of
03:09the files from the zip.
03:10Okay, so now that all of our files are unzipped.
03:15We can delete the acl_files zip itself.
03:18I'm going to right-click on that file and I'm going to say Delete, and Yes, to
03:23move it to the Recycle Bin.
03:25So these are the files that we need run our website.
03:27Now I need to configure the database.
03:30So to do that, inside of Firefox I'm going to go to localhost/phpmyadmin.
03:41If you're on a Mac, you may need to go to localhost:8888/phpmyadmin or from the
03:49MAMP introductory screen, click on the link for phpMyAdmin.
03:54Once you get here, we're going to make a new database.
03:57All we need to do is type in the name of the database right here and I'm
04:00going to call it Joomla!
04:02and then hit the Create button.
04:06So it'll inform you that it's created the database called Joomla!
04:09Now I'm going to import MySQL file from my exercise files folder.
04:16So I'm going to go do the Import tab and I'm going to Browse for the location of
04:21my text file, which is inside of the exercise files in Chapter 0 in 00_03.
04:26I'm going to pick acl.sql and say Open.
04:32Leave everything set as it is in the default, and say Go, and this will tell you
04:37that it is, I've gone ahead and imported the entire database into Joomla!
04:40Now we have one final step.
04:43Right now by default inside of our htdocs folder our configuration file is set
04:51up for where the site lived before, and we just need to change some of the
04:56information in it to make it compatible with this new installation of Joomla!
05:01here on our local copy of XAMPP.
05:03The next thing we need to do is edit the configuration.php file, which connects
05:10all of the files on our Joomla!
05:11website to the database.
05:13We need to update this with the most recent information that pertains to this
05:17particular installation on our local machine.
05:20You can edit configuration.php with any kind of program that will edit a text file.
05:26So Notepad or Notepad++ or Text Editor, BBEdit or any of your favorite
05:33particular programs will work just fine.
05:35I'm going to use Dreamweaver CS5, because it's installed.
05:39So I'm going to go ahead and right-click and say Edit with Adobe Dreamweaver CS5
05:44and I'll wait for the program to start.
05:46Now that I have this particular file open, I need to make a few changes to the
05:51way the configuration file is set up.
05:53So first of all the public user, which is line 13 of this file is set to root,
06:00and that should be correct for both XAMPP and MAMP installs.
06:03This is your database username.
06:06If you happen to be installing these files on web host or something like that
06:10you'll need to know the username and change this line to the correct username
06:14that you're working with.
06:16For XAMPP users the password should be left blank, exactly like this.
06:21However, if you're working with MAMP and you'll need to take the password and
06:25fill this in, and the password is root same, as the username.
06:29The next line, line 15 here calls for the name of the database, which is
06:34configured right now to say acl.
06:36We'll need to change that to Joomla!
06:39which was the name of the database that we created in phpMyAdmin just a
06:43little bit earlier.
06:49The other information in this file should be okay.
06:52Go ahead and go to File>Save and now when you pull up your website, you should
06:59be able to go to localhost for XAMPP or localhost:8888 for Macintosh on the
07:06MAMP, and hit Return and the website should come up just like this.
07:12To get to the backend of Joomla!
07:14what you'll need to do is put a slash followed by the word administrator, or
07:20if you're on a Mac, it'll be localhost:
07:228888/administrator, and you'll come to the backend of the website.
07:27If you happen to install your copy of Joomla!
07:30in another folder inside of htdocs, you'll need to alter the path accordingly.
07:36So rather than localhost to get to the front end of the website you'll need to
07:40say localhost/your folder name, so like localhost/acl, and to get to the backend
07:47of the website, it will be localhost/acl /administrator, and if you're on a Mac,
07:53you'll need to add that :8888 in many situations.
07:56To log into the back of Joomla!
07:58you'll need to enter the username and password, which I've made very easy for you.
08:02It's simply admin followed by a password of admin.
08:06Terrible for security, terrible for security, but great and easy for us to work
08:11with here while working on our Joomla! website.
08:15Remember, if you wind up putting this somewhere out on a web server in the real
08:18world, go ahead and change that username and password just as soon as you get it
08:22out there to keep your site secure.
08:24And once you log in, you should see the Control panel of the website.
08:29And now we're ready to get started with Joomla! 1.7 ACL.
Collapse this transcript
Difference between Joomla! 1.7 and Joomla! 2.5
00:00Almost nothing changed in ACL between Joomla 1.7 and Joomla 2.5, but one very
00:06notable thing did change.
00:08So I'm looking at my Samoca web site in Joomla 1.7.
00:12And if you take a look here in the Global Configuration under the Permission tab,
00:15or anywhere else that you happen to encounter the permissions screens
00:19inside of Joomla, you'll notice that one of the options here is the thing
00:23called Access Component.
00:24Access Component was always kind of confusing wording.
00:27What it meant was that you are able to get into specific areas of the menu, so
00:32remember that com content is a component.
00:35So by allowing a user group to have access to com content, that would indicate
00:41that they were accessing the component.
00:42And that's where the wording came from.
00:44In Joomla 2.5, which I'm switching to in another tab here to show you this,
00:49the name of that item from axis component has now become Axis Administration
00:54Interface, which is a much more usable name.
00:57And it means exactly the same thing.
00:59There's no difference between accessing the component and accessing the
01:03administration interface.
01:05They're the same thing.
01:06They've just changed the wording here in Joomla 2.5.
01:09Other than this one minor difference, there's no difference between ACL and
01:13Joomla 1.7 and 2.5, so you should be able to follow along with the videos in
01:18this course just fine.
01:21And if you do encounter any issues or problems, please email me and let me
01:25know what you've encountered that's different, so that I can be sure to keep
01:28this course up to date.
Collapse this transcript
1. Understanding Access Control Lists (ACL)
Introduction to ACL
00:00Joomla! 1.6 introduced him very important changes in the permission's realm, and now
00:05these changes will be carried into all future versions of Joomla!
00:08Access Control Lists or ACL is one of the major new features in Joomla!
00:14If you're in a situation in which a group of users or a single user needs to see
00:19certain areas of the website but not others, or if person A just need to edit
00:24just this area of the website, but person B needs to only edit that area, then
00:28ACL may be helpful to you, just because you can, doesn't mean you should.
00:33This is the rule of law when it comes to ACL, and you should always ask yourself
00:38if ACL is truly needed.
00:40If you're building a simple website, you may not need to watch this video title
00:44at all, because the default ACL settings in Joomla!
00:47are just fine for your website.
00:49Be sure you watch Chapter 10, ACL Essentials, in the Joomla!
00:531.6 Essential Training available here at lynda.com, before you watch, Joomla!
00:581.7 Access Control Lists In Depth.
01:02The ACL Essentials chapter in Joomla!
01:041.6 Essential Training will give you a sense of what Joomla's default ACL
01:08settings can do for you, which is actually quite a bit.
01:12Indeed, for 90% of the sites I've ever built, Joomla!
01:15Default ACL had everything I needed to get the site built.
01:19However, you'll inevitably encounter a site in which you need a bit more control
01:24over who can see what, who can edit what, and who can configure what on a given
01:28website, that's where ACL comes in.
01:31It's a very powerful system that will allow you to do anything you want, which
01:35also means that it can be confusing and that there are many issues to consider
01:39and test before implementing it.
01:40There are four configurable elements to making ACL work;
01:45these include users, core permissions, groups and access levels.
01:51A user is already familiar to you and these are the accounts we create for
01:55individuals allowing them to login to the front end or public facing side of
01:59the website, as well as the backend or administrator side of the website, users
02:05are assigned to groups.
02:06Core permissions describe what a user can do.
02:09There are 10 core permissions in Joomla!
02:111.7.The off-line access permission is a new core permission in Joomla!
02:151.7, while the other core permissions were present in Joomla! 1.6.
02:20These core permissions include create, edit, edit your own, edit state, delete,
02:28access component, site login, admin login and super administrator.
02:34Core permissions are assigned to a group, not to a user.
02:39A group is a group of users with permissions in common, by default;
02:43the groups in 1.6 include public, registered, author, editor, publisher,
02:50manager, administrator and super-user.
02:54These groups have similar permissions as they did in 1.5 by default.
02:58However, you could change the permissions if you wish or you can delete these
03:03groups all together.
03:04Groups may be assigned permissions for editing the backend of the website.
03:09Remember, if you wish to have one user with specific permissions, you may need
03:13to create a single person group for them.
03:15An excess level controls what specific groups are allowed to view on the front
03:20end of the website, as well as the backend of the website. In Joomla!
03:231.5, access levels included public, registered and special these are still
03:29available in Joomla!
03:301.6 and 1.7 and they are still configured in the same way.
03:35Public means that anyone can view the content, registered means that registered
03:40users and higher can view the content, and special means that authors, editors,
03:45publishers, managers, administrators and super-users can view the content.
03:49It's now possible to make a new access level, controlling more finely who gets
03:55to see which content.
03:56I'll go through group's, core permissions and access levels in detail in the
04:01next few videos, and I can't say this enough, just because you can, doesn't mean
04:07you should, you do not have to use ACL at all on your website, you can leave all
04:13of these default settings alone, and for the smaller websites, you won't need to
04:17change a thing anyway.
Collapse this transcript
Defining users
00:00You are already familiar with users in Joomla!
00:03When you login to your Joomla!
00:04website, you are logging in a some kind of user.
00:07By default, Joomla!
00:08create Super-User account when you initially install Joomla!.
00:12I have a tab open here showing me the front end of the website, which is located
00:16at localhost or on a Mac it will be localhost:8888, if you're running MAMP.
00:23I have another tab open here that is the backend of my website or the
00:26administrator site of the website, and this is located at localhost slash (/)
00:31administrator or localhost colon:
00:348888/administrator and here we can go ahead and log in to the website, so I'm
00:40going to enter a username and a password of admin and admin.
00:45Be sure not to use that on sites in the real world.
00:48Go ahead and click the Log in button and you'll be in backend of Joomla!
00:51Of course, since we just longed in, we are in fact a user and that is what we
00:56are talking about in this particular video.
00:58To get to the User Manager where you can see all of the users who are part of
01:02the website or make new users, you can either go to it via the icon here on the
01:07Control panel for the User Manager or you can go to Users>User Manager, and that
01:12will get you to the exactly the same place.
01:14Now as you can see we have a single login for this website and that's the one
01:20that we're currently logged in as, which is the super user.
01:23What we see here in the User Manager screen is a series of information, the
01:27name of the person, their username, whether they are enabled for the website
01:32and activated has to do with, whether they have confirmed their email address
01:36for certain kinds of registration for the website, which I'll cover in a later video.
01:41It tells us which user groups the user is assigned to, in this case just the
01:45Super-User, the email address of the account and when people were last visited,
01:51and when they registered for the website.
01:53So if I click on the Super-User I get into an editing screen where I can
01:57change that kind of information, the name, the login name, the password, the email address.
02:03Down towards the bottom of the screen is where I assign users to user groups.
02:08So right now this account admin is assigned to only one user group, the
02:12Super-User group, but we could have somebody in more than one user group if we
02:16wish, note that those are check boxes, so one user may be assigned to many
02:21different user groups.
02:22On the right side of the screen there are settings that you're probably already
02:26familiar with, things like what time zone is somebody in, what help site should
02:31they use, the editor that they should be using, the languages for the website.
02:35One of the wonderful things in Joomla!
02:361.6 and 1.7 is the ability to set a backend template style on a user by user basis.
02:43This would mean that you could be working here inside of blue stork which is the
02:47administrator template that comes with Joolma!
02:49by default and it is configured by default, but you can assign half the word for
02:53example another administrator template that comes with Joomla!
02:561.7, two other users on your website.
03:00You can also install third-party administrator template from providers such as
03:05AdminPraise or you can install MissionControl, which comes from RocketTheme.
03:10So this is a way a user screen looks and the key thing that I have to point out
03:14here in this particular screen is that there's no place here in the User Manager
03:18for me to assign permissions to the administrator, I can only take a user and
03:22assign them to a User Group.
03:24Permissions are assigned to User Group and all users need to belong to at
03:29least one User Group.
03:31So if I have a user that needs a specific set of permissions, I need to create a
03:36unique User Group for that particular user.
03:39Go ahead hit the Close button to return as the User Manager and now you are
03:45up-to-date with everything there is to know about making users for your Joomla!
03:49website.
Collapse this transcript
Defining groups and using the default groups
00:01A Group is an element in Joomla!
00:02which may have core permissions and users assigned to it.
00:06A Group or User Group may contain one user or many users.
00:11All of the users within a User Group have the same core permissions and the same
00:14ability to access specific pages on the site for viewing or editing.
00:19So let's take a good look at that User Groups that come with Joomla!
00:23To you to the User Groups manager, go to Users and Groups and this will show you
00:30the User Group screen. Sometimes Joomla!
00:32call this the User Groups in the backend and sometimes it's here on the
00:36drop-down menu, they call it the Group's menu item.
00:39So both of those words refer to exactly the same thing, these are User Groups,
00:43as you see here listed on the screen.
00:45These are the default groups that come with Joomla!
00:481.7 and they're constructed exactly as the groups were in Joomla!
00:521.5, public, registered, author, editor and publisher pertain to the front
01:00end of the website.
01:01While the manager, administrator and super-user pertain to the backend of the website.
01:07The public which is the parent of all of these user groups may see anything on
01:13the website on the front end, but they may not login to the front end or the
01:17backend of the website, or see any information that requires any kind of
01:21higher access level.
01:23Registered users may log into the front end of the website, but they may
01:27not edit any articles.
01:28The registered level is useful for hiding some basic content for
01:33selected visitors only.
01:34Authors may create articles, but those articles are not published automatically,
01:40they may also edit their own work.
01:42Editors may create articles and edit any of the articles that are on the website.
01:48However, still, they may not publish or unpublish any articles on the website,
01:52including their own.
01:53Publishers may create articles edit any other articles on the website and
01:57approve articles for publication or unpublished they may not log into the
02:03backend of the website however.
02:05Managers may log into the front end or the backend of the website they may also
02:10create edit or delete any content and published and unpublished content.
02:14Managers also have access to some of the components in the backend of the website.
02:19Administrators may do everything that the managers do, plus they can make
02:23changes to modules, component, plug-ins, templates and languages.
02:28Super-Users are just like administrators, but they also get access to the global
02:32configuration and they have otherwise group level access they can see anything
02:38and go anywhere on the backend of the website.
02:41As I mentioned it's possible to change these permissions for each group.
02:44However, this is the way those permissions are set by default.
02:48How are those permissions changed, well, that's a topic for the next several videos.
02:53Also very, very important to note, you do not have to use any of the default
02:58groups ever, you can delete almost all of these groups, I don't think you can
03:02delete public or super-users, but all of other groups here inside of Joomla!
03:06you may delete them all if you wish, you cannot delete any of the groups to
03:10which you belong, so deleting super users while you're a member won't work,
03:15you'll have to move yourself out of super users in order to get rid of it.
03:18Also since super user is a child of public, you can't delete the public either.
03:22However, all of the other groups may be deleted and you can replace them with
03:27your own user-groups.
Collapse this transcript
Understanding core permissions
00:00Configuring the core permissions for your website starts with the
00:03Global Configuration.
00:05Global Configuration is accessed either by the icon here on the Control panel
00:10or you can go to Site>Global Configuration and under the Permissions tab inside
00:16of the Global Configuration you will find a series of the user groups that make up this website.
00:22Here they all are in the accordion panel.
00:24By clicking on any of the names you can see the permissions that are assigned
00:28for all of the user groups here.
00:31So I'm going to take a look at the Public here to start with.
00:34Let's take a look at what these ten core permissions are that are listed here in the side.
00:39The Site Login means that you can login into the front end of the website while
00:42the Admin Login indicates you can log into the backend of the website.
00:46Offline Access is the ability to log into the site when its offline and you will
00:50remember from Joomla!
00:511.6 Essential Training that if you go here in the Site tab in the Global
00:56Configuration and change your site to be set Offline by setting this to Yes,
01:01this will give you just a login box when you go to the homepage of the website
01:05and it requires a login in order for you to view the rest of the website. Prior to Joomla!
01:111.7 only super administrators were able to login to the website when the site was offline.
01:18Now you can specify exactly which user groups you wish to be able to log into
01:22the website using the Site Offline permission.
01:25The Super Admin permission gives you all of the administrative and root
01:28permissions pertaining to the website.
01:30Accessing the Component is a little bit confusing and misleading.
01:34Most people think immediately that the Access Component permission has to do
01:38with, of course, what's on the Components menu, which of these components can I access.
01:43But the way Joomla!
01:43is built remember that these are not the only components that make up your website.
01:48Content itself is a component and all of the items here in the backend that
01:53drive the various aspects of Joomla!
01:56and its configuration, these are all components as well.
01:59The User Manager is a component;
02:00the menu Manager is a component, and so forth.
02:03So Accessing a Component, all that means is does that particular item show up
02:08here in your menu structure at the top of the website and if it does once you
02:13actually can get into that particular menu item, then the other permissions
02:18underneath of that such as Create, Delete, Edit, that has to do with what you
02:22can do exactly once you actually get into one of those items on the menu.
02:27Create of course means you can create something.
02:29And remember something is broad that could be an article or a category.
02:32Those are the ones that come immediately to mind, but it might also be
02:35installing a template or uploading pictures to the Media Manager or other things like that.
02:41Delete indicates that you're actually getting rid of content altogether.
02:45Not just dragging it to the trash, but emptying the Trashcan.
02:49That is what Delete means.
02:50Edit indicates that you can edit any of the content on the website regardless of
02:54who the author is versus Edit Own.
02:57I am skipping Edit State.
02:58Edit Own means that you can edit only your own content, not anybody else's content.
03:04And Edit State in Joomla!
03:051.6 and 1.7 indicates that you can change the state of a piece of content.
03:11Remember that could be again, categories, articles, menu items, modules, and so
03:15forth whether they're published, unpublished, or trashed and the trashed
03:20indicates that it's essentially been dragged to the Trashcan, but the Trashcan
03:24has not yet been emptied.
03:25In the other column we have a series of these items in terms of what each core
03:31permission is set to a specific value.
03:33And here under Public we have three settings Not Set, Allowed, and Denied.
03:39Public is special, because this is the root user group for all of the other user
03:43groups, the parent for all of them.
03:44So in this particular case Allowed indicates that you're allowed to do something
03:50or Denied indicates you're not allowed to do something.
03:52Those two are pretty obvious.
03:54Not Set indicates that it simply hasn't been set yet.
03:57We're starting off with nothing set in the backend of Joomla!
04:01and by default what that means is you can't do something.
04:05So all you have to do is take a look here at the Public to make that connection.
04:09We don't want the Public doing anything except for viewing our website.
04:12We don't want them logging in, we don't want them adding content or
04:14anything like that.
04:15So by default, all of these are set to Not Set.
04:20If we set them all to Deny, that would actually be a very bad thing, because
04:24there is a big difference between Not Set and Deny.
04:28Not Set means that the setting can be overridden somewhere along the way.
04:34So remember that all of these user groups underneath are going to inherit their
04:38permissions from the Public.
04:40If we set everything to Deny then no one on this website anywhere would ever be
04:44allowed to do anything.
04:46So by leaving it to Not Set all of the groups underneath inherit the Not Set as
04:51is what sometimes has been referred to as a soft deny meaning that you are
04:56allowed to do something, but it can't be overridden by Allow or it can't be
04:59overridden by a very hard Deny.
05:02In other words, that they are specifically not allowed to do something.
05:06This is a complicated concept.
05:07So if you don't understand what I just said you will see this in action as we go
05:12through the examples in later chapters.
05:14So the other point I want to make on this particular screen is remember that
05:19Public is the parent of all of the user groups that are underneath here and all
05:23of the other user groups inherit their permissions from the Public.
05:26So if I look at Registered users for example, we'll see that they've inherent
05:31in their state which was not set from Public and see here on this side that
05:36this is not Allowed.
05:37They're not allowed to login to the backend of the website or create content,
05:41but we have specifically allowed them to login to the front end of a website.
05:46Then if we go to the Authors you'll see that they inherit the ability to login
05:51to the front end of the website from another parent of theirs the Registered
05:55users, but in this particular setting we've allowed them to also create and
06:00edit their own content.
06:02This process continues along here in the front end until we get to the Publisher
06:06who is allowed to log into the front end of the website, create content, edit
06:10their own content, edit the state of content, and certainly edit their own.
06:14If we take a look at some of the backend users like the Manager, once again
06:20this may not be configuring exactly the way you expect, because we had to
06:24specifically allow the Manager to log into the front end of the website and
06:28create their own content and edit their own content, edit state, and edit their own content.
06:33And you maybe wondering why?
06:35Because you always think of Manager or at least I've always thought as manager
06:39as something that comes after Publisher.
06:41But notice here that the Manager is a child of Public so the Manager is
06:45inheriting all of the public settings.
06:48So here we have to explicitly set everything to Allowed except for the things we
06:53don't want the Manager to do such as have the Super Admin privileges and the
06:57ability to access pretty much anything on the website.
07:02When you get to the Super Users you'll see that they've inherited everything
07:05again from above, but everything is overridden because they have the Super Admin
07:10permission, and because they've the Super Admin permission they can essentially
07:13do anything on the website.
07:15Now that you have an overview of how these core permissions work and you
07:19understand a bit about user groups and users, we have one more aspect of the ACL
07:24system we have to take a look at and that is our Access Levels.
Collapse this transcript
Defining access levels and their role
00:00An Access Level is what controls which specific user groups are allowed to view
00:05which content on the front end and the backend of the website. In Joomla!
00:101.5 these groups were called Public, Registered, and Special.
00:15So let's take a look at what Access Levels we have in Joomla! 1.7.
00:18You can get the Access Levels via the menu here going to Users>Access Levels.
00:25Just as we had in Joomla!
00:261.5, we have the same Public, Registered, and Special Access Levels.
00:30Public means that anyone can view the content.
00:33Registered means that registered users and higher can view the content.
00:37In other words, people with a front-end site login.
00:41And Special indicates that authors, editors, publishers, managers,
00:45administrators, and super administrators can view content.
00:49Historically, this has been all we ever needed.
00:52These three particular Access Levels.
00:54But now that we are going forward what we need to think about is which user
00:59groups are going to need to see which pieces of content and we may need to
01:03create additional Access Levels in order for that control to take place so that
01:09they can see the appropriate content on the front end of the website.
01:12The next chapter is going to cover this in great detail.
01:15The key thing to remember about Access Levels is that permissions are not inherited.
01:20So if I make a piece of content that's available to the publisher user group
01:23only through an Access Level and I am logged in as a super administrator who is
01:28also not part of the publisher group, I cannot see the piece of content.
01:33That is exactly great.
01:35Even though I'm a super administrator, I may not be able to see all of the
01:39content on the front end of the website if I'm not part of every single Access Level.
01:45This means that you need to be very, very clear about which groups can see which content.
01:50Remember that Access Levels apply to viewing the content only.
01:53It has nothing to do with editing content or creating content.
01:57Access Levels are used on the both the front end and the backend of the website.
02:02Remember as we take a look at the backend of Joomla!
02:04here, we forget that this is a template and a website exactly the same as the
02:09front end of our website.
02:10So the menu bar at the top of the page for example is a module, the same when
02:15menus are on the front end of the website.
02:17We will be going through Access Levels in much more detail in the next
02:21chapter where we will control which groups of users can see which content on
02:26the front end of the website.
Collapse this transcript
2. Allowing Different Users to Read Different Front-End Content
The goal of this project
00:00Now that we have an idea of the four elements of ACL let's take a look in more
00:04detail about how they work together to make permissions work.
00:07In our first example we have four groups of people who need to access the website.
00:12The first group is the public.
00:14The public needs to see what's on the website right now.
00:17However, the other three groups of people need some additional information.
00:21Volunteers need to get information about scheduling, special volunteer discounts
00:25to the museum shop, and volunteer only events and announcements.
00:28Volunteers should not see employee or senior manager information.
00:33Employees should be able to see a second tier of information, which the
00:36volunteers cannot see.
00:38This includes much of the human resources information for the museum.
00:42Employees should not be able to see the volunteer information or the senior
00:45management information.
00:47Senior managers, however, should be able to see all of the information for the
00:51volunteers and the employees as well as their own information.
00:56Knowing that this is the plan for how all these user groups will access the
00:59information for the website we can develop an approach.
01:02An approach will be as follows.
01:05First create a senior manager group, an employee group, and a volunteer group.
01:10Assign appropriate core permissions to each one of these groups.
01:15Create a senior manager user and employee user and a volunteer user and
01:20assign them to groups.
01:22Create a volunteer access level, an employee access level, and a senior
01:26management access level and assign groups to those levels.
01:30Create categories and articles which are readable by each group.
01:34Create a user menu which will hold the links to group specific content.
01:39Assign access levels to the menu module to display the user menu.
01:44Configure the login screen for a better user experience.
01:48Login with each of our user logins and test to make sure our ACL
01:52configuration works correctly.
01:54I will also be giving you a few styling tips for making the screens for each
01:59group of users look just a bit different.
02:01So let's get started on this project.
Collapse this transcript
Creating new groups
00:01A group, also called a user group, is a group of users with permissions in common.
00:05By default there are eight user groups in Joomla!
00:08and they have permissions assigned to each group as described in a previous video.
00:12We could use existing groups for ACL work in the project that we are about to
00:17work on or we could make new groups.
00:19Personally, I prefer to make new groups, because then I have control over what
00:23each group does in fine detail.
00:26I also don't have to worry about which user group is inheriting which
00:29permissions from where.
00:31All of the user groups in the video will be children of public.
00:35As the Zen of Python says flat is better than nested and that I firmly believe
00:40when it comes to ACL to make this process as simple as possible.
00:44Before we start clicking around here in the backend we should first think about
00:48what kind of permissions someone will need to do the tasks that they are
00:51assigned within the context of the ten core permissions which were also
00:55described in a previous video.
00:57Will a given user group need to create and edit content within a certain
01:01category or all of the categories or are they limited to a specific article?
01:05Do they need to be able to login to the front end or the backend of the website?
01:10What additional task might they have to perform?
01:12Once you have a list of tasks for your user group you're ready to create it.
01:16We will create three user groups a volunteer group, an employee group, and a
01:21senior manager group.
01:22Each group will need to be able to see different information on the front end of the website.
01:27Anytime we talk about seeing think about reading and then think about Access Levels.
01:33In order to see different information each group must be identified through a login.
01:39So let's go ahead and create this three groups to get started.
01:42From the back end here what we're going to do is we're going to go to Users to
01:46Groups and click on Add New Group.
01:50Adding a new user group is incredibly simple in Joomla!.
01:53Only two pieces of information are required, the title for the group and its parent.
01:58So I'm going to go ahead and create my volunteer group.
02:01Now you could simply call this volunteers.
02:05I prefer to tack on the word group to the end of all of my user groups so then
02:10I'm always clear exactly what I'm looking at where.
02:14So this will be the volunteer group.
02:15Then I'm going to go ahead and hit this fabulously Save & New button, which I
02:19absolutely love in Joomla! 1.6 and 1.7.
02:23Make my second group which is the Employee Group and hit Save & New one more
02:28time and I'll make the Senior Manager group and I'm abbreviating senior by Sr.
02:36and now we can hit Save and Close.
02:41We're returned to the User Group Manager and as you can see here we now have
02:46three additional groups.
02:47They're down here at the bottom of the screen.
02:49The Employee Group is at the top.
02:51That's because Joomla!
02:52is listing all of these groups in alphabetical order as they come off of public.
02:57So they're not grouped together in one area at the bottom of the hierarchy.
03:02If you wanted to group all of your groups together say at the top of the
03:05hierarchy, you should take advantage of the alphabetization in order to make that happen.
03:11So for example if I want to move the Senior Manager Group and the Volunteer
03:14Group up to the top right under the Employee Group, I could add a character
03:18perhaps to the front of all three group names that would alphabetize those
03:23together in my user group manager here.
03:26Since all of our new user groups are children of public, they all inherit
03:29the public permissions.
03:30We will take a look more closely at those permissions in the next video.
03:34What makes the employee group, the volunteer group, and the senior manager
03:38group unique right now?
03:40Absolutely nothing!
03:42There are no users in the groups and the groups can't do anything since they
03:46inherit the public stability to, well, do nothing.
03:51So the next thing we need to do is assign these groups some of the
03:54core permissions.
Collapse this transcript
Assigning core permissions to groups
00:00Now that the user groups exist as the volunteer user group, the employee user
00:05group, and the senior manager user group, we'll now need to assign each of those
00:09groups some permission.
00:11All of those groups are children of public which means that right now they can't do anything.
00:16So let's take a look at their configuration in the Global Configuration screen.
00:20I click on the icon here and in Joomla!
00:241.7 the Global Configuration remembers which tab you're on last and even which
00:31particular accordion panel you have open.
00:33So if you come into the Global Configuration and you arrive say on the site
00:37screen, all you need to do is click on the Permissions screen to join me in the
00:42same screen and you may have a different user groups open here in the panels.
00:46Let's take a look at the Employee Group, because it's at the top end of the screen here.
00:51Right now all ten core permissions are set to Inherited.
00:58That's because the employee group is inheriting all of its permissions from
01:01the public group and if we take a look at the public group all ten permissions
01:05are set to Not Set.
01:07That's because the public isn't allow to do anything, but they aren't
01:10specifically denied from doing anything.
01:13Remember that each dropdown has three states, Not Set, Allowed, and Denied.
01:19Because nothing is set in the public group all of its children inherit that setting.
01:24We can than change the permissions in the other groups to allowed, which will
01:27allow them to do other things on the website.
01:31The employee group like the volunteer group and the senior manager group are all
01:35children of public so they inherent what the public can do.
01:38Absolutely nothing!
01:39Looking at the employee group you can see that it inherits its permissions and
01:43they're all calculated right now as Not Allowed.
01:47We need the volunteers, the employees, and the senior managers to be able to
01:50login to the front end of the website to be able to see their special content.
01:54They won't be doing any editing or creating of content.
01:57So we only need to assign them a login permission, but which one?
02:02The Site Login allows them to log in on the front end only which should
02:05be perfect for them.
02:07So I'm going to set the Site Login now to Allowed and then I'm going to hit the
02:14Save button up here on the top of the page.
02:16This will save the changes, but keep me in the screen for editing.
02:19Once you click the Save button the new calculated setting will show up here on
02:24the right side of the screen.
02:27Now that the Employee Group is done I'm going to repeat the process for the
02:30senior manager group and for the volunteers.
02:34So I'm going to go to the Senior Manager Group and I'm going to set the Site
02:38Login permission to Allowed and I can change my Volunteer Group at the same time
02:44without hitting save first, but if you feel more comfortable hitting save so
02:47that you can see that the calculated setting is exactly what you want, feel free
02:51to go ahead and do so.
02:54So I'm going to go to now to the Volunteer Group and I'm going to change the
02:57Site Login to Allowed as well and now I'll hit the Save button at the top of my screen.
03:04When I go back through my user groups I should see that the Site Login
03:08permission is allowed for the Volunteer Group and it's allowed for the Senior
03:11Manager Group and it's allowed for the Employee Group.
Collapse this transcript
Creating users and assigning them to groups
00:00Now that we have our user groups created, and we've set them up with the right
00:04core permissions, it's time to set up some users to go into those groups.
00:09You saw how new users were created in Joomla!
00:111.6 Essential Training.
00:12It works exactly the same way here.
00:14So, to get to our User Manager, we can either click on the User Manager button
00:19here, or go to Users>User Manager.
00:22Right now on our website, we have a single user, that's us; the Super User.
00:26So I'm going to create some new users by going to the New button on the top of
00:30the screen, and I'm going to create three generic logins for the website.
00:35The question you might be thinking about right now is, at this particular
00:40institution, The San Angelino Museum of Contemporary Art, is it better to make
00:46individual logins for each volunteer, individual logins for each employee, and
00:50individual logins for each Senior Manager? It depends;
00:54it always is the particular answer.
00:56We need to consider how many people we have working at the institution and how
01:01tragic or hurtful it might be to the company if somebody was to leave the
01:06institution, and still somehow have access to the website.
01:10That gets balanced against sharing a single login for everybody.
01:15So let's take each group individually.
01:17For the senior managers, it makes sense to make individual logins for each one
01:21of the senior managers.
01:23They are in fact senior.
01:25So it's likely that they'll have access to other parts of this website that
01:28could be quite critical.
01:30For example, they might have some advanced editing privileges later on, that
01:34goes beyond the scope of this particular example.
01:37For our employees, it probably makes sense to have individual logins for well,
01:40and for all the same reasons.
01:42For the volunteers however, because they're volunteers at the museum, they have
01:47a login to the front-end of the website to tell them about certain volunteer
01:51events and so forth.
01:52The login for the volunteers maybe more a matter of convenience.
01:57This way, the museum doesn't have to email or mail information to all of the
02:03volunteers that work at the museum.
02:05They can simply send them to the website with a login, and they can get in and
02:09then see some of the information.
02:10It's probably not tragic if somebody else logged into the website who wasn't a
02:15volunteer and happened to see these screens.
02:17More than anything, they've put the volunteer information behind the login just
02:21to keep the public out and keep them from being confused about special things
02:24that volunteers get to do.
02:26So what I'm going to recommend for this particular website is the volunteers all
02:30share the same login.
02:31That way, there's one simple username and password that all the volunteers
02:35share, and they can all login, and when anybody forgets what the login is, they
02:39can talk to their neighbor, and find out what the latest password is.
02:43But for the employees and the senior managers, I would recommend individual
02:46logins for all of them, and there's certainly nothing wrong with creating
02:49individual logins for the volunteers as well.
02:51I just think it's going to be extra work, and it's likely that many of the
02:55volunteers are going to forget their username and password and that'll create
02:58extra layers of complexity.
03:00However, for the purposes of this lynda.com video, what I'm going to do is just
03:05create three test logins, and the three test logins that we're going to use as
03:10templates for setting up all of the settings that would go with a typical user
03:15belonging to each one of those particular situations.
03:18We can use that example then to set up additional people who have the same kinds
03:24of permissions later.
03:25Now, having said all of that, let's go ahead and start creating some users.
03:29So I'm going to create a user called Volunteer.
03:31Their name will be Volunteer, and their login name will just be vol, and
03:37their password is vol.
03:39You can see how secure we're being, and vol again for confirming the password,
03:44and the email will be volunteer@samoca.org.
03:50Down at the bottom of the screen, we can see all of the assigned user groups
03:53for this particular user that we're creating and what we're going to do is
03:57we're going to put our user in of course in the Volunteer Group down here at the bottom.
04:03By default, all new users for a website are assigned a registered user group and
04:09you can either leave that on or you can turn it off.
04:11I'm going to turn it off for the purposes of this course.
04:15We're just going to have this particular volunteer assigned the Volunteer Group.
04:19However, people can be assigned more than one user group.
04:24If you wish, you can configure any of the settings here on the right side of the
04:27screen, but I'm going to leave them alone for now.
04:30I'm going to go ahead and hit the Save & New button at the top of the screen.
04:35You'll see an error appear on the top here.
04:37I think this is unique to Windows.
04:39What's happening right now is XAMPP is trying to send an email to that
04:42particular email address to notify that user about their username and
04:46password for the website, and XAMPP is not really configured to send email,
04:50so an error is generated.
04:52I believe MAMP might actually work, and you won't see that error on the top of the screen.
04:56But that's what the error is and if you're working locally, don't worry about it.
05:01Once you get your website out on a real web host, out on the Internet, you won't
05:05see that error anymore. All right!
05:07So the next one I'm going to create here is Employee, that's their name, their
05:13login name is employee, and their password is employee, and the email is
05:21employee@samoca.org.
05:25Down here for the User Groups, once again, we'll turn off the Registered User
05:29Group, and that will assign the Employee Group.
05:33Then at the top of the screen, we'll hit Save & New one more time.
05:36We'll see the same error about the email and we'll make a senior manager;
05:42Senior Manager, and the login name will be Senior and the password will be
05:48senior and confirm the password as senior, and the email is senior@samoca.org.
05:59Once again down here on the bottom, they will not belong to the Registered
06:02Group, they'll belong to the Senior Manager Group.
06:05So once you have those three users set up, go ahead and hit Save & Close, and
06:11you should be returned to the User Manager and confirm that everything is set up correctly.
06:16So I have Employee in the Employee Group, I have Senior Manager in the Senior
06:21Manager group, Super User is in the Super User Group, and I spelled volunteer
06:26wrong, so let me click on that and fix that;
06:33and Volunteer is in the Volunteer Group.
06:36So you can see that, that is all set up correctly, and we're ready to move on to
06:41the next step which will be creating access levels.
Collapse this transcript
Creating access levels and assigning groups to them
00:00Now that we have User Groups, Core Permissions, and Users created, the last
00:05element to create are the Access Levels.
00:08Remember what our goal was from the beginning in the exercise.
00:12The volunteers see volunteer information, the employees see employee
00:17information, and the senior managers see volunteer and employee information, and
00:22their own information.
00:24This means that we're going to have to set up our access levels as follows.
00:28The volunteer user group and the senior manager group will both need to be
00:33assigned the volunteer access level.
00:35This will allow anyone assigned the volunteer user group, or the senior manager
00:39user group to see the volunteer information.
00:43We'll configure an Employee Access Level which will allow both the senior
00:47managers and the employees to view the employee information.
00:51Then we'll create a third access level, The Senior Manager Access Level, and
00:55assign to it just the senior manager user group.
00:58As a last step in this process, we'll also take all three user groups that we
01:03created, the volunteers, the employees, and the senior managers, and assign them
01:08all to the registered access level.
01:11That way, for elements like a user menu, we can assign the registered access
01:18level to that, and that will then become an element that will be visible to
01:23all three user groups.
01:25If that doesn't sound clear right now, hang there with me because I'm going to
01:28go through all of this in great detail, that's just a quick overview.
01:31So to create an access level, we're going to go to Users, and we're going to go
01:36to Access Levels and then we're going to add a new access level.
01:41Creating access levels is very straightforward.
01:43We give it a name like Volunteer Access Level or AL for short.
01:49Then we need to choose which user groups go with this particular access level,
01:54and in the case of the Volunteer Access Level, we certainly want the volunteers
01:58to see that information.
01:59But also when the senior managers login to the website, they should also see
02:03the volunteer information, so the senior managers will be included in this access level.
02:08Go ahead and say Save & New, and our next access level will be the
02:13Employee Access Level.
02:18Here, once again, we want the employees of course to see their own information,
02:22but the senior managers should also see the employee information.
02:26So we'll assign the Senior Manager Group to the Employee Access Level as well.
02:31Last, we'll click the Save & New button again, and we'll make the Senior
02:36Manager Access Level.
02:40In this case, there is only one group that should be able to see this content,
02:43the Senior Manager User Group.
02:45Go ahead, and hit Save & Close, and you'll be into the Access Level Manager.
02:50As a very last step, we're going to use the Existing Registered Access Level,
02:56and to that access level, we're going to assign the employee, the senior
03:00manager, and the volunteer user groups.
03:03So to do that, click on the Registered Access Level, and inside of it,
03:08you'll see the way that this screen is configured, and it might seem a
03:11little bit confusing.
03:13So right now it looks like the Registered Access Level includes only the
03:18manager, the registered user, and super users.
03:21But that in fact is incorrect.
03:23What's happening here is all of these users, user groups, the publishers,
03:28the editors, and the authors are inheriting permissions from the registered user group.
03:34So because the registered user group are here in the access level, so are the
03:37authors, the editors, and the publishers.
03:40Likewise, the administrator is included because its parent, the manager is included.
03:44What is not currently included in the Registered Access Level are the Employee
03:48Group, the Senior Manager Group, and the Volunteer Group, which are children of
03:52public which of course is not included in this Access Level.
03:55So to include the other groups, we're going to simply check them off.
04:00Check off the Employee Group, check off the Senior Manager Group, and check off
04:04the Volunteer Group.
04:05Once you've done that, go ahead and hit Save & Close.
04:10Now, we have our three access levels that pertain specifically to certain groups
04:16of users that will need to see that content on the front-end of the website, and
04:19we have a catchall that's available.
04:22The Registered Access Level will basically show information to any user group
04:28other than public on the front-end of the website in the way that we've
04:31configured that now.
Collapse this transcript
Creating access level-specific categories and articles
00:00Now that we have user groups with core permissions, users in the groups and
00:04the Access levels all configured, we're ready to get together some content for
00:08each of these groups.
00:10We'll start by making categories.
00:12The categories are the best place to assign access levels, determining who can
00:16view what information within the category.
00:19All articles falling under a category will inherit the access levels
00:23pertaining to that category.
00:25So in other words if we create a category called volunteer information and
00:30assign an Access level of volunteer access level.
00:34Any articles that we create underneath that category we'll all have the
00:38volunteer access level inherited from the category.
00:42Even if you leave those articles set to public rather than the correct Access level.
00:48However even though you can leave them set up exactly that way I recommend that
00:53you set the Access levels for each article anyway, that's because it's going to
00:57be less confusing to you in six months when you're trying to fix the problem on
01:01the site and you see the access level for an article is public, but the truth of
01:05the matter is it's inheriting the different setting from the category. In Joomla!
01:081.6 Essential Training we talked about categories matching the site map.
01:13However when you have ACL to consider this is the situation where you may want
01:18to deviate from the site map to make ACL a little bit easier to configure.
01:23Assigning a category for each of the access levels is easy, but it may not
01:28match the site map.
01:29Just keep this in mind in our particular case we're going to be adding a new
01:34menu to the website which will contain information for volunteers, employees
01:39and senior managers.
01:40So we're adding a whole new piece to the site map, so this particular
01:44consideration won't affect this here, but it may affect you as you build other
01:48websites with ACL, so let's get started by making our categories.
01:52To make categories we can either go to the icon here in the Control panel or to
01:55Content>Category Manager>Add New Category and we're going to give this a title
02:04of Volunteers and of course we can stick category on the end to keep things
02:11consistent no parent to this particular category it will be published and the
02:15access for it will be the volunteer access level go ahead and click Save & New
02:21and we'll create the Employees category.
02:25Once again setting the access level to the Employee Access Level and hit Save &
02:34New one last and we'll go to the Senior Management and we'll change the access
02:42level to the Senior Manager Access Level, go ahead and say Save & Close.
02:48We now have our three additional categories all setup and configure here on
02:53the website and you can see what the access levels are for each one of these categories.
02:58Remember only one access level can be assigned for any given piece of content.
03:02One access level for a category, one access level for an article, one access
03:08level for module, that's why we sometimes assign multiple user groups to a
03:13given access level.
03:14All right now that we've got that all taken care of, we're going to go to our
03:21Article Manager and to get there we're going to go to the Content>Article
03:25Manager>Add New Article or of course you can click on Articles right here and
03:30then click the New button and we're going to make our articles.
03:36In your exercise files, you'll find a text file that has the information for
03:42each one of these particular articles that we're going to create.
03:45So our first article is called Just For Our Volunteers, I'm going to go ahead
03:48and copy that by clicking Ctrl+C on the PC or Command+C on the Mac and then I'll
03:55go into my article editing screen and pick Ctrl+V for the PC or Command+V for
04:02the Mac to paste in the title and I'm going to set the category to Volunteers
04:07category and then as I said before even though the access level here is set to
04:12Public effectively it will inherit it's access level from the volunteers
04:16category, so the access level will be the volunteers access level.
04:20However I do strongly recommend you go ahead and set this anyway to keep it
04:24straight later when you have to come back and do more work on this website.
04:27So I'm going to go ahead and pick the volunteer access levels just like that.
04:31Now down here in my article box, I am going to go ahead and copy the information
04:36here from my article and copy and paste.
04:43And I can do a little formatting with this, I am going to bold some dates, bold
04:49the First Saturday, bold the Cafe special.
04:52Of course you can do anything you like with this particular article you can drop
04:56an images, it's just like any other article that you work with inside of Joomla!
05:01do whatever you like in terms of the styling.
05:03I'm going to go ahead and hit Save & New and now I'm going to repeat the same
05:09process for the employees.
05:11So over the employee category the title here is just for our employees, the
05:17Category will be the Employee category and the Access will be the Employee AL
05:25and I'm going to go ahead and take these couple of paragraphs here, paste that
05:30on in hit Save & New one more time and our last article is the employee reviews.
05:41We're going to stick that in the article category of senior management, we're
05:49going to set the Access level to the Senior Management Access Level and then
05:54I'll go ahead and paste in their information down here in the bottom.
05:58Copy that paste that on to the article and we can go ahead and say Save & Close.
06:05So as you'll remember from Joomla!
06:061.6 Essential Training we have the CAM, categories, articles and menus.
06:11So our next step is to link all of articles that we just created to a menu and
06:17in fact we're going to create a new menu to put all those items on.
Collapse this transcript
Creating a user menu
00:00Now that we've created all of the categories and the articles for this website,
00:04we need to make them show on the website in some way or another and so that we
00:08were going to do that is by putting them on a new menu.
00:10We are going to make a user menu and we're going to include links to the
00:16volunteer, employee and senior manager articles from that particular menu.
00:20We'll also add some other links to other pieces of functionality that will be
00:26helpful to our users while working with Joomla!.
00:29So the way to start this is we're going to go to menus and the menu Manager,
00:35because we are in fact going to want to add a new menu to the website.
00:38Right now we have two menus;
00:40the Main menu goes across the top of the page, while the right menu shows upon
00:44the right side of the page.
00:45So we are going to be creating a third menu.
00:48Go to Add New menu and we'll give this a Title of User menu.
00:54For the menu Type remember that needs to be all one word, no funny characters,
00:59preferably lowercase and so to do that go ahead and call this usermenu, all
01:05one-word lowercase just like that.
01:08Go ahead and hit Save & Close and this will return you to the menu Manager and
01:12you'll see that we now have our three menus listed here.
01:16To edit the user menu all you need to do is go to menus>User menu and you'll see
01:23that the User menu currently has no items.
01:25So let's go ahead and add the three articles that we just created.
01:30To do that click the new button and we're simply, in this case we're going to
01:36make a blog that'll make it really easy for volunteers, employees and senior
01:41management to add new pieces of information to the website.
01:44So we're going to go ahead and hit the Select button and we'll go ahead and make
01:49this a Category Blog.
01:53We'll give it a Title, For Volunteers.
02:01It will be Published under its Status and the Access for this however will be
02:06the Volunteer Access Level (AL).
02:08We could leave the access to Public if you wished.
02:12If you do that, the link may show up on the website, but what will happen is if
02:17somebody clicks that link but they are not logged in or they don't have the
02:20right access level they'll get a message saying that they are unauthorized to
02:23view that particular resource.
02:25That may be exactly what you want for a subscription based website where you
02:29are trying to show the depth of all of the content on your website, but you
02:33don't want people getting to all of the good stuff without showing out
02:38something for a subscription.
02:40So if you're not doing that, it becomes kind of bad in terms of usability that
02:45you're providing all these links that people can't click on.
02:48So what I would suggest is, unless you have a darn good reason to do otherwise,
02:53make sure you assign that access level to the people who will see that link once
02:57they log in to the website.
02:58Over on the right-hand screen choose the Category, so this'll be the
03:02Volunteer's Category.
03:04Feel free to go ahead and change any of the additional options that you have
03:08here on the right side of the screen in terms of the Category, the Blog Layout,
03:12Metadata, whatever else you'd like to assign.
03:14I covered a lot of that in great detail in Joomla!
03:161 .6 Essential Training if you'd like to work on configuring any of that.
03:20But for our purposes we're going to continue on here.
03:24So go ahead and hit Save & New and we will repeat this process for the Employees.
03:29So we'll hit the Select button here, once again a Category Blog.
03:34The menu Title will be For Employees.
03:40The Access Level will be the Employee Access Level and the Category will be the
03:45Employee's Category, click Save & New one more time.
03:50Select the Category Blog one more time for the list, give it the menu Title of
03:55For Senior Managers.
03:56Give the Access Level as the Senior Management Access Level and the Category the
04:03Senior Manager Category.
04:06Go ahead and click Save & New one more time.
04:08We're going to continue top add a few items to the User menu for people that
04:12might want to change other aspects of their experience with Joomla!.
04:16If you click the Select button one more time, you'll notice that there's a whole
04:20part of Joomla!'s menu Item Types that pertains specifically to users.
04:24These include a Login Form which is already on the front end of the website.
04:29If you're looking at the front end of the website and you go to the right side
04:33menu, you'll notice that there's a login there for Volunteers and Employees.
04:37The User Profile button will provide you the ability to see what your user
04:42profile looks like and of course the Edit Profile button will allow you to
04:45allow you to edit it.
04:46A Registration Form would allow you to register for the website and then of
04:50course you have username and password reminders and resets.
04:53I like to include both the User Profile button and the Edit User Profile
04:57buttons on the website.
04:59That will allow people to change their names or change their usernames or change
05:03passwords as required.
05:05So we are going to go ahead and click on User Profile and we'll give the item a
05:11Title of Your User Profile.
05:15This is something that we want to have available to employees, senior
05:19managers and volunteers and that's where that Registered Access Level comes in really handy.
05:25Go ahead and change the Access Level to the Registered Access Level.
05:29That means that all of those user groups are able to get to the User Profile
05:34link on the website. Hit Save & New one more time and this time when we click
05:40our Select button we'll go to the Edit User Profile button and we'll give this
05:45a title of Edit Your User Profile and of course the Access Level once again
05:52will be Registered.
05:54Go ahead and click Save & Close and you'll see that we have our whole menu here
06:00and notice that the access levels do very exactly as we had assigned them.
06:05So as a very last step we need to make sure that we have a module to assign to
06:10the front end of the website so that the User menu will display for the correct
06:15user groups and we'll do that in the next video.
Collapse this transcript
Assigning access levels to modules
00:00We're getting very close to the end of the process here of configuring our
00:03website for our employees, our volunteers and our senior managers.
00:07And we've created our categories, we've created our articles, we created a
00:11bunch of menu items.
00:12The very last step is to make sure that the User menu shows on the front end of the website.
00:18And the way that menu show on the front end of the website is through modules.
00:22So we'll start by going to Extensions> Module Manager and you'll see that we have
00:28a number of modules that are available for this website.
00:31Right now they are all publicly accessible modules.
00:34But we don't have a module that exists to display the User menu. In Joomla!
00:381.5 when you created a new menu, a module for that menu was
00:43created automatically.
00:44That doesn't seem to be true anymore in Joomla! 1.6 and 1.7.
00:47You have to actually go and make that module yourself.
00:51Which is not really that hard, all you need to do is click on the New button and
00:58from the list of all of the available modules choose the menu and give it a
01:04Title like User menu.
01:06I'll go ahead and show that and I'll need to give this a position, I already
01:14know that my template only has two positions and one of them is on the right
01:18side of the page, which happens to be called Right.
01:21How do I know this?
01:22I created my own custom template. Watch Joomla!
01:241.6 Creating and Editing Custom Templates and you can create your own template too.
01:29Go ahead and just set the Access Level to Registered, because once again you
01:33want anyone logged into the website to see the User menu.
01:36Then over on the right side of the screen you'll need to select which
01:39menu should display.
01:42We're going to select the User menu, not the Main menu.
01:45We are going to show all of the navigation on this website.
01:48You may be concerned about which of the links will show up depending on who is
01:51logged in and that you're very right to be concerned about that.
01:55But that's all configured through ACL.
01:57There's nothing there we need to configure with the module.
02:01The module itself just displays the menu, the ACL controls which of the
02:06menu items will display.
02:08Go ahead and hit Save & Close and when we go to the front end of the website and
02:14we refresh, notice that we don't see anything available to us here, all right.
02:20But if we scroll down to the bottom of the page and we go to the Voluntary and
02:23Employee Login and go ahead and login as volunteer vol and the password which
02:32was vol and click the Login button.
02:36It's fine to go ahead and remember the password.
02:38And what you will see is on the left side of the screen, once we've logged into
02:43the website this is providing our user profile right here on the screen.
02:48It's not providing any information to us right off the bat, it's just showing
02:52us this user profile.
02:54I personally think this is a little bit disconcerting, I'm not expecting to see
02:57my profile when I login.
02:59I think we can improve this from a usability perspective, which we are going to
03:03do in some of the coming videos.
03:05But in any case, notice here on the right side of the screen, we have our User
03:09menu and this is configured exactly as it should be.
03:12We have our link to see our volunteer information, when I click on it that is
03:16the volunteer article.
03:17I also have the ability to see my User Profile and to edit it.
03:22So here I can go ahead and type in additional information and submit that to the
03:27front end of the website.
03:29To logout of the website what I need to do is scroll all the way back down to
03:33the bottom to where it says the Volunteer and Employee Login, click on that and
03:38then I get my Logout button here on the screen.
03:40When I click that I'm logged out of the website.
03:43That's not exactly intuitive either and I think we can improve the usability on that as well.
03:48If I log into this website now as a super administrator, so I am going to login
03:52with admin and a password of admin and login to the website.
03:58Notice that over on the right- hand side I only have two links.
04:02I have a link to my user profile and I have a link to edit my user profile.
04:06Notice that I do not have the ability to see any of the information for
04:11volunteers, employees or for the senior management.
04:15And I am a super administrator, how could that possibly happen?
04:19Well you remember that Access Levels are very, very specific and they only show
04:24information to specific user groups.
04:27If those user groups are not specified in the Access Level then you will not see
04:31them on the website.
04:33The links for your User Profile and Edit Your User Profile were assigned in
04:38Access Level of Registered.
04:40And those particular links work great with the Super Administrator login,
04:45because it was already configured for us when we went into Joomla!
04:49and Super User is one of the default groups.
04:51All of those default groups work with the registered access level.
04:54But of the other access levels that we created do not have access for the
04:58super administrator.
04:59So if it's important for the super administrator to see this content from the
05:02front end of the website, we'll need to go back to our access levels and edit
05:06them so that the super administrator can see that particular content.
05:11So to add the super administrator to all of the other access levels, so we can
05:15see all of those menu items on the front of the website, go back to the back end of Joomla!
05:19and go to Users>Access Levels.
05:22We are going to click on each one, so we are going to go to the Employee Access
05:26Level (AL) and add the Super Users, Save & Close.
05:30We repeat the process for the Senior Managers, add the Super Users Save & Close.
05:36And we're going to go to the Volunteers, add the Super Users Save & Close.
05:44It's possible when I go back here to the front end of the website that I can
05:46just refresh and we'll see the menu items, but if that doesn't work you'll need
05:50to logout, log out of the website and then login again and now you'll see that
06:01all of the links show up here on the right side of the website.
06:04So the critical piece remember is the Access Levels control who can see what on
06:09the front end of the website, no exceptions.
06:12The Access Levels don't care if you're the Super Administrator or the Super User or not.
06:16If you don't have permission to see and Access Level, you're not going to
06:19see that information.
Collapse this transcript
Configuring the login screen and logout button
00:00So I am taking a look at the front end of the website and if you scroll down
00:03here to the lower right side there is a box for a Volunteer and Employee Login
00:08and if you click that, you will see the place where you can log in to the
00:13backend of the website.
00:14If I type in my Volunteer Login, which is vol, vol, this will put me into a
00:20Profile page as a result of logging into the website.
00:24And you know this is kind of ugly first of all, and probably you could use
00:27some styling which I could do, but I really more than anything just like to get rid of it.
00:32As a Volunteer logging into the backend of the SAMOCA website, now imagine you
00:36are somebody in your 70s and you are volunteering for this and you see this
00:39screen that talking about Front-end languages and Time zones and Editors, and
00:42you have no idea what's going on, where is the information you need to see.
00:46The user experience for this is just not very good.
00:48What we'd really like people to do is to be able to log into the website and
00:52make it obvious about what they should be looking at.
00:55Unfortunately that links over here on the right-hand side of the screen where
00:58you actually get to the Volunteer information that's really of interest.
01:01So it would really be better if as a volunteer we could log into the site and
01:05see a message on that screen right away that would be relevant to us.
01:10So the first thing I would like to do in this video is to create a Login page so
01:14that we don't have to look at that ugly profile when we log into the website.
01:17So I am going to go ahead and log out now and remember this is something else we
01:21have to fix, and in the backend of the website I am going to start by making a
01:26new piece of content.
01:27So I'm just going to click on Add New Article and I am going to give this a
01:32Title of Login Page.
01:33I will leave the Category to Uncategorized and I will go ahead and set the
01:39Access to the Registered Access Level.
01:42Then down here in the bottom I will type in Welcome to the intranet of the
01:47SAMOCA website, just something short and sweet because actually we are going to
01:55change it in a little while.
01:56Go ahead and click Save & Close.
01:58So now we have a piece of content in the form of an article, now I need to
02:03link it up to a menu.
02:04However, I don't want to have a link on the website that says, Login Page.
02:08That seems kind of silly.
02:10I'd just like this page to show up when people want to take a look at it.
02:14Now the other way to make that happen is through the Hidden menu technique.
02:18The Hidden menu technique is a way of getting around this problem in Joomla!
02:22that all of the pages on the website that you would like to call by URL have to
02:26be hooked up to a menu.
02:27So to do this in menu Manager I am going to go ahead and click to Add a New menu.
02:33Yes, this will be the fourth menu for this website, and I am going to call this
02:37Hidden menu - Do Not Delete.
02:39And the reason why I put this in is, sometimes people think it's a hidden menu
02:43so what do you need it and they delete it.
02:44I'm not sure why that happens, so I always put in a note to Do Not Delete.
02:48And for our menu type, we will call this hiddenmenu.
02:52Go on ahead and hit the Save & Close button and that will make us our new menu
02:56down here in the bottom of the screen.
02:58Now we are going to add a menu item to it, clicking on menu Items.
03:02So now I am going to make a link to that login page here inside of my new Hidden menu.
03:07Go ahead and click the New button to make a link to the menu Item.
03:10I am going to click my select button and I'm going to select a Single Article
03:14from the list, and I will give this a title of our Login Page.
03:19I need to give this an Alias that I am going to remember.
03:21So I am simply going to call this login.
03:23It will be Published, the Access level will be for Registered users and it will
03:30be on the Hidden menu.
03:31Over on the right side where it says, Select an Article I will click the Select
03:35button and I will put in the Login Page from the list.
03:39Go ahead and click Save & Close.
03:41Now you maybe wondering why this is called the Hidden menu, because so far
03:46nothing here has been any different than any other menu that we have ever worked with.
03:51The difference is we are not going to create a module for the display of
03:55this particular menu.
03:56In other words, there will be a menu structure that we will create here and it's
03:59under the menus Item but we won't create a module that display it on the
04:03website, thus the name Hidden menu.
04:06Now if I type in the URL on the website which would be localhost/index.php/login
04:15and if you are on a Mac, it could be localhost:8888/index.php/login.
04:23The localhost in the index. php should be exactly the same;
04:27all we are changing is the last part of the URL and hit Enter.
04:31It will redirect you of course to a page where you have to login because the
04:36login article is only for registered users.
04:39So go ahead and login as a Volunteer as vol, V-O-L and the password of vol, and
04:43you will see that this is in fact a legitimate URL and is pulling up the page
04:48you expect, in other words, this Login Page.
04:51Copy the full URL from the top of the page, so I have highlighted and clicked
04:55Ctrl+C on a PC or Command+C on a Mac, and now I am going to include that URL
05:03inside of our Login Page.
05:05To get there, I am going to got to menus >Right menu, and under the Right menu,
05:11under the Volunteer and Employee Login, click that and you will here that on the
05:16right side of the screen we have the option of some configuration as far as the
05:21login screen is concerned.
05:23I have already done a little bit of customization;
05:26I put in some Login Text here.
05:27So this is the Description that shows up on the top of the Login Page.
05:32If I scroll on back here and Log Out of the website one more time, this text
05:37here that shows up above the Login box was configured by putting it here in the
05:41Login Description Text.
05:43What I am going to do is in the Login Redirect box, I am going to go ahead and
05:47Ctrl+V or Command+V on a Mac to put in my URL for the Login Page, and then I am
05:54going to click Save & Close.
05:57Now let's log in to the front-end of the website and see how that Redirect works.
06:01Go ahead and login as Vol for Volunteer, password of vol.
06:04Click the Log in button and you see now that we wind up with the Login Page of the website.
06:09So this is a little bit friendlier, in the next video I will show you how we
06:12can customize this message for each different type of access level on the
06:17front-end of the website.
06:18To Log out of the website we still however have to scroll all the way to the
06:22bottom of the page, click the Log in link to find the Log out button that just
06:27doesn't work for me.
06:28What I would like to have happen when I am logged into the website I would like
06:32to have a Log in button, maybe over here at the top of the right column and that
06:37would just be wonderful.
06:38Because then once they have logged in, that Log out button would appear over
06:41there, and they wouldn't have to scroll to the Login Page in order to logout
06:45which makes no sense.
06:46Fortunately, this is easy to do.
06:49So in the Backend of Joomla!
06:50I am going to go over to the Module Manager under Extensions>Module Manager and
06:55I am going to make a new module for this website.
06:58I am going to click the New button and I'm going to make a Login module.
07:02I will give it a title of Log Out, not Login In but Logout, I will assign it to
07:11the right position of the page, and instead of leaving this Public normally you
07:17want to leave your Login box as Public for its access level.
07:20Because you want people to be able to see it so they can actually login.
07:25If you set a Login box to have an Access level of something other than Public
07:29then you have to be logged in to see the Login box that becomes a circular sort of problem.
07:34But in case it works for us.
07:36All we are looking for is the Log Out button. In Joomla!
07:40the Login Module shows the Username and Password boxes in a module position
07:45when you are not logged in, but once you have logged in to the website that
07:48turns into the button that says Log Out, and that is the only piece of this
07:53that we really need.
07:55So here's what we will do.
07:56We will set the Access Level to Registered, and we will go ahead and Save this.
08:02I am going to leave it open because we will need to make one more tweak to this after that.
08:07And now when I login as a Volunteer I see my Log Out button over here on the
08:14right-hand side of the screen, and of course like any other module I can
08:17certainly use my Ordering to move that Log Out button up to the top or
08:22further down on the screen.
08:23I would recommend leaving it somewhere near the top where it's obvious.
08:26Now when I click the Log Out button that module goes away entirely and all I am
08:32left with is my Log in boxes right here.
08:35What just happened?
08:36Let me log in again as Volunteer.
08:40Now here I am on the Login Page for this website.
08:43Remember the Login Page has an Access Level of Registered user.
08:46When I click the Log Out button it's still trying to display that page as a
08:52registered user but it can't, so it's giving me the Log in box.
08:55What I would like to do is just redirect people after they log out of the
08:59website, redirect them to the homepage of the website.
09:02I think that would actually be a better user experience, but you have of course
09:06can redirect them wherever you want.
09:08In the backend of Joomla!
09:10in the Module Login, notice that we have the same kinds of options that we had
09:15in the individual menu item link logins.
09:18Here we can set our Login Redirection Page or Logout.
09:22With this particular button which will only ever say Log Out when people see
09:27it, we don't need to set the Login Redirection, but we do need to set the
09:30Logout Redirection.
09:32So let's set that to the Homepage.
09:34So when they logout they go to the Homepage, and just to make this consistent,
09:38go ahead and hit Save & Close.
09:41Let's go over to our menus and back to the Right menu and in the Volunteer
09:45and Employee Login for consistency let's also set the Logout Redirect to the same location.
09:51All you need to do is type in a Slash here, and that should redirect people
09:55back to the Homepage of the website.
09:58Go ahead and click Save & Close, and now when you login to the front-end of the
10:03website as Volunteer, Log in, you will see that we get our Login Page, we get
10:09our Volunteers page of over here, and when we click the Log out button we were
10:12redirected to the homepage of the website.
10:15I think this is definitely an improvement of the user experience.
10:18We don't see so many weird looking screens and the flow seems to be a bit better.
10:22But I would like to customize that Login message when people log in to the website.
10:27I would like to have the volunteers see their own thing, employees see their own
10:31thing, senior managers see their own thing.
10:33But I have a solution;
10:34you will see it in the next video.
Collapse this transcript
Customizing the login screen
00:00In the previous video we discovered that when we logged in to the front end of
00:03the website, say, using volunteer, vol and vol that we got a single login page
00:11and in fact, whoever logs in to the website whether they are volunteer,
00:14employee or senior manager, they're going to get the same login page that is
00:18not terribly useful.
00:20But wouldn't it be great if we could customize this login page to the specific
00:24user type for the website?
00:26I think that would be pretty terrific.
00:28So we are going to go ahead and do that using a wonderful little trick that
00:32I covered in Joomla!
00:331.6 Essential Training, but not in this context.
00:37What I am going to do is I am going to make a series of modules, three modules, in fact.
00:41And one will be for volunteers, one will be for employees, and one will be for
00:45senior managers, and I will just set these up as custom HTML modules.
00:49Then we'll set the access level for each one of those modules and then I'll set
00:54up the modules to display here inside of the article.
00:58That would mean that every time somebody logs into the website, the article
01:02will load which has a registered access level, in other words, everybody sees the page.
01:08But the content of the page itself will be driven by three module possessions.
01:13And then depending on which specific user group has logged into the site, the
01:18correct module will display or series of modules.
01:22So let's take a look at how that would work.
01:25The first thing we are going to need to do is make us some modules.
01:28So to do that, go to the back end of Joomla!
01:30and we're going to the Module Manager by going to Extension>Module Manager, and
01:36I am going to click my name, New button to make a new Custom HTML module.
01:43I am going to give this a title of Welcome Volunteers.
01:48I will set the Title to Show.
01:51The Position will be secret.
01:53You will not find a position of secret on the list of positions if you click the
01:56Select position button.
01:58That's because secret is a position that will exist inside of this one article
02:02and I haven't set it up in the article just yet.
02:04So just take my word for it that secret will, in fact, work correctly.
02:09Go ahead and set the Access level to the Volunteer AL and then scroll down the
02:14page to the bottom where it says Custom output.
02:17In your exercise files you'll find some loadposition text as I am calling it.
02:23Go ahead and copy out the Volunteers information, Ctrl+C or Command+C, Ctrl+V or
02:29Command+V to paste that text into that particular module.
02:33Go ahead and hit Save & New because we are going to make another Custom HTML module.
02:37This one will have the title of Welcome, Employees.
02:43Once again, we will show the title, once again the Position will be secret, and
02:48we will paste in the content from the Employees.
02:54Go ahead and highlight the text, Ctrl+C or Command+C to copy, Ctrl+V or
02:58Command+V to paste, click Save & New.
03:03And for the last ones, say, Welcome, Senior Management.
03:09The Position once again will be secret and the Access level will be the Sr. Manager AL.
03:18And for the custom output, we will go ahead and pick the Sr.
03:23Manager text there from our article and paste that on into the website.
03:28Go ahead and click Save & Close and take a look, we have Employees. Oops!
03:34I didn't assign that to the right Access level, see that, that says Public.
03:38This is why you always check these as soon as you put them in because it's a
03:41very easy mistake to make.
03:43So Welcome, Employees we are going to have to fix, the Volunteers is at the
03:46Volunteer Access level and Senior Management is at the Senior Management Access level.
03:50Let's go ahead and click Employees!
03:53and set it to the correct Access level which is the Employee AL.
03:58Okay, so now we have got those three module setup that are to display in the
04:03secret position which doesn't exist in the template.
04:06Now what I am going to do is go back to my Article Manager under Content>Article
04:10Manager, and I am going to scroll down and find my login page.
04:15In my login page, I am going to get rid of the placeholder text that I have
04:19there right now and I'm going to put in the code just like you see right here.
04:24See, where it says loadposition secret, xhtml.
04:28Copy that and paste that in.
04:30Those of you, who have been working with Joomla!
04:32for a while, will notice that the loadposition code here has changed.
04:36This is a wonderful new feature in Joomla!
04:381.7, it was not present in 1.6.
04:42And loadposition secret is a code that existed for a long time, loadposition
04:46meaning load of module position, secret being the name of the module position.
04:50But every time we put a module into an article like this, it would load the
04:55module in a format called RAW meaning that the title of the module would never
05:00display and new divs were ever wrapped around it.
05:03In 1.7 you can put a comma followed by any one of the number of values
05:08including XHTML rounded meaning four divs surrounding it or horizontal or there
05:16are a few other values, but really, the only two that are going to matter to you
05:19are XHTML or rounded.
05:21And that will wrap either one div for xhtml or four divs around your module and
05:27it will also display your module title.
05:30By displaying your module title inside of your article, you can actually
05:35not display the article title, such you're showing your title to hide under
05:41your Article Options.
05:43And then the words Login Page won't show up on the top of the screen.
05:46All that somebody will see when they login will be their specific module
05:51with that module title.
05:53So it will always say Welcome, Volunteers or Welcome, Employees or Welcome,
05:57Senior Managers, depending on who's logged in at the time.
06:00So let's give a shot at this piece of magic and let's see how it happens.
06:05Go ahead and click Save & Close.
06:08And now when I go over to the front end of the website, I'm logged in so I
06:11am going to log out.
06:11Then I am going to go back to my login screen and I am going to log in as a Volunteer.
06:19Notice that it still says Login Page Welcome Volunteers and we have some text
06:23available to us here.
06:24We hit the article title inside the article itself, but it's still showing
06:28up here in the site.
06:29It's likely coming from the specific menu item.
06:32So let's go back to our menus and we are going to go to our Hidden menu for a login page.
06:44And under our Article Options, we are going to say Show Title>Hide.
06:48Let's go ahead and click the Save button just to make sure that we have
06:53removed that title, go ahead, and hit Refresh, and now you will see the page looks great.
06:59If I log in now as an employee under employee, employee, you will see that we
07:10get text welcoming the employees and if I log in as a Senior Management which
07:20was senior and senior, Log in.
07:25Notice we get all three;
07:27remember that senior managers were supposed to see the volunteers, the senior
07:31management, and the employees.
07:33If you want a Senior Manager to appear at the top of the screen because the
07:37senior managers are logging in here, not the volunteers, we can always
07:41reorder our modules.
07:43So let's do that real quick.
07:44Go ahead and hit Save & Close to get out of our menu item, go back to
07:48Extensions>Module Manager, and click on the Ordering column header here in
07:53the Module Manager.
07:54And you'll see that here're our three modules that are relevant to this;
07:59Volunteers, Senior Management, and Employees.
08:01By clicking that Up arrow on Senior Management, this should reorder, but let me
08:07tell you, I have found that ordering in Joomla!
08:09to be kind but buggy.
08:10You see it's got these 001 over here.
08:13If you encounter this bug, you can type in the numbers so 1 for Senior
08:17Management, let's say 2 for employees, and 3 for Volunteers.
08:23Then click the little floppy disk icon at the top of the column and that will,
08:28in fact, reorder everything.
08:30Now when I refresh this page on the front end, you'll see that senior
08:34management is here at the top.
08:35I think that's a better user experience as well because once again, your Senior
08:39Management logging in and the first thing you don't want to see is Volunteers.
08:42So we have done really well here;
08:44we've really improve the user experience of the login and logout process, we
08:49have finely sliced and diced our user groups here via the access levels so that
08:53our volunteers or employees and our senior managers can see all of the content
08:57they're supposed to see.
08:58It's a much more friendly user experience where we have a Log out button where
09:02people can access that easily and they see relevant information as soon as they
09:06log in to this little intranet that we've created within the website.
09:10This didn't take a whole lot more extra work and it will really make this a much
09:15more friendly experience for people who have to use this website.
09:18So I encourage you to take the time to add a few finishing touches and polishes
09:23onto your websites as you build them with ACL for the front end of Joomla!.
Collapse this transcript
Testing various logins
00:00Now that we have considered our ACL for who can see which content on the
00:04website, let's test or three logins to make sure we have everything configured
00:09the way we wanted to do.
00:11And we will also test or super user login.
00:14So here's how we are going to go ahead and start.
00:16We are going to go to our Login Page and the first thing we are going to do is
00:20login as a super admin.
00:22So log in as admin, admin, and as a super admin, we do have some features that
00:31all of those other groups don't have.
00:32First of all, you have this pencil icon at the top of the page.
00:37The pencil icon indicates that I have permission to edit this article from the
00:40front end of the website.
00:42And if I click the pencil icon, I will actually go into in editing screen.
00:48Remember, all that's here is that little code loadposition secret,xhtml which is
00:53responsible for pulling in the modules that actually drive this login page.
00:59I can also change things here like Category and so forth.
01:02I will be doing another video showing how to do editing on the front end in
01:06detail and setting up those kinds of permissions in the next chapter.
01:12So I am going to go ahead and hit Cancel.
01:14As a super user, we added ourselves to all of the Access Levels inside of Joomla!.
01:21So we've added the super user to Volunteer Access level, the Employee Access
01:25level and the Senior Manager Access level, which is why we now have over on our
01:29User menu we have three pages for those particular access levels and we also
01:35have all three of the modules displaying here.
01:37I can click on for Volunteers, for Employees, and for Senior Managers and
01:42get all of this pages.
01:44I also have this editing icon here.
01:46Again, as a super user I can create and edit content anywhere on the website, so
01:51I can go ahead and edit this content.
01:54Furthermore, if I go to other pages of the websites, say, the About Us page, I
01:58also have icons here where I can edit the contents for this website as well.
02:02It looks like the super user is all configured correctly.
02:05So I am going to go ahead and log out.
02:07Then I am going to scroll down to the bottom again and login, this time as a
02:12volunteer and correctly, I have just the Volunteer module that shows up here, I
02:19have the Volunteer link on the side.
02:21Incidentally something that you may wish to do to add one more level of user
02:25experience to this would be to put a link to the Volunteer blog right here on
02:30the bottom of the menu module.
02:32And then people won't even have to look over here to the side of the page to
02:35find the volunteers link.
02:37Volunteers, of course, also have access to user profile which they can click on and reveal.
02:42It's not formatted very well and the reason why is this a custom template that I
02:46built and I didn't take a look at the profile page to format it.
02:50So this is also important in your bug checking because it's likely that ACL is
02:54something you are going to add towards the end of your development process.
02:57You are going to put in a lot of content for the website;
03:00you might have already put in the template for the website.
03:02But now at this point, you might be adding pages that you never planned on styling before.
03:08So you would want to go back at this point and work on some CSS to get this page styled.
03:13I am not going to show you how to do this in this video.
03:15If you need to know more about creating and editing custom Joomla!
03:18templates, please take a look at my video Joomla!
03:211.6 Creating Editing Custom Joomla! templates.
03:24It will work great with the Joomla! 1.7.
03:28And of course, we also have a button here to edit our user profile.
03:31Let's go ahead and click Log out and if we scroll one down again and we click
03:36the Log in button, we will need to Log in as a Senior Manager as well.
03:40Remember, the Senior Managers are supposed to be able to see the content for
03:44volunteers and employees as well as their own content.
03:48And what you'll see here is that is, in fact, true;
03:50the senior management can't see all of the Employee, Volunteer, and Senior
03:55Management content both here for the modules and over here on the side
03:59through the menu links.
04:00And it's definitely behooves you to go ahead and click on these because remember
04:05that you may see the links here, but they may generate something that says you
04:10are unauthorized view this page if the Access level is configured incorrectly.
04:15So make sure you go through and click on everything and that you are seeing
04:18exactly what you expect to see.
04:19Finally, a few quick points to remember about working with ACL and who can see
04:24what's on the front of the website.
04:25First of all, I created a separate user menu, and I put all of my links on that user menu.
04:32For the purposes of this video, I decided it would work better for
04:35this particular website.
04:36But I did not have to do that;
04:39I could very easily have added those links up here, say, to the top navigation
04:44and I could have assigned those Access levels here.
04:46For examples, the Volunteers, once they log into the website, they could have
04:51the word Volunteers show up here in the main menu.
04:53And that would have worked just as well.
04:56However, when you got to something more like the senior managers where they
05:00would see links for volunteers, employees and senior managers, it's likely that
05:03your menu would wrap.
05:04So it seemed to me that this formatted better by putting it over here on the
05:07left side of the screen.
05:08So those kinds of design considerations are important when you're planning.
05:13Remember for ACL to plan for the most number of links in your site design and
05:19probably, ultimately the best way to go when you're adding these kind of
05:22Internet sort of feature, really is to put things in a vertical configuration.
05:26That way you can continue to add as many links as you want;
05:29you don't have to worry about content wrapping onto another line, the way you
05:32would with a horizontally oriented page.
05:36Second of all, I created one unique category for each user group and placed all
05:40of their content inside of that.
05:42Notice how I call the groups, the Access levels, and the Categories all by the
05:46same name so everything matched it easily across the website.
05:50I did not have to do that;
05:51I could have called those things all kinds of different names in all kinds of
05:55areas or could have called them almost worse, all exactly the same thing.
05:59So a user group called Volunteers and Access level is called Volunteers, a
06:02category called Volunteers, an article called Volunteers.
06:05Then you might get confused as to what was what.
06:08But likewise, you might get confused if you don't call them all the same thing
06:12and they're all over the map.
06:14So I think it makes a lot of sense that where possible you add Access level or
06:19Category or user group to the end of all of the things that you create for ACL.
06:25That naming convention will help keep as many of these variables straight as
06:29possible as you are working in the back end of Joomla!
06:31because as I have said many times, ACL can be confusing and you want to
06:36eliminate as many things as possible that might throw you off at the process of
06:39putting a website together.
06:40So the very last thing that I'd like to give a try here is, now that we have our
06:45three logins for the website, wouldn't it be great if we could format each login
06:51to look slightly different?
06:52This would be particularly fitting for the kinds of websites where you want to
06:57have like a gold, a silver and a platinum level of membership and you want the
07:01website to reflect those color levels, and I will cover that in the next video.
Collapse this transcript
Creating a different look for different access levels
00:00For those of you who have watched Joomla!
00:031.6 Creating and Editing Custom Templates, I'd like to give you an extra super
00:08incredibly cool little tip that you can use when styling your template.
00:14Now that we have the ability to create different content for different
00:17users inside Joomla!
00:19your next question I just know it will be, will be how can I style each
00:24different type of login on the website so when my employees log in they see one
00:29color and when the super administrator log in they see another color, the
00:33volunteers log in they see another color.
00:35Now it becomes particularly relevant when you have, for example, gold, silver,
00:39and bronze membership levels and maybe you want to incorporate those colors
00:42into your site design.
00:44Wouldn't that just be the coolest thing in the world?
00:46Well, I have a huge hat tip to Jonathan Shroyer over a corePHP at corePHP.com.
00:52corePHP is a great developing company with a bunch of really terrific engineers
00:58and developers that write a bunch of wonderful extensions and do custom Joomla!
01:02work as well and Jonathan Shroyer is their CSS guru there at corePHP.
01:08And I just saw him speak Joomla!
01:10Day Midwest which happened in November of 2011 and he gave this great
01:15presentation on how you can add some cool styling to your website and one of the
01:20things he showed was this trick for styling your pages differently depending on
01:25which type of user is logged into the website.
01:28So if you take a look real quick inside of your Exercise files, you will notice
01:33that there are two files there.
01:35One is a piece of PHP inside of this document here and I'll go ahead and
01:41describe you what this code does.
01:43So here where it says put this in instead there is the typical lines of PHP
01:48here including PHP that JEXEC or die that does the test to see if you're running in Joomla!
01:53and if you are, then it continues and if you're not, it stops.
01:56The next few lines of code here what it does is it pulls some variables from the
02:00database and it's determining what the user is and what groups the user belongs
02:04to and then it assigns that user group to a variable, in this very last line
02:09here where it says this dollar sign body.
02:11A whole bunch of bits and pieces that Joomla!
02:14has pulled from its database and is relevant to the user who's logged into the website.
02:18It puts it together into this variable called body.
02:21Then what you do is inside of your HTML where your old body tag was you
02:26replace it with this little bit of code here and php echo $body means that
02:32whatever the value of body is, the variable body which was determined here, in
02:36the very last line of this bit of code, it will go ahead and right here as a
02:40class inside of the body tag.
02:43What that means is you can now write styles using that class for specific user
02:48groups and override other styling on the page.
02:50So this is something I'd like to show you how this works right now.
02:53I am going to start by copying this bit of code here right under the words
02:58put this in instead.
02:59So I am going to Ctrl+C or Command+C, minimize this document, I am going to jump
03:04into the backend of the website and I'm going to go to Extension>Template
03:08Manager and I am going to go to the Templates tab and I am going to scroll down
03:13to the bottom here to samoca Details.
03:16Then I am going to go into editing the main page template over here in the side.
03:22At the very top of my document I have this little bit of PHP at the top.
03:26I am going to highlight that and erase it.
03:28Make sure you keep what comes after that;
03:30that red line where it says DOCTYPE HTML.
03:33Make sure that and everything down stays in place.
03:35Then I am going to Ctrl+V or Command+V and that will paste in that bit of PHP
03:40from my exercise file. There is it!
03:42Now it's in place and in the second step what I need to do is I need to copy
03:47this little bit of code here for the body tag, Ctrl+C or Command+C and in
03:52the backend of Joomla!
03:53I am going to scroll down to my body tag, get rid of it, and put in this
03:57revised body tag here.
04:00Now I am going to hit Save & Close.
04:01When I refresh the front end of the website, nothing changes, because I am not
04:07currently logged in.
04:09If I scroll one down to the Volunteer and Employee Login and let's say I
04:14login as a volunteer, once again nothing has changed yet, because I haven't done any styling.
04:21But if I view the source of this webpage, which you can do by either
04:25right-clicking on this and choosing View Page Source or you can use the Web
04:30Developer toolbar which I already installed.
04:33Then if I right-click up here in Firefox and say show the Web Developer
04:36toolbar, here it is.
04:37I don't know what I would do without the Web Developer toolbar.
04:40Chrispederick here at Chrispederick.com.
04:43You will see that a URL for this come up on the yellow overlay at the bottom of the screen.
04:48This is where you can download the Web Developer toolbar and it is available for
04:51both Firefox and Chrome down here in the bottom of the screen.
04:54You can download them for either type of web browser.
04:56Once you have that installed viewing the source of the website becomes very
05:02simple, all you have to do is go to View Source and then View Source again, and
05:07this'll show us the code that's making up our webpage.
05:10Note here in the body tag that now we have a body with a class of
05:16group-volunteer_group.
05:19In our PHP code down here in this last line see we have the word group- and
05:24then we put in some PHP here that's pulling in the name of our group of volunteer_group.
05:30Remember, we called our group the volunteer group, and what PHP is doing is
05:36putting in underscores where they were spaces.
05:39That creates this class here of group-volunteer_group.
05:43So I am going to go ahead and copy that, because that's going to be very, very
05:50useful in generating some CSS and of course the class here is going to differ
05:55depending on which exact type of user is logged into the website.
06:00The volunteer that we have logged in right now is part of the volunteer group so
06:03that we see that up there at the top of the page.
06:07What I can now do with Web Developer toolbar is using my CSS>Edit CSS here on
06:13the side in my default stylesheet I can scroll on down here. Let's see.
06:21Down to where it says right menu.
06:22Do you see here where it says right menu?
06:25And this color over here on the side that's behind the user menu and then these
06:30three links here on the side.
06:31That is called out by the background color here for the right ul.menu a:link and
06:37right ul.link a:visited.
06:39So what I can do is, and I've already written some of the CSS here for you.
06:45I went ahead and I did a quick little override.
06:48So here with the volunteers I am going to go ahead and copy this code and
06:53I'll paste it right on in here just after where we call out the generic case for right ul.menu.
06:59So in other words, if nothing else is specified it's going to be this light
07:02blue color which is what the public will see, but if I paste in the styles that
07:06I had here for you, now that'll turn this more of an aqua green color when I am
07:12logged in as a volunteer.
07:13And what you'll see here in the CSS is all I've done is set
07:17body.group-volunteer_group in front of the calls for right ul.menu a:link and
07:24ul.menu a:visited as well as the h3 at the top of the page and substituted in
07:29the different background colors that I wanted.
07:31Now this was the styling that I choose to do for this part of the exercise.
07:36I just changed some background colors over on that right menu.
07:39You can do anything you want using body.group- whatever the name of the
07:44user group is, you can then override any of the other styling that's here in this page.
07:48You could swap out background images.
07:50You can change colors.
07:52You could probably even change layouts if you wanted depending on what user
07:55group is logged into the website.
07:56This is a really, really powerful technique that corePHP Jonathan Shroyer have developed.
08:01So let's go ahead back to our exercise file here for CSS and what I am going to
08:07do is I am going to copy in there are four groups of these.
08:10One for volunteers, one for employees, one for senior managers, and one for
08:14super users, and I am just going to copy all this code in here and I am going to
08:19go to the backend of Joomla!
08:21and I am going to go to Editcss/default.css.
08:24You get to the screen once again by going to Extension>Template Manager,
08:30switching to the Templates tab, scrolling down to the samoca Template, and then
08:36clicking on an Edit Template Details.
08:41I am going to scroll down in my stylesheet here, on down to some of the right
08:48side styling here, and when we reach the end of the right menu here, we sort of
08:54reach the end of that styling, and we go into content styling right in-between
08:57the very end to make sure you don't snag any of the curly brackets.
09:02Right after the last curly bracket belonging to the right menu styling and
09:06before the content styling go ahead and past in the CSS that I have given you
09:11there in the exercise file, and go ahead and hit Save & Close.
09:15So now when I refresh the front end of the website as a volunteer you'll see
09:19that my colors over here change for volunteer.
09:22I can log out and log in again now as an employee, and I have a different color
09:29over here on the side as an employee.
09:30I am going to login one more time as the super administrator, and I have this
09:39very nice green over here in the side as a super administrator, and finally when
09:44I login at senior manager, senior and senior, I have different color still.
09:53So while this may not make the most amount of sense on the Samoca website, does
09:56it really matter that these are different colors on the sides in this
10:00particular example?
10:02Not so much maybe, but I could definitely see this is an incredibly useful tool
10:06for people who might have different membership levels on the website and they
10:11want to very clearly differentiate between which user level is logged into the
10:15website using color or layout or anything else that you can do in CSS.
Collapse this transcript
3. Allowing Front-End Site Administration
The goal of this project
00:00At SAMOCA, Volunteers are responsible for many functions in the museum.
00:04There is even a Volunteer who updates the Volunteer portion of the website.
00:08This Volunteer pulls together content and information from employees at the
00:11museum and then posts that information on the Volunteer page of the website.
00:16This volunteer Sara, there is responsible for keeping the single, existing page
00:20of the website up-to-date.
00:22She should not be able to edit other pages on the website, just the one
00:26page that we have now.
00:28That page is a category blog, remember.
00:30So she should be able to create new articles within the Volunteer category, edit
00:35articles within that category, but only that category, publish or unpublish
00:39articles and upload images and include those images in her articles.
00:43This is a great opportunity to give Sara the ability to edit from the frontend
00:47of the website, which will be quick, easy and straightforward for her to learn.
00:52In the coming videos, I'll show you how to set up Sara to have the ability to
00:57create articles, edit articles and publish or unpublish those articles.
01:01That probably sounds like a publisher to you which is what we would have
01:04called it in Joomla!
01:051.5, but the difference here is that Sara will only be able to create, edit and
01:10publish and unpublish articles within a given category, the Volunteer category,
01:16which we created in previous videos.
01:18So let's go ahead and get started on that now.
Collapse this transcript
Creating groups, assigning core permissions, creating users, and assigning access levels
00:00Now that we've got the goals for our website all set, we are ready to move
00:03forward with setting up Sara, as a user here on the website and giving her the
00:08special abilities to create, edit and change the state of any article within the
00:13Volunteer category on this website.
00:15Remember that, users, all live within at least one user group, and with that
00:20particular user group, all of those particular users have the ability to do
00:25exactly the same thing.
00:27So if we want to give Sara special powers that are outside of what the other
00:33volunteers can do, we'll have to put Sara in her own user group.
00:37So that's what we're going to do first.
00:39We will set up a user group for Sara, we will assign the core permissions and
00:43then create her user account.
00:44We will also set up an access level for her.
00:47So the first step is to create a user group.
00:49So I am going to go to Users>Groups>Add New Group.
00:55And I am going to give this a title of Volunteer Publisher Group. Why?
00:59Because remember, Publishers in Joomla!
01:001.5 and the default publisher group in 1.7 have the ability to create, edit
01:07and edit the state of any article, anywhere on the website and in 1.7, create,
01:13edit and publish the state of any kind of content that would also mean web
01:17links, contact forms, other categories, menu links, and all kinds of other
01:22things on the website.
01:24Sara is going to be publisher like in her ability to do things on the website,
01:28but she's going to be limited to just the Volunteer category.
01:31That's the name that I've created here.
01:33Go ahead and hit Save & Close, and you'll see that the Volunteer Publisher Group
01:39has now created here on the website.
01:41Next, I will assign core permissions to the Volunteer Publisher Group.
01:46Go to Site>Global Configuration and we will scroll down to the Volunteer
01:51Publisher Group and we will click on the down arrow here.
01:56The Volunteer Publisher Group is a child of Public, so it inherits all of its
02:00permissions from Public.
02:01And as you will see here, by default the Volunteer Publisher Group can
02:05do exactly nothing.
02:07We know that Sara is going to need to log in to the frontend of the website.
02:11So let's go ahead and give her the ability to do that, by setting Site Login to Allowed.
02:16You might think this is the time to set Create, Edit and Edit State, all
02:21too Allowed as well.
02:23However, by setting them here in the Global Configuration, I'm allowing Sara
02:28to create, edit and edit the state of any piece of content, anywhere on the website.
02:34I don't want to do that.
02:36So I am going to leave these set to Not Allowed, which remember is
02:40technically not set as inherited from the public group, and I'll override
02:44them elsewhere inside of Joomla!.
02:48Go ahead and hit Save & Close, and so the only core permission we assigned,
02:53was the Site Login.
02:55The next thing to do is to create Sara's Login.
02:57So to do that let's go to User Manager, click on the New button and we will set
03:02up an account for Sara.
03:04So her Name is Sara, her Login Name will be sara, all lowercase and the Password
03:09will be sara, all lowercase.
03:11Remember not to do that in real life.
03:13It's far better to set up a better Login Name and a better Password for Sara.
03:19Remember that in Joomla!, the only things required here in the User Manager
03:22screen is the Name, the Login Name and an Email address.
03:25Note that Password is not required.
03:28If you don't fill in Password, what will happen is Joomla!
03:31will generate a random password for you and the person who gets the email, once
03:37this user account is generated, will have a randomly generated password.
03:41That's probably the best way to handle most of these user logins, I recommend it.
03:46Unfortunately, right here in this situation, you're not going to get the email
03:49sent to that Email address.
03:52I need for you to remember a whole bunch of logins, so I am trying to make it
03:54easy for you by giving you names like Sara and the password of sara.
03:59Please just don't do that in the real world.
04:01So here in Email, we will give her sara@ samoca.org, will be her email address.
04:07Now that we've got that part set up, scrolling down the page and we'll go to
04:13Assign User Groups, we will turn off Registered as the User Group and we will
04:17assign her both the Volunteer Group and the Volunteer Publisher Group.
04:20Why both, because Sara is actually a member of both groups.
04:25She is a Volunteer for the organization, but she's also part of the
04:29Volunteer Publisher Group.
04:30Remember that users can belong to more than one user group for your website. All Right!
04:36Scroll back on up to the top of the page and hit Save & Close.
04:40Now we have a User Group, we have Core Permissions assigned and we have our user
04:45created, so now let's go ahead and take a look at the frontend of the website
04:49and see what happens.
04:52So if I go to the frontend of the website and I scroll on down to the Volunteer
04:56and Employee Login, and enter a Username and Password of sara, you will see that
05:02we are logged into the website.
05:04How did that happen?
05:05Well, remember that Sara belongs to the Volunteer Group.
05:08The Volunteer Group sees things on the frontend of the website via the
05:12volunteer access level.
05:14And Sara is included a part of that because she's part of the Volunteer User Group.
05:19That's why we see this screen here and you'll see that we have all of the same
05:22colors that we have for Volunteers.
05:25But her Volunteer Publisher Group right now isn't giving her any special powers
05:30at all on the website and in fact, we haven't yet created the volunteer
05:33publisher access level.
05:35So let's go ahead and do that now, back on the back-end of the website.
05:40We are going to go to Users> Access Levels>Add a New Access Level.
05:45And I am going to call this the Volunteer Publisher Access Level and the members
05:52for this will include, just the Volunteer Publisher Group.
05:56If I included the Volunteers, then the Volunteers would be able to see things
06:01that only the Volunteer Publisher would need to see on the website.
06:04And the thing that I'm specifically going to add for the Volunteer Publishers is
06:08a link to create new content.
06:10The volunteers are not going to need that link.
06:13So this Volunteer Publisher Access Level will give a nice differentiation which
06:18will allow these guys, the Volunteer Publishers, who need to create content, the
06:23ability to see that link without confusing all of the other volunteers by having
06:27a link that does nothing for them.
06:29Go ahead and hit Save & Close.
06:30Now that we have our User Group, our core permissions, our User and our Access
06:36Levels all created, we are ready to move on to putting up some content, on this
06:40website and adjusting permissions, so that Sara can get some work done.
Collapse this transcript
Adjusting permissions for categories and articles
00:00Now that Sara is set up with an account, we need to make sure that she
00:04can create and edit articles for the Volunteer category on the frontend of the website.
00:08You can see that Sara is logged in right now.
00:11If you take a look on the Log out button here, it'll say Hi Sara, followed by Log out.
00:15That's how you know she is logged in.
00:16Right now, Sara is able to log in obviously, but she can't edit anything.
00:22How do we know that?
00:23There's no little pencil icon here on the frontend of a website for her to click
00:27on, in order for her to edit the articles.
00:30In our core permissions, we did not give the Volunteer Publishing Group the
00:34ability to change anything on this website.
00:36If we did enable creating or editing content within the core permissions, the
00:41Volunteer Publisher Group would be able to change any page on the website, any page at all.
00:47Since we need this group to change only one category on this site and the
00:52information within that one category, we will change the permissions to allow
00:56editing in the category only.
00:58That will lead to a lot less clicking around in terms of disabling the ability
01:01to change articles in other categories.
01:03And if we ever add another category to the website, we won't have to remember to
01:08disable it for the volunteers.
01:09So this is a better approach.
01:11In order to get started on this, I am going to happen to the backend of Joomla!.
01:15I am going to go to my Category Manager by clicking on the Category
01:18Manager icon, right here.
01:21And I am going to scroll down to the Volunteers Category.
01:24When I click on that, if you scroll all the way down, all the way down, all
01:28the way down to the very bottom of the screen, you might not have even noticed
01:31that this was here yet.
01:32This is the permission that has to do with specifically the Volunteer
01:37Category on the website.
01:39And the Volunteer Category on the website is exactly what I want to change.
01:42I want to allow the Volunteer Publisher Group the ability to create, edit and
01:48edit the state of all the articles, as well as edit their own.
01:51So to do that, I'm simply going to change these dropdowns here for Create to
01:56Allowed, Edit to Allowed, Edit State to Allowed and Edit your Own to Allowed.
02:04I am going to scroll back up to the top of the page and click the Save button,
02:07so that it'll recalculate, so that you can see that the Volunteer Publisher
02:12Group is now allowed to do these things.
02:14I did not give the Volunteer Publisher Group the ability to delete.
02:18Remember that the delete means, they cannot empty the trash can.
02:22By giving them the ability to edit the state, they can set the state of the
02:26article to published, unpublished or trashed.
02:30In other words, they can send the article to the trashcan, but they're not
02:33allowed to actually empty the trashcan, which comes under the Delete permission.
02:38So now if I scroll back on up to the top of the page and hit Save & Close, I am
02:42going to flip back over to the frontend of the website and I will hit Refresh,
02:47we will see if anything changes here and it didn't.
02:50Sometimes things will change as you tweak things in the backend and
02:53sometimes they won't.
02:54If they don't change, what you'll need to do is log out and then go down and log
02:59in one more time, sara and password of sara.
03:04So now when we log in to the frontend of the site, it looks exactly the same as it did.
03:08Remember that, the actual article here, right here after you log in, is not an
03:13article that Sara can edit.
03:15It's not part of the Volunteer Category, it was actually an
03:18uncategorized article.
03:20And remember that it's full of modules that are driven that Sara can't edit either.
03:24But if we go over to the Volunteers page over here on the side, you will
03:28see that now we have the ability to click this Pencil icon here and we get
03:35our editing screen.
03:36We can make changes to the article.
03:39We can even change some of the information down here at the bottom,
03:43including information such as the Metadata, including the Meta Description
03:47and the Meta Keywords.
03:48Some of the items are grayed out and these are things that she's not allowed to
03:53touch at the moment.
03:54I didn't make any changes to this article.
03:58So I am going to go ahead and hit Cancel.
04:00So we know that we can edit the article that's there, now we need an ability to
04:05create articles on the frontend and the way to do that is to add another menu
04:10item, which I'll do in the next video.
Collapse this transcript
Adding menu items
00:00Now that we have Sara set up with all of the permissions that she needs to
00:04create and edit information on the frontend of the website, the one thing that
00:08Sara is missing right now is the link to create new articles on the frontend of the website.
00:13To do that, we are going to go ahead and add a new menu item to the frontend and
00:17you'll see that she can click on that and we'll create a new article to appear
00:21on the frontend of the website on the blog.
00:23So let's go ahead and do that now.
00:24What we are going to do is go to menus>User menu and we're going to Add a New menu Item.
00:30And when it comes to the menu Item Type, click the button and under Articles,
00:34you will see that we have an option called Create Article.
00:37Go ahead and click that.
00:38We can give this a title Create a New Article.
00:42The Access level for this will be the Volunteer Publisher Access Level
00:46(Volunteer Publisher AL).
00:47Remember that we have a Volunteer Access Level and a Volunteer Publisher Access
00:51Level and the difference is that all of the volunteers will be able to see
00:55things with the Volunteer Access Level, but for the Volunteer Publisher Access
00:58Level, only Sara is going to be able to see it.
01:00And the reason why is, Create a New Article is something that only Sara can do.
01:05The volunteers are not going to in general, be able to create new articles.
01:08So why show them a menu item that they can't do anything with and just confuses them?
01:12Over on the right side of the screen, under the Basic Options, we have the
01:17option here of configuring this with the category cannot be changed.
01:20I am going to go ahead and turn that on.
01:22So the Default category will be set to Yes and which category will be the
01:26Default, well, that's the Volunteers Category.
01:29This means that there's just one more widget for Sara to get confused by.
01:33If there's more than one category that somebody needs to be able to edit, you
01:37would leave this set to No and then they would be able to choose which category
01:40from their drop-down, but since there's only one category for Sara anyway, why
01:44give her the drop-down.
01:46Go ahead and hit Save & Close and then go, flip over to the frontend of the
01:50website, make sure you're logged in as Sara.
01:52If you're not, go scroll on down to the bottom of the screen and click Volunteer
01:55and Employee Login, log in as sara, password of sara.
01:58If you already logged in, go ahead and refresh the screen and you will notice
02:02that a new menu item comes up that says Create a New Article.
02:05Go ahead and click that, and you will get a blank article creation screen.
02:08In your exercise files, you'll see that I've given you a volunteer article to go ahead and post.
02:13So using Ctrl+C or Command+C to copy and Ctrl+V or Command+V to paste, go ahead
02:20and paste in the contents.
02:21There is a title of Volunteer Appreciation Picnic and there is a paragraph of information.
02:27Although, I haven't been using the read more options here inside of Joomla!, you
02:32can certainly use the read mores or the page breaks or add pictures, anything
02:36you want to do with these articles, that you would do anywhere else on the web,
02:39certainly you can go ahead and do.
02:40If we scroll on down the screen here, by default, this article is set to
02:45Published which is great and the Access Level as I said, will default to
02:49Public, Sara should probably change that to the Volunteer Access Level
02:53(Volunteer AL) just so again, we are very clear that this is an article that's
02:56only for the volunteers, but if she forgets, it's not a tragedy, it will still
03:00only show up for the volunteers.
03:02Go ahead and scroll back up to the top and say Save.
03:04You will get a notice here saying that it couldn't start the mail function.
03:09When anybody adds an article from the frontend of the website, an email is
03:12generated, which is sent to the super administrator of the website to let them
03:16know that an article has appeared from the frontend, because by default,
03:19articles are usually unpublished, and the super administrator often has to go
03:24in and publish those articles, now in the case of this particular one, it
03:28should already be there.
03:29So let's go over to the side here to For Volunteers and you'll see that here on
03:34the frontend of the website, we now have two articles, Volunteer Appreciation
03:37Picnic and Just For Our Volunteers.
03:39They are both here, they're both published and they are available here for Sara.
03:43Now that we've posted the article here on the website, what I would like to do
03:46is I would like to go back and add a picture to the Volunteer Appreciation
03:50Picnic article and I'm going to go ahead and show you how to set that up and
03:54permission for the media manager, in the next video.
Collapse this transcript
Providing access to the Media Manager
00:00Sara found a great picture of last year's picnic and she would like to go
00:04back and add that to the Volunteer Appreciation Picnic article that she just
00:09posted to the website.
00:10So let's go ahead and log in as sara and see how that works out for us.
00:13So I am going to scroll on down to the Volunteer and Employee Login link, and
00:17log in as sara with the Password of sara and I am going to go to the Volunteers
00:22page and here is the article about the Volunteer Appreciation Picnic.
00:26So I would like to add a picture, I am going to go ahead and click that Pencil
00:30icon and I am going to add that picture to the top of the article.
00:33So I am just going to hit a Return here and then I am going to click on the
00:37Image button down here at the bottom of the screen.
00:40And this puts us into the Media Manager.
00:42From here, I'm able to go ahead and browse for a picture on the website, but
00:46notice that there's something very key missing from this screen.
00:49Down here on the bottom, usually right in this area, there is a button that says
00:54Upload, so that we can upload a picture into the Media Manager.
00:57We don't have that right now.
00:59So we need to give Sara the permission necessary to go ahead and upload new
01:03pictures into the website.
01:05So I am going to hit Cancel and I am going to hit Cancel again to get out of
01:08this article and I am going to flip back to the backend of the website.
01:12From here, I am going to go to the Media Manager which is under Content>Media
01:15Manager and I'm going to go to the Options button up here in the upper
01:19right-hand corner and click that.
01:21Pretty much all through Joomla!, anytime you go into, any of the menu Items in
01:25the backend, there is a button in the upper-right called Options, which will
01:28allow you to set permissions as well as change any options that are specific to
01:33the item you are working with.
01:34So here on the Component tab, in the Media Manager, we have the options to turn
01:38things on like the flash uploader or specify the path to our files and so forth.
01:43But the tab we are really interested in is the Permissions tab here.
01:46So now we're going to go down to the Volunteer Publisher Group and you will
01:50notice that right now, we have no access to the Media Manager from the
01:55Create perspective.
01:56And Create in the context of the Media Manager indicates that we can upload a
02:00new image to the Media Manager.
02:02The first two, Configure and Access Component, I will discuss in the next video,
02:06so what those mean exactly.
02:07And of course, Delete means, there is a button that's available, so that we
02:11can delete an image.
02:12So really all I want Sara to be able to do is Create new images.
02:16So I am going to allow her to do that here and say Save & Close.
02:20So now when she goes in from the frontend of the website, she should be able
02:24to upload a picture.
02:25So let's see if that actually happens.
02:27I will flip back over to the frontend of the website and once again I am going
02:30to click the Edit button here at the top of the Volunteer Appreciation Picnic
02:34item and I will put in that space again at the top and click the Image button
02:39and you'll notice that we now have the ability to upload files here.
02:42So I am going to go ahead and say Browse your files and I'm going to go into my
02:48exercise files, in Chapter 3, #05, here's the picture she'd like to include.
02:54Go ahead and select that and say Open and then click the Start Upload button.
02:58If your interface doesn't quite look like this, it's because you don't have the
03:02flash uploader turned on.
03:04In your Media Manager, if you go to that Options button and under the Component
03:08tab, down the very bottom of the screen is an option to turn on or off the flash uploader.
03:13If you have the interface here that just gives you a box where you can upload
03:16one file at a time, that certainly works as well, feel free to use that, but
03:20that's why mine looks the way it does. Okay!
03:23Now that we've uploaded that picture, we should be able to find it up here,
03:27there it is, family picnic.
03:29Make sure you go ahead and put in your alt tag, which here in Joomla!
03:32is called the Image Description, Family on the volunteer appreciation picnic and
03:41you can certainly copy this, the description down to the Image Title if you
03:45wish, then go ahead and say Insert.
03:48You'll see here we have the family here on their picnic with the text underneath.
03:52Go ahead and say Save and now you can see that we have a very nice looking
03:58article right here on the website with the text underneath, so all is
04:01really quite well here.
Collapse this transcript
Testing logins
00:00Our last step in completing any type of configuration process inside of Joomla!
00:05is to make sure we test our logins to make sure we don't have any unexpected
00:09consequences along the way as we add new logins to the website.
00:13So what I would recommend that you do is in this case, we have made a lot of
00:16changes to the Volunteers portion of the website.
00:19We'll definitely want to log in as Sara and the Volunteer to make sure that we
00:22can still access what we expect we can access.
00:25And we may want to double check say with the employees or the senior managers to
00:28make sure nothing has changed.
00:30So I am going to start by logging in down here on the bottom and let's start by
00:34logging in as sara, Password of sara.
00:37When we log in to the website, we do get that link to Create a New Article.
00:41We also have our link for the Volunteers at the top.
00:44Here's the page with the Volunteers.
00:46We have the ability to edit those articles and we know that because we have our pencil icons.
00:50If I go elsewhere on the website say to the about us page or the collections
00:54page, no pencil icons appear, Sara can't edit anything within this area of the website.
00:59So that's exactly the behavior that we expect.
01:02Go ahead and click Log out.
01:03Then we are going to log in one more time as a Volunteer and as expected, here's
01:10our link for the For Volunteers page.
01:12When we click it, there is no pencil to edit, that's exactly what we want.
01:15We want to just be able to read the information.
01:18If we go to the other pages on the site, we can't edit there either, but we can
01:21see what's going on.
01:22So everything looks good here under the Volunteers.
01:26Then I'll log in as an Employee, which is employee is the Username, employee is the Password.
01:32We do still have our different colors over here on the side.
01:35The employee information is still here as expected.
01:38There is no information about volunteers and it looks like we can't edit any of
01:42the other pages on the website either.
01:44Repeat that same process for the senior managers and you will have done a
01:48complete testing of all of your logins here for the website, just to make sure
01:52that no unintended consequences happen while we configured the site
01:56administration from the frontend for the volunteers.
01:59Moving onto the next chapter, I'll show you how to do some similar types of
02:03selective editing, but from the backend of the website.
Collapse this transcript
4. Creating a Simplified Back End for Clients
The goal of this project
00:00Hey you! Yeah, you are watching this video, you are pretty comfortable with Joomla!
00:04by this point or you wouldn't even be watching this video.
00:07You know what content, components, modules, plug-ins and templates are.
00:11You even know how to set it all up and make it go.
00:13Do what ever you want to do.
00:14But does your client?
00:16And does your client want to see all that stuff in the backend?
00:19Can they be trusted not to touch it just because you told them to leave it alone?
00:23Of course, it depends on the client.
00:25I've had many clients who are too scared to do much of anything on the backend.
00:29And I have had other clients who break things frequently because they go
00:32where they shouldn't. To this point in Joomla!, there's been little you can do
00:35about this problem.
00:36You could assign your client to one of the existing user groups.
00:39For example, they could be an administrator and that would prevent them from
00:43having access to the templates in Joomla!
00:441.5.However, if you have several templates in use on your site, your client had
00:49to have access to the entire template manager in order to assign templates to
00:53new pages on the site. With Joomla!
00:541.6 and beyond, you can more finely hone, what exactly your client is able to
01:00edit in the backend of the website.
01:02What's more, you can assign varying levels of access to different areas.
01:06Joe is in the marketing department.
01:08Joe is able to post new information on collections to the website's homepage and
01:12collections page and he is able to create and edit the links on the links page.
01:16Joe can also edit the employee page and add new employee pages behind the login.
01:21Joe will therefore need to be able to do the following. One;
01:25create, edit and publish articles in some particular categories, notably, the
01:30collections and the employees categories, upload new photos and include them in
01:34webpages, so this means to making some changes to the Media Manager, creating
01:38and editing menu Items and accessing the links component where he can create
01:44and edit links there.
01:45Joe doesn't need to access templates or modules in most components and giving
01:49him too many options is just confusing.
01:52Our next task in this chapter is to build a simplified backend for Joe, so he
01:56can get these basic jobs done and not have to deal with anything extra.
Collapse this transcript
Creating groups, assigning core permissions, creating users, and assigning users to groups
00:00As we have, several times already, we will follow the first four steps with ACL
00:04and start to set up a login here for Joe.
00:07So we're going to create a user group, we will assign that User Group the core
00:10permissions, we'll create a user and we will assign that user to the User Group.
00:15So to get started, the first step is to make our User Group and to make the User
00:19Group, we go to Administrators>Groups>Add New Group.
00:24And this particular one, I am going to call the Marketing Group because Joe
00:28is in marketing and everybody in marketing will do similar kinds of tasks on the website.
00:33Once again it's still going to be a child of Public, go ahead and hit Save & Close.
00:37And here's our new Marketing Group, down here in the User Group Manager.
00:40Now we will assign our Marketing Group, some core permissions.
00:44So go to Site>Global Configuration.
00:47If your Global Configuration isn't already in this tab, switch to the
00:51Permissions tab up here on the top of the screen and then find the Marketing
00:55Group and click that.
00:57By default, the Marketing Group is not allowed to do anything.
01:00It's a child of Public and so it's inheriting all of the settings from Public
01:03which is you can't do anything at all.
01:05For the Marketing Group, we'll allow them to log in on the frontend of the
01:09website which they may occasionally do.
01:11We will also allow them to log in on the backend of the website.
01:15The reason why I am giving them backend login access is because they're going to
01:19have to create some menu Items and there's no way they can create menu Items
01:22from the frontend of the website with the default core Joomla! configuration.
01:26That should be pretty much all we need to give them to do from this level of
01:30permissions inside of the Global Configuration.
01:32So go ahead and hit the Save & Close button at the top of the page.
01:36The third step is to create a user, so we will go ahead and do that.
01:40Go into Users> User Manager>Add New User and this is Joe our marketing guy.
01:46His Login Name will be joe and his Password will be joe.
01:50And his Email address is joe@samoca.org.
01:53Now Joe works for SAMOCA, so he is going to belong to two user groups.
01:59He is going to belong to the Marketing Group that we just created and of course
02:02since he works for SAMOCA, he is an employee.
02:04So we'll also put him in the Employee Group.
02:07Go ahead and hit Save & Close.
02:11And we'll get this error at the top of the screen because an email could not be
02:14sent to Joe to tell him what his username and password were.
02:17And you'll see down here on the screen, that here is Joe.
02:20He is in the Employee Group and the Marketing Group, exactly as we wanted.
02:24So now that we have these basics set up, we are ready to go ahead and give his
02:27login a try, in the next video.
Collapse this transcript
Adding a back-end access level
00:00Now that Joe is setup with his account, let's take a quick peek at what he sees
00:04when he logs into the backend of the website.
00:06Remember that by default we've given Joe two core permissions;
00:10we've given him the ability to log into the front end of the website and the
00:13backend of the website.
00:14I'm going to use the second different web browser, in this case I'm using Chrome
00:19down here, so I can see what Joe sees while I keep working in Firefox.
00:24I've found that if I tried to stay logged into Firefox as the super user and
00:28open another tab and login as Joe on the other tab that Joomla!
00:32doesn't like that very much and it gives me all kinds of trouble it keeps
00:35logging me out of places.
00:37So I find when I use a second Web browser to test Joe's login for the backend
00:42and I'm using my own super user login inside a Firefox, I can have the two back
00:46ends open at the same time and just flip back and forth between Web browsers to
00:50monitor what's going on.
00:51I'm going to use Chrome, because it's installed here in my computer, but if
00:55you're a fan of Internet Explorer or if you're a fan of Safari it doesn't really
00:58make any difference.
00:59We just need to have a second Web browser open, so that we can go ahead and log
01:04in and see what's happening.
01:05So I'm going to go ahead and login as Joe with the password of Joe and this
01:08should work because we have a backend Log in and when I log into the backend of Joomla!
01:13sure enough notice what I see, a whole lot and nothing.
01:16I don't see anything at all no menus, no items in the backend, there's nothing here.
01:21And the reason why is in the previous video we had a user, a user group and core
01:28permissions, but we never assigned an access level.
01:32So let me show you something about the way Joomla!
01:34sites are put together, you actually already know all of this, but you've never
01:37given it any of the thought in terms of the backend of a website. Remember Joomla!
01:42is just used to build websites and the way the backend is built exactly the same
01:46way, but front-end is build, so there's an administrator template there's also
01:50administrator modules.
01:52If you go to Extensions>Module Manager and in this first drop down here in the
01:57Module Manager, you'll notice that it set to Site.
02:00If you switch it to Administrator, you'll find out that there is actually a
02:04number of modules that are set to Display on the backend of the website.
02:09Note also the column for the Access level most of these are set to Special.
02:15The one that isn't here is the actual login screen which of course has to be set
02:19to Public where no one could ever login.
02:20So since Joe right now it's not belong to the special access level, we need to
02:25make sure that he does, because if he doesn't belong to the special access
02:29level he will never get for example a menu across the top of the page, so that
02:33he can actually navigate around the backend of Joomla!, so let's change Joe's access level.
02:39If I go to Users>Access Levels I'm going to go into the Special access level
02:45and I'm going to include now the Marketing Group as part of the special access level.
02:49Notice who has Special access levels here Manager is checked, but not the Administrator.
02:55Well the Administrator is inheriting this from the Manager Group.
02:58Note that Authors are checked, but not the Editor or the Publisher, those are
03:02also inheriting that permission from the Author group.
03:05So unless we specifically check off the marketing group which is the child of
03:08public it won't inherit the Special access level.
03:11This by the way this whole screen here what we're looking at in terms of the
03:15Special access level for looking at things in the backend, this is a very good
03:19reason to never use the special access level on the front end of the website.
03:23Going forward you should just not be in the habit of doing that, you can make
03:26access level so easily.
03:28Make other access levels for the front end of the website, because Special is
03:31really all about the backend of the website in Joomla! 1.6 and higher.
03:35Go ahead and hit Save & Close and I found that when you change the Access level
03:40this is something where you really need to log out.
03:41So I'm going to log out here in Chrome and log back in as Joe again in Chrome
03:46and now just by changing the access level take a look at what we've got.
03:50We have the ability to edit Joe's profile, we have some information here about
03:54the last few users who logged in Popular articles, the Added articles.
03:57And then in the menu itself we have the ability to access the control panel that
04:01my profile item again log out and then of course all of the help which is all
04:05publicly available anyway.
04:07But the point is we now have a menu across the top of the page, so that we can
04:11actually get some work done.
04:13Now that we have the basics in place for a backend login we need to add
04:16permissions for Joe to do other things on the backend, because right now the
04:19backend login isn't terribly useful.
04:21So let's add some other permission for Joe in the next video.
Collapse this transcript
Adjusting permissions for each category of content
00:00Now that Joe has access to the backend he needs a way to access content and make
00:05changes to it as required.
00:07In your Super User account in Firefox go to Content>Article Manager, in the
00:13upper right-hand corner here in the Article Manager is the Options tab, go ahead
00:17and click that and if you're not already in the Permissions tab when you open up
00:21the Article Manager option switch over to it, it's the very last one on the
00:24right and we're going to go to the Marketing Group here in the middle.
00:28You will notice that there are seven permissions that can be configured here
00:32Create, Delete, Edit, Edit State and Edit Own refer to creating, editing and
00:37deleting content within the Article Manager.
00:40We'll leave this set to Inherited, because we'll determine which content Joe can
00:44edit at the category level.
00:45The other two permissions you see here are Configure and Access component.
00:49Configure means whether Joe can access the Options button in the Article
00:54Manager and get to the screen and actually make changes to people's permissions and so forth.
00:59Almost never you're going to want to change the Configure options and likewise
01:03here we're going to leave that to Not Allowed.
01:05But Access component means the Joe can get to the Article Manager in the first
01:09place, like it shows up on his menu and you can see it.
01:12Remember that the Article Manager is a component within Joomla!
01:15even though it's not on the Component menu.
01:17So I'm going to set Access Component to Allowed and I'm going to go ahead and
01:23say Save & Close, so the only thing I changed here was accessing the component.
01:27And now I'm going to flip over to Chrome and I'm going hit Refresh button and
01:32you'll see just by allowing Joe to access the component he now gets two buttons
01:36that show up here, the Article Manager and the Category Manager and he also
01:40gets Article, Category Manager and the Featured Articles showing up on the Content menu.
01:44If we actually go to the Article Manager what you'll see is a list of all of the
01:49articles, but notice that I can't click on anything to edit it.
01:52Also any of the buttons here for publishing and unpublishing content normally
01:56I can click on this, this is a super administrator, I can't click on them here as Joe just yet.
02:02Now we need to enable the content on a category by category basis, we did
02:06this earlier with Sarah in the previous chapter, so we're going to do it
02:09again here with Joe.
02:10So we're going to go to the Category Manager and I'm going to go to first the
02:15Collections category and in the Collections category scroll down to the bottom
02:20of the screen to the Marketing Group and we're going to allow Joe to create,
02:25edit, edit the state and edit his own content.
02:30Everything except for delete we're going to allow within the Collections
02:33category, go ahead and hit Save & Close when you're done and then we're going to
02:38go to the Employee category and we're going to do exactly the same thing, we're
02:43going to allow him to Create, Edit, Edit the State and Edit his Own.
02:49And now when I scroll backup to the top of the page and hit Save & Close, I can
02:53flip back over to Chrome now and I'm going to hit the Refresh button and now
02:59you'll see that some of these particular articles turn blue indicating that
03:03these are links that I can click on and in fact I could change the published
03:06date, you see when I mouse over the check mark I get a little hand icon,
03:10whereas if I mouse over the About Us publishing icon here I can't click on that to change it.
03:15So I can edit some of the articles that are present here in the Article Manager,
03:18but not all of them and that's exactly what we wanted to have happen.
03:21You might be wondering why I didn't give Joe access to create and edit.
03:25In the Article Options that button that was on the upper right-hand corner of
03:29the Article Manager and then denying him access to categories that he should not touch.
03:34Instead I did the opposite which was denied him to everything and then allow him
03:37into categories that he was going to change.
03:40Remember that if deny is set it a category level, we can't override it later and
03:45that's really important.
03:46So if I denied access to Joe say to touch the About Us category, but later
03:52Joe's manager comes to us and says that one page inside of the About Us
03:55category he can touch, but he can't touch any of the other articles inside of
03:59About Us, I can't give him access to that one article if he's denied at the
04:03category level for about us.
04:05So it's easier to enable him in some categories essentially leaving the other
04:10categories to a not set sort of state where we can allow him on an article by
04:15article basis later or allow him to edit the whole category later on as his job
04:19description changes.
04:20So Joe can now edit content on the site, so the next task is to make sure
04:24that Joe can also access the Media Manager and the menus and we will
04:28configure that in the next video.
Collapse this transcript
Enabling access to the Media Manager and menu items
00:00Now that Joe can access the Article Manager and the Category Manager and he can
00:04edit some of the articles on the website.
00:06The next thing we should do is give him access to the Media Manager, so he can upload images.
00:11So here we are in Firefox and I'm the Super User and I'm going to go to
00:16Content>Media Manager and inside of Media Manager once again I'm going to go
00:22to my Options tab up here in the upper right, switch to the Permissions tab if
00:26you haven't already, it's the one on the far right always as and find the Marketing Group.
00:31So I need to let Joe get to the Media Manager from the backend of the
00:36website that's the access component option, so I'm going to go ahead and
00:41said that to Allowed.
00:43Remember that Configure, all that Configure means is that there is that Options
00:47button in the upper right-hand corner and when he clicks it he can make changes
00:51to the Media Manager option, that doesn't mean anything else.
00:56So almost never will you change the Configure option.
00:59I'm also going to allow Joe to create images for the website, but I'm not going
01:03to allow him to delete anything.
01:05If he in case wants to use something he can just not use it.
01:08We can have images in the Media Manager they aren't use and it doesn't hurt
01:12anything it just adds a little bit of disk space to the website and as a super
01:16administrator I can always go in later and clear that out, but I don't want Joe
01:19deleting an image that he might put on a page that's actually in use elsewhere
01:23on the site that would be a very bad thing.
01:25So I'm going to go ahead and say Save & Close and then I'm going to flip over
01:31to the Chrome and I'm going to refresh my page and you'll see that the Media
01:35Manager is showed up here on the Control panel, it's also available here under content.
01:40If I go into the Media Manager, you'll see that Joe has the ability to upload
01:45images down here at the bottom of the screen using the Flash Up-loader, but
01:48notice that there are no buttons here for deleting images the way they're in the
01:52super administrator where I could check off many boxes and hit the Delete button
01:57on the top or delete images individually by clicking on the red X.
02:00Joe doesn't have that delete permissions so he doesn't have any of those items
02:04here in his Media Manager.
02:05So the next thing we need to adjust is Joe's ability to access the menus option
02:10from the backend of Joomla!
02:12and so anytime you need to do this, you're going to go to the
02:15menus>menu Manager.
02:18And in the menu Manager you'll find your button up here in the upper
02:21right-hand corner for the options, go ahead and click that and once again
02:25we're going to flip over to Marketing Group and here in the Marketing Group
02:29we're going to configure our permissions for the menu, we're going to allow
02:33him to access the component, we'll allow him to Create and also Edit and Edit
02:40the State of menu items.
02:42We are not going to allow him to Delete any menu items, he can unpublish any
02:45menu items that shouldn't be there, but in terms of actually deleting them that
02:50would be emptying the trash and that will be something that the super
02:52administrator will do.
02:54Editing State I think you can even set that to trashing the menu item, but
02:57they won't actually be deleted, they'll setting in the trash where they can be still rescued.
03:01Go ahead and hit the Save & Close button at the top of the screen.
03:05And now when I flip back over to Chrome again and I am going to go hit my
03:10Site>Control panel link here, you'll see that we have a menu Manager.
03:14I want to click the menu Manager, I have all of my menus listed here when I
03:18switch over to menu items, I have my specific menus.
03:22Right now it starts with the hidden menu here from this drop down we can
03:25switch over to Main menu and I have all of my menu items here and I can go in
03:29and edit all of those.
03:31Unfortunately it's not possible for me to say Joe can edit only one menu or
03:35submenus or not other menus, it's an all or nothing thing where the menu
03:40manager is concerned.
03:41It would be nice if the permissions were settable individually for each one of the menu.
03:46In other words Joe can add items to the main menu, but he can't add them to the
03:50right menu for example, but unfortunately it doesn't quite work that way just
03:54yet at least in Joomla!
03:56Even if Joe did make a new menu altogether if I go back to my menu Manager
04:00he does have the option here of making a whole new menu, but remember that in Joomla!
04:041.7 a module is not also created and it doesn't have access to the modules anyway.
04:11So if Joe does go ahead and make a new menu for the website it won't show on
04:15the website, because the module for it won't show and he has no way of getting to it.
04:19He would have to talk to one of the super users in order to get that menu
04:23displayed on the website.
04:24So this is another way to prevent him from making new menus, but again as I said
04:29he can still get into any of these menus and create links on it.
Collapse this transcript
Allowing access to web links
00:00Joe can access Categories, Articles, menus, and the Media Manager, but he's not
00:05able to get to the Web links.
00:06This component is pretty content heavy and it's likely to change frequently.
00:11If you take a look at all of the components here that we have in Joomla!
00:13you'll notice that they fall into two categories, think of them as things for
00:17administrators and things that are truly content oriented.
00:21So components like the Redirect component or Messaging are really tools for
00:25administrators and Joe definitely doesn't need access to those.
00:28So when you approach your Components menu think carefully about what your client
00:32really needs to access and lock away some of the more administrators focused
00:36components from the list.
00:37If you're not using banner ads on the site which we're not or if Joe doesn't
00:41need to access contacts which he doesn't those are all things you don't need to
00:45include, but we do need to give him access to the Web links.
00:48So here in Firefox I'm logged in as the super administrator and I'm going to go
00:52to Components>Weblinks, and this is a list of some of the links for things to do
00:57in the area as well as some museums, and over here in the right-hand corner is a
01:03Options box exactly where we expected, go ahead and click that, switch over to
01:07the Permissions tab which is on the far right and open up the Marketing Group.
01:12In the marketing group we need to give Joe the ability to access the Web links
01:17component and he's going to need to create new Web links, edit links that are
01:21there, and then edit their state.
01:23So of course first of all we have to give him the ability to access the Web
01:27links component, we have to give him the ability to create Web links, edit
01:31those Web links, edit their state in terms of publish and then publish them as
01:35well as an edit his own.
01:37If you hit the Save button on the top you'll see that your settings are
01:40calculated here, the only thing is he's not allowed to do now are get to the
01:44configuration which is the screen that we're in and he's not allowed to delete
01:47Web links entirely, in other words empty the trashcan.
01:50He can always trash them via the edit state permission.
01:54Go ahead and hit Save & Close, and now when I flip over to Chrome which is Joe's
01:59login and I hit the Refresh button again, you'll notice that the Components menu
02:03shows up here on the top, but the only thing on the Components menu is the Web
02:07links component which is great.
02:09If I go into Links we'll see that here's all of the links that are here on our website.
02:14Now I'm going to go ahead and add another link as Joe, so I'm going to go ahead
02:19and give this title of Explore California.
02:23It's going to ask me for a URL and I have that URL here in Firefox.
02:28This is the Explore California website and the URL is
02:31explorecalifornia.org/tours.htm.
02:33I'm going to go ahead and copy that from the top of the screen and I'm going to
02:41go ahead and paste that here into Joomla!.
02:43I'm going to assign it a category of things to do in our area and it's going to
02:46be a public Web link, I don't need to do anything else here in the screen, then
02:50I'll go ahead and hit Save & Close, and when I flip over to the front end of the
02:53website and I go to links tab then I go to Things to Do in Our Area you'll see
02:59that the Explore California link is right here inside of those Web links.
03:03So being able to limit that component list to just a handful of components that
03:07a client might actually need to access is a wonderful way to add simplicity and
03:12efficiency to the backend of Joomla!
03:15This kind of interface is working great for Joe now.
03:17He can only get to exactly the things that he's going to use and he's going to
03:21need including the Web links component, various items in the Article Manager, as
03:25well as adding things to menus.
03:27And the website is just a lot simpler plus he can't get in any trouble by
03:32accessing modules or templates for example.
Collapse this transcript
Testing logins
00:00The last step after you go through and configure ACL for a particular situation
00:04on the website is to be sure to cycle through your logins and make sure
00:08everything works exactly according to plan.
00:10So we've created a login for Joe, we assigned him to the Marketing Group, and we
00:15allowed him to login into the back end of the website, have access to menus, the
00:19Media Manager, the Article Manager, and the Category Manager, and the Web links
00:23component as well as the menus.
00:25So let's take a look and make sure that we haven't broken anything in the
00:28process and that somebody can't login to the back end of the website that
00:32we weren't expecting.
00:33So if I take a look here in Chrome juts as I said, if I go into the Article
00:37Manager I see that some of the items are grayed out can't be edited, other
00:42items can be edited.
00:43I can always filter my categories using the dropdown here in the top, let's say
00:47I want to look at just the Employees articles or if I want to look at just the
00:52Collections articles I can filter those and take a look at what's there.
00:55I can certainly click on one of these, I can take a look at it, I can go ahead
01:00and add some additional text, or I can make any kind of edits that I want to
01:04make to this particular screen and when I hit Save & Close those changes are
01:08saved, so that's all working correctly.
01:11I can always go to the Media Manager and I know that I can upload pictures here
01:15into the Media Manager and then that's working correctly.
01:18I also have already tested the Web links and I know that I can add new links to the website.
01:23I can also go into my main menu, I can click on menu items and I can make
01:28changes here however I want to make changes and hit the Save & Close button at
01:32the top of the screen, and those changes are saved.
01:34So now I'm going to logout as Joe using the Log out button over here in the far
01:39right, and I'll try to login as employee which is the other group that Joe
01:43belongs to and if I hit Log in I do get a notice here saying that I don't have
01:48access to the administrator section of the site, that's absolutely true because
01:52the Employee login only has the site login permission so I shouldn't be able to
01:57log into the back of the website.
01:58If I try log in as Sara I also can't login to the back end of the website,
02:03I'd get the same error.
02:04So it looks like things are going well here, things are working according to
02:08expectations, and Joe is very, very happy that he now can get into the
02:12website and make the changes that he needs without involving a Super User in
02:16the process.
Collapse this transcript
5. ACL Tips and Tricks
Hiding a site behind a login with the offline access permission
00:01Occasionally you'll want to hide your site behind the login, this may be because
00:04the site is under construction and you don't want anyone seeing it before it's
00:07done, or maybe you want to make a Intranet using Joomla!, and you'd like to have
00:12a login required before anybody can see the website.
00:15Either way the Site Offline Permission is a great way to hide your site.
00:19First of all I need to take the site offline, to do that we're going to go to
00:23Global Configuration, and I'm going to switch back to my Site tab and here where
00:28it says Site Offline I'm going to set that to Yes.
00:31Go ahead and say Save and when I refresh the front end of the website, I'll have
00:36a login screen that's here and generated for me right away.
00:39So I can login to this only right now as a super administrator.
00:43So if I put in admin, admin, I can login to the website, but if I put in say the
00:50sara with a password of sara I cannot login to the website, that's because who
00:56can login to the website is controlled by the Site Offline Permission.
01:00So I'm going to flip back to the back end of Joomla!
01:03and switch over to the Permissions tab here inside of the Global Configuration,
01:07and I'm going to go to the Employee Group.
01:11Right now none of the employees can login to this website to see anything.
01:14Everybody has to be a super administrator or super user to login to see the
01:19whole website at this moment.
01:20What I'm going to do is enable the Offline Access permission for all of the employees.
01:26This will allow any employee belonging to the Employee Group to login via the
01:30front end of the website and see what's happening.
01:32So I'm going to click Save & Close, and now when I go to the front end of the
01:37website I want to login as employee, the password of employee, and now I can
01:44in fact login to the front end of the website and I'm able to look around and
01:48see what's going on.
01:50Note too that Joe who is part of that Employee User Group in addition to
01:55being part of the Marketing Group, and remember that we assign that Offline
01:59Access permission to the Employee Group but we did not assign it to the marketing group.
02:04In any case since Joe is part of the Employee Group he can still login to the
02:10front end of the website even then the Marketing Group does not have that
02:13Offline Access permission.
02:15And you'll notice that Joe has pencils over here because he's able to edit these
02:19articles here for the collections on the homepage of a website.
02:23Whereas if he goes to say the About Us page or the Ask Us page he can edit these
02:28pages, he can also edit anything on the Collections page.
02:31Note too that over here on the right side of the screen we do have the options
02:36here to see the actual employee page as well.
02:38Let me go ahead and logout.
02:41So the Site Offline permission is really terrific, it can control exactly
02:46who can login to the front end of the website, it makes this a great tool for an Intranet.
02:50But there's really only one downside to this and that is the design of this screen.
02:54You all know how much I love Joomla !, but that logo there at the top is
02:58really kind of confusing because really the site is about SAMOCA, it's not about Joomla!
03:02So what can we do to get rid of that logo on the top of the screen or try to
03:06restyle this page to actually make it approximate some kind of intranet
03:10interface if we wanted to go that direction, I'll cover that in the next video.
Collapse this transcript
Customizing the offline access page by changing the logo
00:01If you decide to use the Offline Access permission and the Offline Access page
00:05here for an intranet which makes a lot of sense, you probably aren't terribly
00:09happy with the way this page looks.
00:11If it's going to be an Intranet then people are going to be looking at this
00:14page often, it's not like hiding a website behind the login while it's under
00:18construction and everybody knows that you're building in Joomla!, so having
00:21this big hunk in Joomla!
00:22logo there isn't such a big deal.
00:24But if you really want to go with an Internet type of approach you probably want
00:27to change some things about this page.
00:30So in the next two videos I'm going to show you how you can make some
00:32modifications to this page.
00:34The first thing I'm going to show you how to do in this video is how to swap out that Joomla!
00:38logo at the top for the SAMOCA logo and that will a little more improve the look
00:43of this page for offline access.
00:46So if you take a look inside of your exercise files folder inside of folder
00:50number 05_03 you'll see that I've included an image here called
00:55joomla_logo_black, and it's a JPEG.
00:59If you double-click on that here in Windows at least, it'll come up in your
01:02Photo Viewer and you'll see that it's actually just the logo for the website.
01:06Why did I call that the Joomla logo black, well if you right-click here in
01:12Firefox on the Joomla!
01:13logo you'll find an item here called View Image Info.
01:16Most browsers have something that's similar to this in name, and when you click
01:20on that it'll give you information about the image that's here on the page.
01:24In this case the image name is joomla_logo_black.jpg.
01:29So if I get rid of the Joomla!
01:31logo that's there and delete it and then replace it with another image called
01:36joomla_logo_black I will change the look of this webpage and instead of
01:40displaying this Joomla!
01:41logo it'll actually display the SAMOCA logo.
01:43So to make that change it's very simple, in the back end of Joomla here I'm
01:48going to go into the Media Manager, under Content>Media Manager, and I'm going
01:52to find joomla_logo_black, which I believe is this image right here.
01:57It won't necessarily show up at the bottom in blue but if you roll your mouse
02:01over it you'll get a tool tip that comes up, it'll saved in the lower left-hand
02:04corner of the screen what the name of that image is.
02:07You can always rename this image if you go into your file structure for the Joomla!
02:11website you can rename the image or here in the Media Manager you can simply
02:14delete it by clicking the big red X. Of course if you delete it you better be
02:18sure that you're never going to go back to the Joomla!
02:21logo again and I'm pretty sure I'm not going to want to do that.
02:24Now what I'm going to do is I'm going to upload that image, I'm going to
02:28start by clicking the Browse files button here, and I'm going to browse to
02:33Chapter 5 in my exercise files and in folder 05_03 I'll find the
02:38joomla_logo_black here, and I'll go ahead and say Open and then say Start
02:41Upload, and that's all there is to it.
02:44Now when I refresh the front end of the website you'll see that we actually have
02:48the SAMOCA logo come up instead of that Joomla! Logo.
02:51So that's a big improvement for this page.
02:54In the next video I'm going to you how to further improve the look of this
02:57page using HTML and CSS.
Collapse this transcript
Customizing the offline access page to HTML and CSS
00:00For those of you who completed Joomla!
00:031.6, Creating and Editing Custom Templates, I've got some more good stuff here for you.
00:07You're probably wondering how you could change this page further using HTML and CSS.
00:13Of course you can, and it's through the process of template overrides which
00:17again I covered in Joomla!
00:181.6 Creating and Editing Custom Templates.
00:21If you haven't watched that video, this next video is likely not to make a whole
00:25lot of sense to you.
00:26So feel free to skip over it and go on to the next one.
00:29Where the display for this page comes from is in one of Joomla!'s
00:33default template folders.
00:35So what I am going to do to start with here is I am going to go to my file
00:38structure for this website.
00:40So from my C drive here on my Windows computer, I am going to go into the xampp
00:45folder, I'm going to go into htdocs.
00:48Mac people, you're going to need to go into your mamp folder, and then go
00:52into your htdocs folder.
00:53Once you're there inside of htdocs, you should see the following file and folder structure.
00:59We're going to go into the templates folder and then we're going to go into this
01:02folder here called system.
01:04Remember the system template contains a lot of the default styling for Joomla!
01:07In here, you'll notice that we have a file called offline.php.
01:12Offline is the one we're going to copy.
01:15So I am going to right-click on this and pick Copy or you can Ctrl+C or
01:19Command+C. I am going to go back out to my main templates folder, and then I'm
01:23going to go into the samoca folder, and here, I'm going to paste via Ctrl+V or
01:29Command+V. I now have an offline page here inside of samoca.
01:34This is the way you do a template override as you'll recall. Now, Joomla!
01:37will look inside of the samoca folder for the offline page as opposed to looking
01:42inside of the system folder.
01:43So now that we have this copy, we can go ahead and customize it.
01:47So I am going to open up Dreamweaver, and I'm only using Dreamweaver because
01:51it's available here for me on this computer, and I've worked with Dreamweaver
01:54for years and I just love it as an editor for HTML files.
01:59If you prefer to work with some other product, whatever those products might be, feel free;
02:03all we're going to do here is edit some HTML.
02:05So I am going to go ahead and go to File>Open and I am going to go to back to
02:09my C drive again, back to my xampp folder, back to htdocs, back to templates
02:18page, and inside of the samoca folder I am going to open both index.php and offline.php.
02:25I held down my Shift key to select both of those files, and then I'm going to say Open.
02:30Both files will go ahead and open up for me here in Dreamweaver.
02:33If they don't open for you in Code View, just use the buttons at the top of the
02:37page to switch them over to Code View.
02:38Now, what you'll see here is I'm inside of offline.php and you'll notice that
02:44this starts off in the same way as every other Joomla!
02:48template page with a JEXEC or die call here at the top of the page.
02:52We have a call for XHTML 1.0, this should, all look familiar to you, because
02:56this is the same way we do it with any other template inside of Joomla!
02:59Then it's got a few calls here for some offline.css and general.css.
03:05These are stylesheets that are specific to this page, and then the general
03:09stylesheet is a general stylesheet for all of Joomla!
03:12Then notice we have the message here at the top of the page, and then we have
03:15some styling for displaying some offline messages, and the login form down here
03:21at the bottom of the page.
03:22So what we really need to do is we need to keep this chunk of code here
03:26inside of the body tags.
03:28We need to keep all of that in one piece, because all of that code is going to
03:32drive this portion of the website right here.
03:35So the site name, the fact that it's down for maintenance, Please check back
03:38soon, and the login form.
03:40That's all incorporated in between the body tags right now.
03:43But to make this look more like our own template what we can do is from
03:46index.php, we can start by copying very top of this document, so I've
03:52highlighted lines 1 through 19, and I've done a Ctrl+C or Command+C to copy.
03:57Over here in offline.php I can get rid of all of that.
04:01Unless you happen to need any of this, and I don't think you do, I don't think
04:05you need any of the styling for the offline page, you can just get rid of all
04:09of this, and Ctrl+V or Command+V. So I am getting rid of lines 1 through 21
04:13here inside of offline.php and replacing them with the code that came from my index.php.
04:19I am going back to index.php and now what I am going to do is I am going to
04:24copy inside of my body tag, I will copy all the way down to the div with an ID of content.
04:30So this is lines 21 through 32, once we Ctrl+C or Command+C to copy and then I
04:36am going to go into my offline.php.
04:38There is only one line I am going to remove here and that's line 20, the body tag.
04:42And then I am going to Ctrl+V or Command+V and that will paste in all of the
04:47tags here for the body class, the container, and the header, so this will
04:51control the logo at the top of the page.
04:54Then down here at the bottom where the last/div is, I am going to scroll down
04:58here to the very bottom of our document.
05:02I am going to skip over the message in the component here, lines 33 and 34 in my
05:05index.php and copy lines 35 through 42.
05:08Ctrl+C or Command+C to copy those, and then over here we're just going to get
05:13rid of line 68, the/div tag and we'll Ctrl+V or Command+V to paste in the
05:18rest of that content.
05:19Now, if you go ahead and save this page, just File>Save, we will go into the
05:25front end of Firefox and hit Refresh.
05:28This will show us the current state of our Offline Access page.
05:32So right now what we have is all of the information that we copied over.
05:37We have a right column;
05:38here is our right column which we should probably get rid of.
05:41We also have our menu across the top of the page, we probably don't want to show
05:44that just yet, and we probably don't need two logos here on the page.
05:48So we need just a few more edits.
05:50So back in Dreamweaver, I am going to scroll up in offline.php, and I'm going to
05:56find lines 28 through 30 which is the div with an ID of right and I am going to
06:00go ahead and delete that.
06:02Then I'm going to find the call here where image source of image is
06:06joomla_logo_black.jpg.
06:08This is line 31, I am going to get rid of that as well, because I've already got
06:12a logo on the webpage, and I don't need a second one.
06:15Then up here on line 25 where I have my topnav, I'm going to go ahead and get
06:20rid of the call to the module here which would be the menu going across the top of the page.
06:25I am going to get rid of that and replace that just with a non-breaking space.
06:29So once again I am going to do File>Save and I'll refresh the page here in Firefox.
06:34So now, we have a pretty reasonable looking Offline Access page.
06:39We probably could stand to do a bit more work there on the footer which isn't
06:43exactly perfect and do some more tweaking, maybe put in some more space here.
06:47But all of these issues have to do with modifying the stylesheet.
06:51You're also at the point here where you could put in some text on this page, or
06:54you could plug in a module.
06:55So right now, the text that's here in the middle of the page, this comes from
07:00the Global Configuration where you enter text in that box.
07:04But you could certainly put in a custom HTML module that would display right in that area.
07:09All you would have to do would be just before the start of this login form here.
07:14So right in this area you could put-in a call to a module here after the endif
07:19at line 42 and before the start of the login form.
07:22You could put-in the code for a module and then you could make changes to
07:25whatever code, instructions, anything else you wanted to include inside of
07:30that custom HTML module.
07:31And if you make the module position unique to this offline.php page, then it
07:36will only show an offline.php.
07:39So there's quite a bit you can actually do with customizing the offline.php
07:43page for anybody who wants to use this as a way to set up an intranet for their Joomla!
07:48website.
Collapse this transcript
Setting the default user group for site registration and approving registrations
00:00For some websites you'll want to encourage registration from the front end.
00:04If your site has to deal with social networking, a blog with comments or the
00:07ability to submit calendar event, these are examples where you'd want to make
00:11registration easy and accessible.
00:13Sometimes you won't want to make registration available at all.
00:16If there's no interactivity on the site for anyone but the site administrators
00:20or those who edit the website, you can turn off registration altogether and
00:24there is something in between.
00:26What if you want people to register for your site, but you need to review their
00:29registration to make sure they're in the right user groups.
00:32And how do you settle all this up, by default.
00:35Fortunately, Joomla!
00:36makes this fairly easy.
00:37I am going to flip over to the front end of the website.
00:39This is still an offline mode from the previous video, so what I'd first like to
00:44do is get that out of offline mode, so to do that I am going to the go to the
00:48Global Configuration and switch to the Site tab and I am going to change Site
00:52Offline to No and then hit Save & Close.
00:56Now when I Refresh the front end of the website you will see the way it is
01:00supposed to be and if I go to the Volunteer and Employee Login, you'll see that
01:04here people have the ability to login to the website.
01:07Down at the bottom there is a link that says Don't have an account?
01:11And if I click that I could fill out all of this information and generate an
01:16account for the website, even though I might not necessarily be a volunteer or an employee.
01:20So that might be kind of a bad thing for this particular website depending on
01:24how our settings are set up.
01:26So I'd like to go through those and show you how that all works.
01:28So I am going to the back end of Joomla!
01:30and I am going to go to the User Manager, Users>User Manager and we are going to
01:35take a look at the Options up here in the upper right corner.
01:38Now, on this first tab here for the Component, we have the options to Allow User
01:43Registration first of all, Yes or No.
01:46And I am going to set this to no.
01:47The reason why is, we don't have that many employees or that many volunteers
01:51that come in, that I need to have them register themselves.
01:55I can take the time as a System Administrator to create those accounts
01:57as they're required;
01:58there is no more than a handful of week, typically way less than that even.
02:02But if you have a lot of people coming to your website on a regular basis and
02:05you don't want to have to make all of their accounts for them, you could always
02:08leave that set to Yes.
02:10The New User Registration Group means when somebody registers for the website,
02:14what User Group are they in by default.
02:16Registered is probably a good choice for the site, because we're not really
02:20using the Registered Access Level for anything other than editing your profile
02:24and viewing your profile on the front end of the website.
02:27Somebody who is a registered user by default wouldn't necessarily be able to get
02:31into any of the other information.
02:32For this particular website it's completely irrelevant because we turned off
02:35User Registration, but that's where you would set it.
02:38The Guest User Group is this default group that will be applied to the
02:42not logged in users.
02:44So Public is that group by default and as I've said to you before, I wouldn't
02:48recommend getting rid of that Public User Group, I wouldn't recommend
02:51changing any of that.
02:52So chances are you're not necessarily going to need to change this.
02:56What are the great features in Joomla!
02:571.6 and 1.7 is the New User Account activation options and there are three.
03:03So None would indicate that, if somebody goes to the Registration Form and
03:07fills it out completely, they immediately have an account on the website and
03:11can login right away.
03:12There's no confirmation for the email address, any sort of link that you'd have
03:16to click in order to confirm that.
03:18And what that means is, these days at least, it's likely that you're going to
03:21wind up with tons of spam registrations and you're site is going to get
03:25overwhelmed by probably lots of people posting links about mortgages in worse.
03:30So I would recommend not using None.
03:32Self User Activation would mean that you would fill out the Registration Form,
03:37an email then gets generated to your email address and then you have to click
03:40the link that confirms that it is in fact your email address and that you meant
03:44to register for the website.
03:45This is something that existed in Joomla!
03:471.5 and it's typically what we used.
03:49But Admin is the third choice and this is the new one in Joomla! 1.6 and 1.7.
03:55This means that when somebody registers for the website, the administrator for
03:59the website, the Super User gets an email stating that someone who has
04:02registered and then you can approve or disapprove that registration.
04:07So this would be a good way to confirm that for example a volunteer has in fact
04:12registered or that a new employee has registered for the website.
04:16And that makes sense because a Super User would know exactly who all of the
04:21employees and the volunteers were.
04:22They'd have some kind of list that would let them know whether people should be
04:25on the website or not.
04:26The Frontend User Parameters located underneath allows users to change their
04:31language, their editors and their help screens in the front end.
04:35So if we take a look here on the front end of the website and I scroll down to
04:39the Volunteer and Employee Login and I login as a Volunteer, over on the right
04:44side of the screen if I take a look at my User Profile, notice that I have the
04:48options here to change my editor, my Time zone and my Front-end language.
04:52Particularly if I click the Edit Profile link, I have an option to change these things.
04:57If I set Frontend User Parameters to Hide and say Save, when I go back to Edit
05:05my profile, notice that those options are now gone.
05:08This is probably a better setting for this website, because for the most part
05:12people are not editing from the front end of the website.
05:15We have two people that we created Sara and Joe.
05:17Sara will always edit from the front end of the website, Joe might edit from the
05:21front end of the website.
05:22But they could always tell the super administrator that they want a specific
05:25editor in use for the website, or that they need a certain language
05:29configured for the website.
05:30For a single language website like this one, where it's only in English and
05:35where people are not regularly contributing content, it probably doesn't make
05:38sense to leave those Frontend User Parameters available.
05:41Leave it simple like this where people can put in their Name, their Username,
05:44their Password and their Email Address.
05:46Those are things that pretty much everybody knows and there's not a lot here
05:50that that they'll have questions about, so I am going to go ahead and hit Cancel
05:53and go back to the back end here.
05:55The Frontend Language is set to Hide by default and again if you have a single
05:59language website that's probably just fine.
06:02You can set this to Show if you are running in several languages for your
06:05website and perhaps somebody would like to have the editing interface in their
06:09own language as opposed to English.
06:11You would enable that choice by turning this on, but typically at least for
06:14the sites that are built here in the United States, it's likely that you'll
06:17just leave this to Hide.
06:18Go ahead and hit Save & Close and now when I take a look at the front end of the
06:23website and I go to the Volunteer and Employee Login, notice that the option to
06:29register for the website is gone.
06:30And this just adds another layer of security to the website.
06:34It keeps out people who really have no business logging into the website.
Collapse this transcript
Nicholas's debug tip for ACL
00:00I'd also like to give you a debug tip for ACL in Joomla!, and I have to
00:05thank Nicolas from a Akeeba Backup for this terrific tip that he shared over
00:09the Twitter recently.
00:10If you go into your Global Configuration and you go to the System tab here under
00:17Global Configuration, you'll notice that we have some debug settings over here
00:21on the right side of the screen.
00:23Debugging is something very important for great engineers like Nicolas and that
00:27it will show all kinds of information at the bottom of the screen about
00:30information about the database and how things are being processed on the website
00:34and so it's not really something that's been relevant to the titles that I've
00:37recorded here at lynda.com.
00:39But with ACL there is a very helpful feature that comes out of the debug system.
00:44I'm going to go ahead and set this to Yes, and then say Save & Close, and I'll
00:48show you what I mean about all of the stuff at the bottom of the screen.
00:51Now when I scroll down past my Control panel I have all this information
00:54about profile information, about memory usage, about all the cause to the
00:58database that we made.
01:00There is all kinds of stuff here and if you're an engineer this is incredibly
01:03useful and very relevant, but for those of us who build sites it's just a
01:07bunch of mumbo-jumbo.
01:08You can still ignore this entirely, just be aware that it's there while
01:12your debug is turned on.
01:13The interesting part for me comes in when you go to the User Manager.
01:17You now have a button here in the User Manager that says the Debug Permissions
01:21Report, this is incredibly cool.
01:24I'm going to take a look at Joe here and I'm going to click the button for the
01:27Debug Permissions Report.
01:29This is a chart that shows me what permissions Joe has in the website.
01:34So for example it's telling me that Joe is allowed to log into the front end of
01:38the website, log into the back end of the website and he has offline access, and
01:42that applies to all of these assets that are over here in the column.
01:46So and you can guess that what many of these things are.
01:48For example, com_contact has to do with the contact forms on the website;
01:53com_content is the content area, articles, and categories.
01:57Then we have specific articles like the Volunteer article, the Login page
02:01article, and you can see that their names are listed over here in the column and
02:05this tells us a little bit about what Joe is allowed to do.
02:08So with our articles here you can see as you read across that he is in fact
02:12allowed to access the Article Manager Component you'll remember that we set that up.
02:17In particular with some pieces of content such as those in the Collections
02:21category Joe also has the permissions to access the component, Create Content,
02:26Edit, Edit State, and Edit his Own content within that category.
02:30If I switch over to the User Groups this button here is also in place in terms
02:36of the permissions and debugging that report.
02:38So if I go to the Marketing Group and click the Debug Permissions Report, this
02:42will show me exactly which permissions are assigned for which assets within
02:47the back end of Joomla!
02:48and once again a very readable chart.
02:50Note that the Offline Access is not available to that Marketing Group;
02:53remember we assign that only to the Employee Group.
02:56And once again we can see what people in this User Group are able to access.
03:01Remember if a user is assigned to two user groups and you look at that user
03:05you'll see a merging of those permissions here on this particular screen.
03:10Unfortunately our access levels do not also have those debug permissions, it's
03:15only the users in the User Groups, but the screen is incredibly helpful and
03:19you will probably make use of this at some point if you're doing some
03:22complicated tasks with ACL.
03:25I'm going to go ahead and turn off that setting again, so I'm going to go back
03:28to Site>Global Configuration.
03:30Under in my System tab I'm going to set Debug System to No and say Save & Close,
03:36and now if I go to the User Manager you'll notice that those buttons for
03:39debugging the permissions have disappeared.
03:42So once again thanks to Nicolas at Akeeba Backup for giving us that tip.
Collapse this transcript
Posting a note in the back end with specific information for certain access levels
00:00Wouldn't it be nice to leave a note in the backend of the website just for those
00:04who have login privileges, wouldn't it be great if we could customize that
00:09little note to Access Levels.
00:11Joe has an annoying habit, he's just driving the Super Users crazy on the Samoca
00:16website because he keeps forgetting that he's not supposed to hit the Back
00:20button when working in Joomla!
00:22He is always going in and looking at something and then hitting the Back button
00:27and all of the Lock icons are appearing all over the website, it's very, very
00:31annoying for everybody.
00:32So the Super Users would like to post a note when people in the Marketing
00:36Group login to the backend of the website, so that they can see a little note
00:41that -- oh, by the way you might want to remember to not hit the Back button,
00:45thank you very much.
00:46This is actually not that hard to do.
00:48We can create a Custom HTML module for the administrator side of the interface,
00:53and have it appear over here on the right side of the screen.
00:56It'll be a fabulous thing to do and then using Access Levels we can have it work
01:00just for those who are in the Marketing Group.
01:03So the first thing is I'm not sure we ever created an access level for the
01:06Marketing Group, so let's do that first.
01:08Under users go to Access Levels and sure enough we don't have an Access Level
01:13here for the Marketing Group, so go ahead and add one.
01:16We'll call this the Marketing Access Level and we'll assign the members of the
01:22marketing group to that, go ahead and say Save & Close.
01:25Now what I'm going to do is I'm going to go to Extensions>Module Manager, and
01:30make sure you're flipped over to the administrator side.
01:33This first dropdown here says Site and Administrator, make sure you
01:36choose Administrator.
01:37And you'll see here that these are all of the modules that make up the
01:40backend of Joomla!
01:42Now if I click the New button at the top of the screen this is only going to
01:45show me the module types for the administrator site of Joomla!
01:49So the custom HTML module that shown here is actually not the same Custom HTML
01:55module you're already familiar with for the front-end of the website, this is
01:59specifically for the backend of Joomla!
02:01Go ahead and click Custom HTML and in your exercise files you'll find a little note here.
02:08The title of which is Welcome Marketing Group, and then we have our little
02:13message here at the bottom.
02:14I'm going to go ahead and paste that in down here under the Custom output, and
02:19it looks like that it needs a little bit formatting here so I'm just going to
02:22format this really quickly, here we go, so we're all formatted up.
02:28Up here we're going to be asked for a position in this template, go ahead and
02:32pick Select position, and the template we're working with is the Bluestork
02:36Administrator Template and of course pick the one that works correctly for you.
02:40This will show you all of the positions that are here in the Bluestork template.
02:45Where we'd like this particular note to occur is over on the Control panel
02:51position right here that'll show up in the stack of accordion items on the
02:55right side of the screen.
02:56Go ahead and choose the Control panel position and then we're going to set our
03:00Access Levels for this to the Marketing Access Level.
03:05And because this is at the Marketing Access Level and Super Users are not part
03:08of the Marketing Access Level, then people who are part of the Marketing group
03:11who login to the website should see this particular note whereas if you are a
03:17super administrator you should not see this note.
03:19So let's go ahead and hit Save & Close and I'm going to go back to the
03:23Control panel for the website and you'll notice that nothing is seen over
03:27here on the side of the screen.
03:28I'm going to open up Chrome again and I'm going to go to
03:34localhost/administrator, remember if you're on Mac it's
03:38localhost:8888/administrator, and I'm going to put in my username of Joe and
03:44my password of Joe.
03:46Now when I login to the backend of the website notice over here on the right
03:49side we have that note about Welcome Marketing Group people and the reminder
03:53about never hitting the Back button.
03:55Just like any other Custom HTML bit of code you can certainly put images in here
04:00or anything else that you'd like to include, and you can control the order of
04:04the notes by taking a look at your Module Manager, I have switched back to
04:09Firefox to my Super User and going to the Module Manager.
04:12And I'm still looking at the Administrator modules and you'll see here that
04:16Welcome Marketing Group is at the very top of all of those levels.
04:20Well it's probably the best place to be so that when you take a look over here
04:24in the right-hand side that's already open, but you could certainly change the
04:28position as you wish.
04:30Leaving your users a little note here on the right side of the screen when
04:33they login to the backend is really great, it's a great place leave a note
04:37about where we get help or who to call if there is additional things that need
04:41to be done to the website, and for those of you who are consultants it's a
04:44nice place that you can put a note with your branding to remind people the
04:48name of the company that built the website and who to call for upgrades and
04:52for more information.
Collapse this transcript
Using ACL Manager
00:01Finally, some of you may feel like ACL is sprinkled all through of the back end
00:05of Joomla!, and wouldn't it be great, if there was some way you could centralize
00:09all of your ACL onto one screen.
00:11Wouldn't it be easier to understand and wouldn't it be easier to manage from there.
00:15Well, the truth in the matter is it already exists.
00:19My friend Sander Potjer who is from the Netherlands and is in charge of 14 User
00:25Groups, as well as the Dutch Joomla! Days, as well as on the community
00:29leadership team for Joomla!
00:30has written a terrific extension.
00:32This is called the ACL manager for Joomla and it's available at aclmanager.net.
00:37It does cost money, it cost 10 Euros, and you can go ahead and pay for it right here
00:42online and download it and use it on your website.
00:45And so I'd like to show you what the ACL Manager will do for your Joomla! site.
00:50I'm going to roll back to the backend of Joomla here and if you take a look
00:54under Components>ACL Manager, this is what Sander has put together, this is the
01:00ACL Manager for the User Groups we're taking a look at here right now.
01:04And you'll see the note here in the middle of the screen that says;
01:06select a User Group to view permissions.
01:08So if I go to say the Marketing Group this goes ahead and makes a chart for me
01:14that shows me all of the names of the assets and how exactly the permissions are configured.
01:20And you might be surprised or not to note that this looks exactly like the
01:25previous step or two ago where I talked about the debugging tip that I got from
01:30Nicholas at AkeebaBackup that you can enable the view and show who has
01:34permission to do what.
01:35This is where Sander's getting this particular view and what he's done is
01:39instead of leaving in like com_ contacts and com_content he's actually
01:43substituted all those with the actual name of the particular component
01:47that's involved and he has given us this little chart here to show who is able to do what.
01:52But the real part that I particularly like about this is that the items over
01:57here on the left side of the screen are all clickable.
02:00So for example if I go to Collections here, Collections is something where Joe
02:05is allowed to access it.
02:06I can click on the word Collections and this will put me into my Category
02:12Manager specifically four collections, and I can go down here and scroll to the
02:16bottom and change my permissions directly right here.
02:18When I hit Close I'm actually returned to the ACL Manager.
02:23Likewise if I want to change a broader option for example, Joe has permission to
02:28access the articles component I can click on the word Articles and this will
02:32pull up directly my Article Manager options for me right here.
02:35And once again I can make the changes to that directly right here on the screen.
02:40So the advantage of ACL Manager is that all of the configuration screens for your Joomla!
02:47website are all centralized here in one location, and Sander has pulled
02:51together the list of all those assets on the sites and all of the screens into one location.
02:57The advantage of this is if you decide you don't want to use ACL Manager anymore
03:02and you uninstall it, you don't actually break anything on the website.
03:05All of your ACL settings are secure, it's all part of core Joomla!, all he's
03:09changed is its presentation here on the screen.
03:12Note that we can also go to the User view and if we choose a user from our
03:16dropdown, let's say Joe, we can also take a look at Joe's permissions
03:20specifically and we can make changes to those permissions once again by clicking
03:24on the links that are over here on the side of the page.
03:26So if we want to give Joe the ability to access the contacts, I can click on
03:30the word Contacts, switch to the Permissions tab, give Joe the ability to get
03:35to the contact, component, and perhaps edit the contact page that's already
03:40there and hit Save & Close.
03:42And this page will refresh with new information about Joe, now you can see that
03:47he can access the component and he can edit the contact that is already there.
03:52If I open up Chrome and I go to the backend of my website which is administrator
03:58for PC or localhost:8888/administrator on Mac, and I login as Joe now.
04:05I do have access to my contacts and notice that I don't have a New button up
04:09here so I can't make a new contact but I can go into the Ask Us contact and I
04:14can make any changes here that I wish to.
04:17So the ACL Manager is not necessary by any stretch in order to manage ACL on
04:23your website, but its advantage is it gives you a nice chart here that you can
04:27read and understand exactly how your ACL is put together all in one location and
04:33you can click on the links over in the Asset title column and those links will
04:37take you to configuration screens where you can directly change the
04:40configuration of those assets, right here all within one screen without clicking
04:45around all over Joomla!
04:46to get to all of those resources.
04:48So once again that's at aclmanager.net, very nice little extension written by
04:53my friend Sander.
Collapse this transcript
Conclusion
Goodbye
00:00Thank you so much for watching Joomla!
00:031.7 Access Control Lists in Depth.
00:05I hope this made ACL a little bit easier to understand for your website and I
00:10hope I've provided some good examples that are real-world and things you can put
00:14right to work on some of your own websites.
00:17If you enjoyed this title you might also enjoy watching some of my other titles
00:21at lynda.com, including Joomla! 1.6 and Joomla!
00:241.7 Essential Training. Joomla!
00:261.6 Creating and Editing Custom Templates which by the way works great with Joomla!
00:311.7.You might also enjoy watching one of my other titles Website Strategy and
00:36Planning, which will show you all of the thinking that you might want to
00:39consider before you start building a website, whether that's a Joomla website or
00:43any other kind of website.
00:45If you need more help with Joomla!
00:47I strongly encourage you to look into Joomla!
00:49User Groups that might be available in your area.
00:53If you go to community.joomla.org and click on the link for User Groups
00:58you'll find User Groups are starting all over the world, and there have been over 25 Joomla!
01:04days in 2011.
01:04A record for the Joomla! Community.
01:07So Joomla! is really picking up speed worldwide and people are enjoying meeting each other in person.
01:13So if you get the chance to attend a Jooma!
01:15Day Event or to attend a Joomla!
01:18User Group, I strongly recommend you do that.
01:20It's so great to meet other people who love Joomla!
01:22as much as you do, and it's a great place to ask questions and get
01:26questions answered.
01:27So thanks again for watching my video and I hope I'll see you in other Joomla!
01:32titles in my other titles around lynda.com.
Collapse this transcript


Are you sure you want to delete this bookmark?

cancel

Bookmark this Tutorial

Name

Description

{0} characters left

Tags

Separate tags with a space. Use quotes around multi-word tags. Suggested Tags:
loading
cancel

bookmark this course

{0} characters left Separate tags with a space. Use quotes around multi-word tags. Suggested Tags:
loading

Error:

go to playlists »

Create new playlist

name:
description:
save cancel

You must be a lynda.com member to watch this video.

Every course in the lynda.com library contains free videos that let you assess the quality of our tutorials before you subscribe—just click on the blue links to watch them. Become a member to access all 104,069 instructional videos.

get started learn more

If you are already an active lynda.com member, please log in to access the lynda.com library.

Get access to all lynda.com videos

You are currently signed into your admin account, which doesn't let you view lynda.com videos. For full access to the lynda.com library, log in through iplogin.lynda.com, or sign in through your organization's portal. You may also request a user account by calling 1 1 (888) 335-9632 or emailing us at cs@lynda.com.

Get access to all lynda.com videos

You are currently signed into your admin account, which doesn't let you view lynda.com videos. For full access to the lynda.com library, log in through iplogin.lynda.com, or sign in through your organization's portal. You may also request a user account by calling 1 1 (888) 335-9632 or emailing us at cs@lynda.com.

Access to lynda.com videos

Your organization has a limited access membership to the lynda.com library that allows access to only a specific, limited selection of courses.

You don't have access to this video.

You're logged in as an account administrator, but your membership is not active.

Contact a Training Solutions Advisor at 1 (888) 335-9632.

How to access this video.

If this course is one of your five classes, then your class currently isn't in session.

If you want to watch this video and it is not part of your class, upgrade your membership for unlimited access to the full library of 2,025 courses anytime, anywhere.

learn more upgrade

You can always watch the free content included in every course.

Questions? Call Customer Service at 1 1 (888) 335-9632 or email cs@lynda.com.

You don't have access to this video.

You're logged in as an account administrator, but your membership is no longer active. You can still access reports and account information.

To reactivate your account, contact a Training Solutions Advisor at 1 1 (888) 335-9632.

Need help accessing this video?

You can't access this video from your master administrator account.

Call Customer Service at 1 1 (888) 335-9632 or email cs@lynda.com for help accessing this video.

preview image of new course page

Try our new course pages

Explore our redesigned course pages, and tell us about your experience.

If you want to switch back to the old view, change your site preferences from the my account menu.

Try the new pages No, thanks

site feedback

Thanks for signing up.

We’ll send you a confirmation email shortly.


By signing up, you’ll receive about four emails per month, including

We’ll only use your email address to send you these mailings.

Here’s our privacy policy with more details about how we handle your information.

Keep up with news, tips, and latest courses with emails from lynda.com.

By signing up, you’ll receive about four emails per month, including

We’ll only use your email address to send you these mailings.

Here’s our privacy policy with more details about how we handle your information.

   
submit Lightbox submit clicked