Uploaded image for project: '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

      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

        Gliffy Diagrams

        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
            aborrow 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
            aborrow 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
            aborrow 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
            aborrow 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
            aborrow 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
            aborrow 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
            dougiamas Martin Dougiamas added a comment -

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

            Show
            dougiamas Martin Dougiamas added a comment - 18 votes, with a patch - seems like a good thing to add!
            Hide
            dougiamas 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
            dougiamas 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 Dongsheng Cai added a comment -

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

            Show
            dongsheng Dongsheng Cai added a comment - I modified the UI a little bit, not sure if it is good
            Hide
            aborrow 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
            aborrow 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
            aborrow Anthony Borrow added a comment -

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

            Show
            aborrow Anthony Borrow added a comment - Here is a diff file for what I'm proposing for the UI. Peace - Anthony
            Hide
            milan.jaros 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 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
            aborrow 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
            aborrow 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 Dongsheng Cai added a comment -

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

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

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

            Show
            milan.jaros Milan Jaros added a comment - Hello. It was just missunderstanding from my side. So everything is working pretty well.
            Hide
            carco 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
            carco 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
            aborrow 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
            aborrow 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 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 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 Jonathan Harker added a comment - Relevant commit is http://git.catalyst.net.nz/gitweb?p=moodle-r2.git;a=commit;h=d630e2a2277a80e8390262b20ab888eaf07a6b7f
            Hide
            aborrow Anthony Borrow added a comment -

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

            Show
            aborrow 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 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 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
            aborrow Anthony Borrow added a comment -

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

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

            checked in, please review, thanks a lot everyone

            Show
            dongsheng Dongsheng Cai added a comment - checked in, please review, thanks a lot everyone
            Hide
            tsala 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
            tsala 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 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 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
            aborrow 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
            aborrow 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
            mudrd8mz David Mudrak added a comment -

            "Include users with no access ever" ?

            Show
            mudrd8mz David Mudrak added a comment - "Include users with no access ever" ?
            Hide
            lholden 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
            lholden 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
            lholden 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
            lholden 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
            aborrow 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
            aborrow 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
            leebrent 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
            leebrent 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
            aborrow 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
            aborrow 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
            leebrent 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
            leebrent 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
            leebrent Brent Lee added a comment -

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

            Show
            leebrent Brent Lee added a comment - http://screencast.com/t/ecmNJrGJRTbv – Can someone tell me a quick hack for this for now?
            Hide
            leebrent 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
            leebrent 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
            tsala 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
            tsala 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
            leebrent 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
            leebrent 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
            dirkca Dirk Meyer added a comment -

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

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

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

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

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

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

            +1 (or however many!) from me too

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

            Re-assign this to Rajesh, Thanks!

            Show
            dongsheng Dongsheng Cai added a comment - Re-assign this to Rajesh, Thanks!
            Hide
            tsala 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
            tsala 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
            tsala 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
            tsala 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
            tsala 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
            tsala 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:
                  Fix Release Date:
                  25/Mar/10