New users not in the members list

Added by Curtis Stewart about 8 years ago

I have been using Redmine for over 18 months and I have never seen a problem like this.

New users (the last 6 according to the users table) do not show up in the members list on the project settings. They can be queried using the search field and added to a project that way (so the ajax is working), but do not show up in the users list.
We only have 175 users so I would not think it is related to quantity.

I have checked several different project and they all show the same list of available users (missing those 6 users). I can seen them fine from the list of user under administration.

A couple of the users self registered while a couple others were added using the "New User" screen.

This is the only message that I can see in the logs.

-------

Processing UsersController#add (for 134.20.59.27 at 2009-09-08 11:36:28) [POST]
Parameters: {"commit"=>"Create", "send_information"=>"1", "password_confirmation"=>"[FILTERED]", 
"action"=>"add", "controller"=>"users", "user"=>{"admin"=>"0", 
"language"=>"en", "mail"=>"xxx.xxxxx@xxx.xxx", "lastname"=>"Xxxxxxx", "firstname"=>"Xxxx", 
"login"=>"xxxxxx", "auth_source_id"=>""}, "password"=>"[FILTERED]"}
Redirected to actionlist
Completed in 82ms (DB: 11) | 302 Found [http://dcprd02/users/new]


------------------

No messages were displayed on the screen. I am at a loss at what to check next.

Any ideas would be appreciated.

--------------
Redmine 0.8.0.devel.2778 (MySQL)
Ruby version 1.8.7 (x86_64-linux)
RubyGems version 1.3.1
Rails version 2.2.2
Active Record version 2.2.2
Action Pack version 2.2.2
Active Resource version 2.2.2
Action Mailer version 2.2.2
Active Support version 2.2.2
Application root
Environment production
Database adapter mysql
Database schema version 20090503121510

Replies (10)

RE: New users not in the members list - Added by Eric Davis about 8 years ago

What are their user states? Have they activated or are they pending activation?

Eric Davis

RE: New users not in the members list - Added by Curtis Stewart about 8 years ago

I appreciate your response. I know this does not make any sense.

They are all status 1. They can login and update tasks and work as normal. It is just they do not show up in the list of "New Members" available in the setting screen for a project.

I have copied (and edited) the lines below from the database table Users. Id 106268 shows up in the list of "New Members". Id 106269 does not. Neither is in that project. If I do a search I can add them. I added 106269 to the project and removed him with no impact.

id login firstname lastname mail mail_notification admin status last_login_on language auth_source_id created_on updated_on type identity_url
106268 xxxxxx Xxxxxxxxx Xxxxxxxx 0 0 1 2009-08-20 09:41:20 en 2009-08-06 09:03:59 2009-08-20 09:41:20
106269 yyyyyy Yyyy Yyyyyyyy 0 0 1 2009-08-10 14:18:52 en 2009-08-10 14:16:41 2009-09-08 12:25:54

RE: New users not in the new members list under project settings. - Added by Curtis Stewart about 8 years ago

I just added 10 more users to the system and none of them show up in the "New member" panel under the settings/members tab.

Is there an item in the code that would limit the number of users displayed in this list? I just cannot see why one user shows up and another does not.

Does anyone know the query that is performed to get the list under "New members" or how to find it?

Thanks

RE: New users not in the members list - Added by Curtis Stewart about 8 years ago

I upgraded to the latest trunk version 2903 and the problem went away.

The new users are listed. It is hard to find them in the sort order, but they are there.

Thanks.
Curt

RE: New users not in the members list - Added by Marc Mengel almost 7 years ago

I'm seeing the same behavior on my site; running Redmine 1.0.1.
It's as if what shows up in the membership list got frozen at some point...

RE: New users not in the members list - Added by Marc Mengel almost 7 years ago

Hmm..

Okay, so If I start typing in a users name, after a second the list shrinks
to matches of that name, and later ones appear...

Ahhh... I seee..... in app/controllers/members_controller.rb:

def autocomplete_for_member
@principals = Principal.active.like(params[:q]).find(:all, :limit => 100) - @project.principals
render :layout => false
end

The @principals list is from a search limited to 100; hence the later
users aren't included until some amount of a match is entered...
I wonder if the list should be empty until they start typing in the box;
so that it's clear the list is a search result. When the list is present,
project admins tend to believe its an exhastive list, and that users they
want to add aren't in the system yet.,,

RE: New users not in the members list - Added by Leo Hourvitz over 6 years ago

I want to reinforce Marc's comment; we're having a number of problems with this feature. We have about 165 users registered in Redmine and any number of project managers, each mostly concerned with their own project. Here the problems we've encountered with the current behavior.

  1. The current behavior led my users (myself included) to think the list is complete. Once you grow past 100 users, it isn't, even if your project has far fewer than 100 users, because the limit applies before the current users are removed. Because there's no indication that the list is only a partial list, the project managers (who thankfully manage their own project members) got very confused.
  2. Even once you find this article and realize the list is only partial, it's painful to manage your list at that point because searching for a user eliminates other users. Let's say I have 20 people I want to add to my list. I use type-to-match to find the first user, then check the box next to their name. Then I type the next users' name. Oops, the box I already checked goes away. My only choice is to add users one-by-one, but of course it's exactly when your site is large that managing users one-by-one is most painful.

I believe any of the below options would be a considerable improvement for our users.

  1. Unlimit the search. This of course gives you a performance problem on the membership editing page as the list grows, but that's better than the inability for a project manager to handle their project. In the short term, this is what I've done on our site.
  2. Apply the limit only after backing out current members, so that the client browser load is limited. This really only delays the problem until your site grows some more.
  3. Have the list default to being empty and indicate via note or popup that a search is necessary. This addresses problem 1 but not problem 2.
  4. If the limit is hit, add a textual note that the list is incomplete. This would address problem 1 above, but not 2.
  5. Instead of replacing the list with the results of the Ajax query, do a merge on the client side and keep any results that are checked. This essentially addresses problem 2 but not 1.

RE: New users not in the members list - Added by Marc Mengel over 6 years ago

Leo,

Could you post the patch for unlimiting the user list?

RE: New users not in the members list - Added by Leo Hourvitz over 6 years ago

Sure, here's the diff against my Redmine 1.1 from svn. Basically just remove the ", :limit => 100" from the next-to-last line of app/controllers/members_controller.rb. It really will make these pages heavy to load if you have 10,000 users...

% svn diff members_controller.rb
Index: members_controller.rb ===================================================================
--- members_controller.rb (revision 4887)
+++ members_controller.rb (working copy)
@ -93,7 +93,7 @
end

def autocomplete_for_member
- @principals = Principal.active.like(params[:q]).find(:all, :limit => 100) - @project.principals
+ @principals = Principal.active.like(params[:q]).find(:all) - @project.principals
render :layout => false
end

RE: New users not in the members list - Added by Anthony Paul about 6 years ago

I've just noticed this...
Is there any chance that any of the solutions proposed by Leo would be implemented in a next release?

Thanks Leo and Marc!

(1-10/10)