Roles, permissions, and a few other tweaks

Take a peak at how Sakai's new roles and permissions system works.

Topics covered in this design include:

  • A completely new and robust way of handling roles and permissions!
  • I added a dynamic hide/reveal option to the sidebar
  • Rearranged where colors, styles, and other customization features are located
  • Added a "styles" option that let's users pick between different pre-defined moods (layout not included)
  • Did some light tweaking throughout


To learn more, take a look at this week's flash presentation.


*Companion screens below:

*Screen revision updates are included in this batch so you'll want to hunt through and find the screens that relate only to the video presentation.

Labels

cle1_designs cle1_designs Delete
cle_improve cle_improve Delete
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.
  1. Apr 14, 2008

    Raad Al-Rawi says:

    Hi Nathan This is excellent work and just the sort of approach needed to give S...

    Hi Nathan

    This is excellent work and just the sort of approach needed to give Sakai a clear, consistent and effective UI.

    I noticed that the terms "Widgets" and "Tools" appear on some pages as though they are interchangeable. Whilst they might be construed as the same thing by many people, my opinion is that it is better to have just one term and to choose it early on. This avoids any potential confusion and avoids different terms creeping into any code, as it's easy for this to happen once all this first-rate stuff gets coded up!

    Another thought I had is that it would be useful to collect and organise the screenshots into some sort of browseable structure, e.g.

    Dashboard
            +- Add Widgets
    
    Site Home
            +- Add Widgets
            |
            +- Edit Look & Feel
            |
            +- Site Settings
                           |
                           +- General
                           |
                           +- Members
                           |        |
                           |        +- Add Members
                           |
                           +- Import/Export
    
    

    This would make it easy to find a particular screen, it would provide a good representation of the functional aspects of Sakai that are being developed, and it lists those aspects that have been covered so far. Just a thought =)

    1. Apr 14, 2008

      Nathan Pearson says:

      Thanks Raad, Regarding widgets vs. tools, please see my response below to Mark'...

      Thanks Raad,

      Regarding widgets vs. tools, please see my response below to Mark's comments.

      As for the structure, is there a way I can organize stuff like that in confluence??

      Nathan

      1. Apr 14, 2008

        Allison Bloodworth says:

        Hi Nathan, Thanks much for all your work on this. Even if you don't go as far a...

        Hi Nathan,

        Thanks much for all your work on this. Even if you don't go as far as creating a navigation structure for all your screenshots, I've noticed that they have all been backwards (in relation to how you show them in the videos). Some of the screens are sequential, so that makes the screenshots a little harder to process. Reversing the display order of the screenshots would be great!

        Thanks,
        Allison

        1. Apr 14, 2008

          Nathan Pearson says:

          Hey Alison, Thanks for the tip. How does that work in confluence? Is it a matte...

          Hey Alison,

          Thanks for the tip. How does that work in confluence? Is it a matter of what I upload first?

          Nathan

      2. Apr 15, 2008

        Raad Al-Rawi says:

        OK, thanks I'll comment below. Ah, sadly I'm not a confluence wiz or anything, s...

        OK, thanks - I'll comment below.

        Ah, sadly I'm not a confluence wiz or anything, so I don't actually know.

        I've had a quick skim through some of the help, and it might be possible to do something using seperate pages and the {children} tag. Or maybe using content-composition and cards in a part-manual arrangement. I haven't tried doing any of this yet - it may be too clumsy, in which case maybe an iframe into a separate solution (e.g. a Sakai resources page somewhere).

  2. Apr 14, 2008

    Lance Speelmon says:

    Nathan, Based on past experience, it would be useful to break "Guest" access do...

    Nathan,

    Based on past experience, it would be useful to break "Guest" access down into two use cases:

    1) The user is not identifiable and should not be identified (i.e. anonymous). For example, this is useful for anonymous survey type activities.

    2) Authenticated access; i.e. any user that can authenticate to the system and can be identified. This case is useful when you want to open access but still want to know who the individual was/is.

    Thanks, L

    1. Apr 14, 2008

      Nathan Pearson says:

      That shouldn't be a problem from a UI perspective. Most of this depends on how f...

      That shouldn't be a problem from a UI perspective. Most of this depends on how far we can push the system (as Mark points out). But I've seen systems that have an anonymous classification and agree, it makes sense to have this type of role.

  3. Apr 14, 2008

    Mark J. Norton says:

    Two things: I note that in your video, you talk about "tools", but when you get...

    Two things:

    I note that in your video, you talk about "tools", but when you get into Look and Feel, they are referred to as pages. Sakai has always had a distinction between tools and site pages, though I admit that these are often confused. What do you call a view with two tools on it? Calling them tools in the site navigation view furthers this confusion, IMO.

    Secondly, when you discussion roles and permissions, you have a button to create a new role for a site. Easy to say, but my understanding is that there is a fair bit of administrative work to actually create a role. I have some doubts that this could be easily done in software (thought I could be wrong).

    • Mark Norton
    1. Apr 14, 2008

      Nathan Pearson says:

      I sure hope its possible to create any type of roles we want. Guess we'll wait a...

      I sure hope its possible to create any type of roles we want. Guess we'll wait and see what the real wizards behind this project will say

      Regarding widgets, tools, and pages.

      In my mind these are all very clear... so I hope I haven't confused too many people yet. This ultimately belongs to a separate post, but I'll summarize here since you and Raad both touch on it.

      1. A tool contains a robust set of functionality with a UI that has "progressive disclosure". A good example would be an email program or a forum.

      2. Widgets on the other hand contain a very shallow UI and purpose. There are two classifications of widgets in my mind:

      a) Stand alone widgets (ex: Clock).
      b) Companion widgets. If tools are the bread, these are the butter. These are windows that pull data from a Tool or group of Tools. These also have some minor UI controls that allow users to interact with that data.

      I don't want to call these "synoptic tools" because – well, for a number of reasons – but in general, I like to imagine more than one companion widget per tool. So imagine if you have a fancy tool that works like a Zimbra in Sakai. A tool like this could (and should) have several widgets that link into it. Example:

      • Calender summary
      • Inbox summary or mail alert
      • Daily reminder (task list)

      These should have no "progressive disclosure" and every effort should be made to design these to be extremely shallow but very useful – especially in combination with one another in one layout.

      Which brings me to Pages...

      3. There are two types of Pages. The first is the obvious one that users are presented with in these mock-ups. These type of Pages can be edited and managed by users. But as for what goes on them – only widgets, never tools!

      The other page type is a bit invisible to the user, and these are what Tools live on. A user would NEVER add a page and a Tool to that page. Instead, these pages are only presented within the context of viewing a Tool... and from user perspective, really don't matter.

      Tools can be accessed either by clicking a link in a widget (ex: Some calendar summary widget) or a Quicklink in the top header area. Of course, a user can also click on a Tool link in the Tools Widget – but really, that Widget is like any other, but with a singular purpose of acting like a navigation menu.

      Once a Tool link is clicked, the Tool will take up the entire view of the browser similar to how "Site Settings" is displayed in the mock-ups. Which is on a "Page" – but this page is more of a system container rather than an object a user can edit/manage, etc.


      There are other objects I'm toying with, that if possible, will offer true mash-up potential! But more on these later

      1. Apr 14, 2008

        Peter A. Knoop says:

        Creating new Roles is likely a functionality that most organizations will not wa...

        Creating new Roles is likely a functionality that most organizations will not want to put in the hands of end-users. It is more of an administrator-type functionality, and is typically done on a site-wide basis. At the site level, however, it is a more common need for someone to redefine roles by tweaking their permissions in that particular site; maybe granting the ability to post Resources to the Student role in a graudate seminar they are running.

        1. Apr 14, 2008

          Nathan Pearson says:

          That sounds like an institution policy issue. Not all institutions have the same...

          That sounds like an institution policy issue. Not all institutions have the same policies – which I tried to express in the video (as well as other posts).

          1. Apr 14, 2008

            Peter A. Knoop says:

            I'm videochallenged in my current situation, so I was just looking at the videos...

            I'm video-challenged in my current situation, so I was just looking at the videos

      2. Apr 14, 2008

        Peter A. Knoop says:

        If you going to redefine words that already carry a lot of meaning in Sakai you ...

        If you going to redefine words that already carry a lot of meaning in Sakai you really should define what it is you mean at a higher level in your documentaiton here, in order to try to avoid the resulting confusion. Or, you could consider adopting the existing definitions in Sakai, if you're still splitting things up in a similar way.

        1. Apr 14, 2008

          Nathan Pearson says:

          Well, I'm trying to explore more fitting terminology. As for providing more docu...

          Well, I'm trying to explore more fitting terminology. As for providing more documentation, I'm doing my best but to get that out as fast as possible.

      3. Apr 14, 2008

        Peter A. Knoop says:

        "A user would NEVER add a page and a Tool to that page," is probably a reflectio...

        "A user would NEVER add a page and a Tool to that page," is probably a reflection that a user cannot at the moment do that, more than anything else. Instead they have to contact their support staff to do it for them, who then use the admin's "Sites" tool to do it. It is a requested feature, and often wrapped up with that is letting the user specify the layout of those tools on that page.

        1. Apr 14, 2008

          Nathan Pearson says:

          Once again... sounds like an institution policy issue. My meaning was more from...

          Once again... sounds like an institution policy issue.

          My meaning was more from a system design perspective – and not necessarily one that's reflective of the current models in Sakai. In fact, currently in Sakai, depending on who the user is, the system will let you add a page and a tool to that page. In my design, this would be impossible (and unnecessary) even for the system admin.

      4. Apr 15, 2008

        Raad Al-Rawi says:

        OK I understand. In your context tools are a bit like, say, system modules, in a...

        OK - I understand.
        In your context tools are a bit like, say, system modules, in as much as they confer a major feature/piece of functionality. I'm not deliberately trying to muddy the water with additional terms, but just drawing analogies to help understanding

        So really, this is not dissimilar to the way Sakai current works. It might be better to focus on the tools rather than the pages (from a familiarity point of view) and say we are classifying what are currently all "tools" into 2 types (i.e. widgets and tools). Then when you add a page, you're just adding a blank page (be you ordinary user or maintainer/admin). When you add a tool, it goes without saying that you are adding a page for that tool.
        Again, just a little food for thought - sometimes it's worth throwing crazy ideas around.

        R

        1. Apr 15, 2008

          Nathan Pearson says:

          Yes, exactly! Only thing is, currently in Sakai, with a little finagling you can...

          Yes, exactly! Only thing is, currently in Sakai, with a little finagling you can actually add a regular tool (as well as synoptic one) to a multi-column page. Also, Sakai presents users with synoptic tools and regular tools in one list – which makes things even less clear.

          Actually, I think I'm realizing now where the original confusion was. Was your original message referring to this screen?

          http://bugs.sakaiproject.org/confluence/download/attachments/20840459/add_widget.2.2.png

          If so, then yes, I apologize about that. This screen does show the Schedule (calendar) tool being selected... so I can see how that confused you.

          What's actually going on is that I'm using dummy content here as a place holder to fill the screen and I forget sometimes that folks take the details quite literally. The fact is, this screen would only present widgets to the user – never tools.

          Does that clear things up?

          1. Apr 16, 2008

            Raad Al-Rawi says:

            Yep that's what I thought. I quite like the idea of (effectively) restricting to...

            Yep - that's what I thought.
            I quite like the idea of (effectively) restricting tools proper to single-column pages. It makes a lot of sense (you usually need the screen real estate for these) and it might even help balance load better, given widgets should be relatively light-weight (both in terms of content and load) so it avoids the scenario of putting lots of heavyweight tools on one page together and killing the UX.

            1. Apr 16, 2008

              Nathan Pearson says:

              I'm also toying with the idea of adding widgets (or some similar lightweight blo...

              I'm also toying with the idea of adding widgets (or some similar lightweight blocks) to tool pages. This would be one type of mash-up that I have in mind (there are others of course).

              Imagine an email tool and an address book tool as separate tools. Once in the email tool view, you might be presented with a way of adding a widget to the layout that will give you access to some address book features. Maybe the simple act of adding the widget here would also carry with it other inclusions as well (this is where I'm thinking of the "types" of mash-ups).

              So for example, instead of just a widget-esque block that appears in a column near the email UI, you would also get some deeper interoperability like auto-fill the "mail to" field when composing an email with an address book name.

              This is just an example of course, but I think an API like this would be exciting – and it helps me at least to also think about it from a UI perspective.

  4. Apr 18, 2008

    Barbra Mack says:

    This looks really good. I really like that permissions go down to the tool level...

    This looks really good. I really like that permissions go down to the tool level; this is really something that NYU is hearing requests for.

    Based on some of the other requests that we are hearing, I think it would be really useful if the roles broke out of the "course metaphor." If someone was using Sakai for project sites, or if they wanted to allow people to join their personal Workspaces these roles would not apply well. You could let roles be defined more as user groups, that have permission templates applied to them. This way a course site could have a default "student" user group and default ta user group, but within a research project site the user groups could be titled entirely differently, even though the permission terms would be the same. This might be useful in the sense that an instructor might want her students to have full control over a site. But she wants to be able to have them to be labeled as students, for the gradebook, etc.

    Along these same lines, to be able to allow Sakai to grow into something more flexible it might useful to think about permissions in global systems terms as well as site specific terms. For example, many faculty and students want to be able to upload resources, or create blogs and wikis and then share 1) just that resource with a select group of their peers; 2) with all students within a class; 3) with anyone within their department; or 4) maybe outside of Sakai entirely (e.g., a prospective employer might want to see a student's portfolio.

    In this way it might be useful to think of permissions in terms like private, select, community (within the Sakai system), and public. And then applied to each of these visibility permission groups there would be options for read, write and delete permissions that could be turned on or off depending on the user group that it was being applied to. User groups might be shared across sites (and not); and everyone would be using the same access/permission metaphors regardless of the activities or type of site.

    1. Apr 19, 2008

      Nathan Pearson says:

      I do believe that's the direction this is heading since users are now able to cr...

      I do believe that's the direction this is heading – since users are now able to create their own custom role. Also, roles should be included in site templates. So if your system admin wants to setup a few templates (ex: course, project, club, group, personal, etc) – he/she can define a set of starter roles that are appropriate for each context.

      The rest depends on how many functions are tagged with access control logic and how much of that will be surfaced up to the end user at your campus.