Moodle
  1. Moodle
  2. MDL-15502

Bulk user actions should include a filter option to select users who have never logged in

    Details

    • Affected Branches:
      MOODLE_19_STABLE, MOODLE_20_STABLE, MOODLE_21_STABLE
    • Fixed Branches:
      MOODLE_19_STABLE
    • Rank:
      1115

      Description

      Bulk user actions should include a filter option to select users who have never logged in. See http://moodle.org/mod/forum/post.php?reply=443787

      1. MDL-15502
        4 kB
        Anthony Borrow
      2. MDL-15502_proposed.diff
        6 kB
        Anthony Borrow
      3. MDL-15502.patch
        6 kB
        Dongsheng Cai
      4. MDL-15502b.diff
        2 kB
        Anthony Borrow
      1. After_MDL-15502.png
        156 kB
      2. Before_MDL-15502.png
        175 kB
      3. last login filter issue.jpg
        175 kB
      4. Proposed_MDL-15502.png
        178 kB

        Issue Links

          Activity

          Hide
          Anthony Borrow added a comment -

          Eloy - Here is a patch that gives the user an option to include or not include NEVER (i.e. never logged in). The language strings may need to be changed up but I think the logic here is pretty consistent with what is already there in the code. The only concerns I have is that the added line on the form did not seem to fit and could probably be made a little prettier. Let me know what you think. Peace - Anthony

          Show
          Anthony Borrow added a comment - Eloy - Here is a patch that gives the user an option to include or not include NEVER (i.e. never logged in). The language strings may need to be changed up but I think the logic here is pretty consistent with what is already there in the code. The only concerns I have is that the added line on the form did not seem to fit and could probably be made a little prettier. Let me know what you think. Peace - Anthony
          Hide
          Anthony Borrow added a comment -

          Eloy - I'm thinking that to really make this functionality useful, it would help if the admin could set a date filter on the timemodified field as well. That way you could delete users who have never logged in but keep the ones that registered recently. Peace - Anthony

          Show
          Anthony Borrow added a comment - Eloy - I'm thinking that to really make this functionality useful, it would help if the admin could set a date filter on the timemodified field as well. That way you could delete users who have never logged in but keep the ones that registered recently. Peace - Anthony
          Hide
          Anthony Borrow added a comment -

          Eloy - Here is a patch that would add the timemodified (last modified) option to the filter list. Peace - Anthony

          Show
          Anthony Borrow added a comment - Eloy - Here is a patch that would add the timemodified (last modified) option to the filter list. Peace - Anthony
          Hide
          Martin Dougiamas added a comment -

          18 votes, with a patch - seems like a good thing to add!

          Show
          Martin Dougiamas added a comment - 18 votes, with a patch - seems like a good thing to add!
          Hide
          Martin Dougiamas added a comment -

          Dongsheng could you have a quick look at this and see if it makes sense? If so, put it in 1.9 and HEAD (after the weekly tomorrow of course).

          Show
          Martin Dougiamas added a comment - Dongsheng could you have a quick look at this and see if it makes sense? If so, put it in 1.9 and HEAD (after the weekly tomorrow of course).
          Hide
          Dongsheng Cai added a comment -

          I modified the UI a little bit, not sure if it is good

          Show
          Dongsheng Cai added a comment - I modified the UI a little bit, not sure if it is good
          Hide
          Anthony Borrow added a comment -

          Here are a few screen shots showing before the patch, after the patch (Dongsheng's version), and one from my proposed (I'll attach the proposed patch in a minute). What I did not like about Dongsheng's patch is that it added the green advanced asterisks to each of the options and this appeared too busy/cluttered to me and was inconsistent with the other advanced options which are in a nice line down the page. What I have tried to do in my proposed patch is separate the after and before dates and have the never included next to its before date buddy. To do this I just added a static element with a line break. I'm not sure if there is a better or cleaner way to do this (I suspect there is). But it gave me the desired looked. In terms of code readability I thought having the extra $head variable was unnecessary and possibly confusing. In addition, by separating the elements we have unnecessary white space which wastes the screen real estate. Peace - Anthony

          Show
          Anthony Borrow added a comment - Here are a few screen shots showing before the patch, after the patch (Dongsheng's version), and one from my proposed (I'll attach the proposed patch in a minute). What I did not like about Dongsheng's patch is that it added the green advanced asterisks to each of the options and this appeared too busy/cluttered to me and was inconsistent with the other advanced options which are in a nice line down the page. What I have tried to do in my proposed patch is separate the after and before dates and have the never included next to its before date buddy. To do this I just added a static element with a line break. I'm not sure if there is a better or cleaner way to do this (I suspect there is). But it gave me the desired looked. In terms of code readability I thought having the extra $head variable was unnecessary and possibly confusing. In addition, by separating the elements we have unnecessary white space which wastes the screen real estate. Peace - Anthony
          Hide
          Anthony Borrow added a comment -

          Here is a diff file for what I'm proposing for the UI. Peace - Anthony

          Show
          Anthony Borrow added a comment - Here is a diff file for what I'm proposing for the UI. Peace - Anthony
          Hide
          Milan Jaros added a comment -

          Hi. I did patch but it seems that filter is not working. So, it is added but users aren't filtered. Maybe I did some mistake. Just tell me if it is working for you. Thank you for your workaround.
          With regards, Milan.

          Show
          Milan Jaros added a comment - Hi. I did patch but it seems that filter is not working. So, it is added but users aren't filtered. Maybe I did some mistake. Just tell me if it is working for you. Thank you for your workaround. With regards, Milan.
          Hide
          Anthony Borrow added a comment -

          Milan - Thanks for your help with testing. First, which of the patch files attached to this issue did you use? If you could try to patch using the one I proposed and let me know what is not working. Can you attach a screenshot or two that demonstrates what should or should not be showing up? I'd be happy to work with you to make sure that it works for you. Peace - Anthony

          Show
          Anthony Borrow added a comment - Milan - Thanks for your help with testing. First, which of the patch files attached to this issue did you use? If you could try to patch using the one I proposed and let me know what is not working. Can you attach a screenshot or two that demonstrates what should or should not be showing up? I'd be happy to work with you to make sure that it works for you. Peace - Anthony
          Hide
          Dongsheng Cai added a comment -

          Hi, Anthony, I agree with your propose, the green asterisks should be removed

          Show
          Dongsheng Cai added a comment - Hi, Anthony, I agree with your propose, the green asterisks should be removed
          Hide
          Milan Jaros added a comment -

          Hello. It was just missunderstanding from my side. So everything is working pretty well.

          Show
          Milan Jaros added a comment - Hello. It was just missunderstanding from my side. So everything is working pretty well.
          Hide
          Rosario Carcò added a comment -

          Could we also implement a feature to find all users who are no longer participants of any course? So as to delete them not only if they did not access for a long time, but also if they simply are not participating in any course.

          Show
          Rosario Carcò added a comment - Could we also implement a feature to find all users who are no longer participants of any course? So as to delete them not only if they did not access for a long time, but also if they simply are not participating in any course.
          Hide
          Anthony Borrow added a comment -

          Rosario - Thanks for your suggestion. It is a request that I have heard others mention; however, it is a separate feature request. Could you create a new tracker issue (unless one for this particular feature exists) that says something along the lines of:

          User filter: Allow filtering by those who are not enrolled as a particular role in any course other than the front page (i.e. site).

          For maximum flexibility, I think we should be able to see a drop down of the various roles and then perhaps select a context level (Site, Course Category, Course). I think it would be helpful to make it either a positive or negative selection so that you can get all the teachers across the site and perhaps even an option to include or exclude the front page. This seems worth discussing on the forums as well to see what would be most useful for folks.

          Peace - Anthony

          Show
          Anthony Borrow added a comment - Rosario - Thanks for your suggestion. It is a request that I have heard others mention; however, it is a separate feature request. Could you create a new tracker issue (unless one for this particular feature exists) that says something along the lines of: User filter: Allow filtering by those who are not enrolled as a particular role in any course other than the front page (i.e. site). For maximum flexibility, I think we should be able to see a drop down of the various roles and then perhaps select a context level (Site, Course Category, Course). I think it would be helpful to make it either a positive or negative selection so that you can get all the teachers across the site and perhaps even an option to include or exclude the front page. This seems worth discussing on the forums as well to see what would be most useful for folks. Peace - Anthony
          Hide
          Jonathan Harker added a comment -

          I have successfully implemented this patch for one of our clients - it seems to work well. Cheers - J.

          Show
          Jonathan Harker added a comment - I have successfully implemented this patch for one of our clients - it seems to work well. Cheers - J.
          Show
          Jonathan Harker added a comment - Relevant commit is http://git.catalyst.net.nz/gitweb?p=moodle-r2.git;a=commit;h=d630e2a2277a80e8390262b20ab888eaf07a6b7f
          Hide
          Anthony Borrow added a comment -

          Jonathan - Thanks for testing and reporting back on the patch. Glad to hear it worked well. Peace - Anthony

          Show
          Anthony Borrow added a comment - Jonathan - Thanks for testing and reporting back on the patch. Glad to hear it worked well. Peace - Anthony
          Hide
          Dongsheng Cai added a comment -

          Hi, Anthony

          We have got 35 votes for this issue, can we load this patch to cvs?

          Dongsheng Cai

          Show
          Dongsheng Cai added a comment - Hi, Anthony We have got 35 votes for this issue, can we load this patch to cvs? Dongsheng Cai
          Hide
          Anthony Borrow added a comment -

          I went ahead and added my vote, so you certainly have my +1 Peace - Anthony

          Show
          Anthony Borrow added a comment - I went ahead and added my vote, so you certainly have my +1 Peace - Anthony
          Hide
          Dongsheng Cai added a comment -

          checked in, please review, thanks a lot everyone

          Show
          Dongsheng Cai added a comment - checked in, please review, thanks a lot everyone
          Hide
          Helen Foster added a comment -

          Dongsheng, thanks for checking in this improvement. However, when I tested it I found I couldn't select the 'Never included' checkbox unless the 'is before' checkbox was selected first. Is this intentional? It doesn't seem so user-friendly to me. I'm just reopening the issue and hoping it can be made more user-friendly.

          Having selected the 'is before' checkbox and then the 'Never included' checkbox, if I then unselected the 'is before' checkbox I found that the 'Never included' checkbox was greyed out and so impossible to unselect.

          Regarding the lang string 'Never included', I found the phrase confusing. Why not simply 'Never'?

          Show
          Helen Foster added a comment - Dongsheng, thanks for checking in this improvement. However, when I tested it I found I couldn't select the 'Never included' checkbox unless the 'is before' checkbox was selected first. Is this intentional? It doesn't seem so user-friendly to me. I'm just reopening the issue and hoping it can be made more user-friendly. Having selected the 'is before' checkbox and then the 'Never included' checkbox, if I then unselected the 'is before' checkbox I found that the 'Never included' checkbox was greyed out and so impossible to unselect. Regarding the lang string 'Never included', I found the phrase confusing. Why not simply 'Never'?
          Hide
          Ray Lawrence added a comment -

          Agree with Helen.

          I've just looked at this and it's far from intuitive.

          Not logged in is a single issue. Why isn't this a single checkbox?

          (I'm looking at 1.9.7+ (Build: 20091223))

          Show
          Ray Lawrence added a comment - Agree with Helen. I've just looked at this and it's far from intuitive. Not logged in is a single issue. Why isn't this a single checkbox? (I'm looking at 1.9.7+ (Build: 20091223))
          Hide
          Anthony Borrow added a comment -

          Helen - When I initially proposed the change it was to increase the functionality with minimal coding. The basic idea was that we would provide an option to include never in the before search. So the string was intended to make it clear that we were modifying the before search to include never as well as any other results that meet the before conditions. By just using never as the string it may not be as clear as to what is happening and what the check box modifies. Perhaps someone could work up an improved UI mockup that maintains the functionality. Peace - Anthony

          Show
          Anthony Borrow added a comment - Helen - When I initially proposed the change it was to increase the functionality with minimal coding. The basic idea was that we would provide an option to include never in the before search. So the string was intended to make it clear that we were modifying the before search to include never as well as any other results that meet the before conditions. By just using never as the string it may not be as clear as to what is happening and what the check box modifies. Perhaps someone could work up an improved UI mockup that maintains the functionality. Peace - Anthony
          Hide
          David Mudrak added a comment -

          "Include users with no access ever" ?

          Show
          David Mudrak added a comment - "Include users with no access ever" ?
          Hide
          Lori Davies added a comment -

          There appears to be a bug with the existing filter setup (let me know if I should create a new tracker item on this). I set up a filter where the last login was before 04/15/2008 (two years ago today which should be before any students were enrolled) and clicked the "Never" checkbox. I have users showing up who have logged in within the past 24 hours. I'll attach a screenshot as well.

          Show
          Lori Davies added a comment - There appears to be a bug with the existing filter setup (let me know if I should create a new tracker item on this). I set up a filter where the last login was before 04/15/2008 (two years ago today which should be before any students were enrolled) and clicked the "Never" checkbox. I have users showing up who have logged in within the past 24 hours. I'll attach a screenshot as well.
          Hide
          Lori Davies added a comment -

          Filter showing users who's last access was within 24 hours, when filter was set to only show users who's last access is at least 2 yars old or never.

          Show
          Lori Davies added a comment - Filter showing users who's last access was within 24 hours, when filter was set to only show users who's last access is at least 2 yars old or never.
          Hide
          Anthony Borrow added a comment -

          Since this issue has been re-opened, I just want to make sure that the functionality requested in MDL-19190 and MDL-19412 which are listed as duplicates of this issue are in fact included before the issue is re-closed. That is to say there should be an option to search for users not associated with any particular course (i.e. search all site users). Peace - Anthony

          Show
          Anthony Borrow added a comment - Since this issue has been re-opened, I just want to make sure that the functionality requested in MDL-19190 and MDL-19412 which are listed as duplicates of this issue are in fact included before the issue is re-closed. That is to say there should be an option to search for users not associated with any particular course (i.e. search all site users). Peace - Anthony
          Hide
          Brent Lee added a comment -

          Anthony,

          Which of the many patches will allow use to use Bulk User Actions to select Students across an entire instance? This is becoming a challenge for us at this time, prior to classes starting.

          Do you know if these are going into CVS?

          --Brent.

          Show
          Brent Lee added a comment - Anthony, Which of the many patches will allow use to use Bulk User Actions to select Students across an entire instance? This is becoming a challenge for us at this time, prior to classes starting. Do you know if these are going into CVS? --Brent.
          Hide
          Anthony Borrow added a comment -

          Brent - I am going to let Dongsheng handle answering this. I would like to see this added to the next developer sprint so that this can be resolved. It has been a while since I have looked at the code. If no one responds in a week - just let me know and I will try to go in and have another look. Peace - Anthony

          Show
          Anthony Borrow added a comment - Brent - I am going to let Dongsheng handle answering this. I would like to see this added to the next developer sprint so that this can be resolved. It has been a while since I have looked at the code. If no one responds in a week - just let me know and I will try to go in and have another look. Peace - Anthony
          Hide
          Brent Lee added a comment -

          Thanks Anthony. Dongsheng, can you also indicate if this patch will work with 2.1. I am just rolling systems to 2.1 this coming week.

          Show
          Brent Lee added a comment - Thanks Anthony. Dongsheng, can you also indicate if this patch will work with 2.1. I am just rolling systems to 2.1 this coming week.
          Hide
          Brent Lee added a comment -

          http://screencast.com/t/ecmNJrGJRTbv – Can someone tell me a quick hack for this for now?

          Show
          Brent Lee added a comment - http://screencast.com/t/ecmNJrGJRTbv – Can someone tell me a quick hack for this for now?
          Hide
          Brent Lee added a comment -

          Good Morning,

          Any updates on this one?

          http://screencast.com/t/ecmNJrGJRTbv – Looking for a way to find all students in the system. This is currently not possible.

          Cheers,

          brent.

          Show
          Brent Lee added a comment - Good Morning, Any updates on this one? http://screencast.com/t/ecmNJrGJRTbv – Looking for a way to find all students in the system. This is currently not possible. Cheers, brent.
          Hide
          Helen Foster added a comment -

          Good question Brent! The issue has been open a long time, and I'm wondering whether a new issue clarifying exactly what's to be done should be created.

          Adding Michael, our dev manager at Moodle HQ, as a watcher, for his guidance.

          Show
          Helen Foster added a comment - Good question Brent! The issue has been open a long time, and I'm wondering whether a new issue clarifying exactly what's to be done should be created. Adding Michael, our dev manager at Moodle HQ, as a watcher, for his guidance.
          Hide
          Brent Lee added a comment -

          Thanks Helen.

          I will create a new issue. I think that this may become an issue for many more as the school year beings.

          E.g. If an Admin wants to email all "Students" in an instance, not course specific, but all Students, they may begin to shake their fists

          I know that we were able to do this in 1.9, but in 2.1.1 I cannot do this.

          Currently, I am able to extract this query directly from the DB by role, its a painful thing to do.

          Show
          Brent Lee added a comment - Thanks Helen. I will create a new issue. I think that this may become an issue for many more as the school year beings. E.g. If an Admin wants to email all "Students" in an instance, not course specific, but all Students, they may begin to shake their fists I know that we were able to do this in 1.9, but in 2.1.1 I cannot do this. Currently, I am able to extract this query directly from the DB by role, its a painful thing to do.
          Hide
          Dirk Meyer added a comment -

          This is critical to us as we have become accustomed to sending messages based on role.

          Show
          Dirk Meyer added a comment - This is critical to us as we have become accustomed to sending messages based on role.
          Hide
          Brent Lee added a comment -

          We are hoping this is high in the queue before September 6th.

          Show
          Brent Lee added a comment - We are hoping this is high in the queue before September 6th.
          Hide
          Michael de Raadt added a comment -

          I'll see if we can give this issue some love in the next sprint.

          Show
          Michael de Raadt added a comment - I'll see if we can give this issue some love in the next sprint.
          Hide
          Mary Cooch added a comment -

          +1 (or however many!) from me too

          Show
          Mary Cooch added a comment - +1 (or however many!) from me too
          Hide
          Dongsheng Cai added a comment -

          Re-assign this to Rajesh, Thanks!

          Show
          Dongsheng Cai added a comment - Re-assign this to Rajesh, Thanks!
          Hide
          Helen Foster added a comment -

          Hmm, this issue has become very long and confusing, with issues linked and marked as duplicate which are not really duplicates.

          I think it was a mistake for me to reopen it so I'm closing it (with original fix version of 1.9.8) since, according to the issue summary 'Bulk user actions should include a filter option to select users who have never logged in', it has been fixed.

          I will then create a new issue for suggested improvements to the 'selecting users who have never logged in' functionality and will also sort out the duplicates-which-are-not-really-duplicates issues to hopefully clear up all the confusion!

          Show
          Helen Foster added a comment - Hmm, this issue has become very long and confusing, with issues linked and marked as duplicate which are not really duplicates. I think it was a mistake for me to reopen it so I'm closing it (with original fix version of 1.9.8) since, according to the issue summary 'Bulk user actions should include a filter option to select users who have never logged in', it has been fixed. I will then create a new issue for suggested improvements to the 'selecting users who have never logged in' functionality and will also sort out the duplicates-which-are-not-really-duplicates issues to hopefully clear up all the confusion!
          Hide
          Helen Foster added a comment -

          Thanks to all participants for your comments and thanks to all watchers for your interest in this issue

          I've created MDL-29244 for improving this functionality. Please feel free to comment / watch / vote for it!

          Show
          Helen Foster added a comment - Thanks to all participants for your comments and thanks to all watchers for your interest in this issue I've created MDL-29244 for improving this functionality. Please feel free to comment / watch / vote for it!
          Hide
          Helen Foster added a comment -

          I've reopened MDL-19190 as finding users without a role (apart from authenticated user) is not the same as finding users who have never logged in.

          Recent comments in this issue seem to be about the bulk user actions role menus no longer including 'Teacher' and 'Student' i.e. MDL-27673.

          If either MDL-19190 and/or MDL-27673 matter to you, please do watch / comment / vote for them.

          Show
          Helen Foster added a comment - I've reopened MDL-19190 as finding users without a role (apart from authenticated user) is not the same as finding users who have never logged in. Recent comments in this issue seem to be about the bulk user actions role menus no longer including 'Teacher' and 'Student' i.e. MDL-27673 . If either MDL-19190 and/or MDL-27673 matter to you, please do watch / comment / vote for them.

            People

            • Votes:
              48 Vote for this issue
              Watchers:
              15 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: