User Card Directory

This theme component overhauls the /u user directory to display a grid of user cards instead of the stats table.

:eyeglasses: Preview on theme creator

:hammer_and_wrench: Git repo: https://github.com/discourse/discourse-user-card-directory

:thinking: How do I install a Theme or Theme Component?

:information_source: The required APIs were added to tests-passed on 6th March 2020, so make sure you have updated Discourse since then

Big thanks to @joebuhlig for discourse-biobook, which inspired this work. And also @angus @fzngagan and @alxpck for prompting the various core improvements we needed to make this achievable.

48 Likes

Great. Very delighted to see this one launched.

7 Likes

I love it. Thank you.

1 Like

Nice! The only weirdness I’m seeing is the website is showing twice on my site Nature Photographers Network

4 Likes

Excellent component!

Perhaps similar to the duplication that David mentioned, the location is shown twice when the Discourse Locations plugin is used.

Screen Shot 2020-03-16 at 2.17.07 PM

The first line in the screenshot above is from the Discourse profile location. The second is from the Locations plugin.

3 Likes

Thanks @omarfilip and @davidkingham. Looks to be a slight incompatibility with the locations plugin. Should be resolved now

BTW @davidkingham your /u page is blank for anonymous visitors… not sure exactly why - but I guess it is one of your plugins and/or themes.

9 Likes

This component doesn’t seem to work properly on the latest stable release … I don’t see any of the details on the user cards:

(That’s the Vincent theme shown, but I also tested it on plain vanilla Discourse with the same results.)

1 Like

Yes, unfortunately it’s only compatible with the latest tests-passed version of discourse

8 Likes

Ah, ok! Thanks for the clarification! (I missed the note about it in the OP :man_facepalming: )

4 Likes

Thanks this is beautiful and something I’ve been thinking about for a while. I know this is a theme component so not sure it changes any functionality, but asking anyways. Does this happen to enable users to search each other by their attributes?

For instance if a custom attribute for users is University Attended and a user wanted to find everyone who went to a particular school could they search for Stanford and have all the users pull up here? I saw this link that seemed to maybe imply that but having trouble interpreting it.

might be out of the scope, but i found this post linked on another one that seemed to be headed down that route.

Thanks & awesome work!

6 Likes

Hi @weallwegot,

Unfortunately not, this doesn’t add the ability to filter users by their metadata. It does add a group dropdown, so maybe that could work for you? You could have groups for each university, people could join those groups, and then they would appear in the dropdown

4 Likes

Awesome Theme Component - Though will need to wait for Discourse 2.5 roll out.

3 Likes

Hi, David
i have a confusion, when i use search or select a group, my personal user card always shows, whether i am in the group or not in.
can you help me,
how to remove my card if i’m not in the select group or i’m not the search name.

2 Likes

Ah okay. I see. I meant this link and @fzngagan’s PR, but i see it was declined.

The only thing with the groups approach you mentioned is I think it would put a lot of manual onus on the moderators/admin of the forum to put people in groups as they join or worse, as they update their profile.
I’m trying to think of a workaround. Perhaps if there was a way to automate the segmentation of users into groups by a custom attribute, dropdown though so its exact matches? Curious if you know of anything like that.
I’ll look around.

2 Likes

nice presentation, it’d be great if one could switch between different displays: grid and table.

also the “filter by group” string can not be translated. may you fix it?

2 Likes

@david

I setup your component on my local setup and results are amazing. Appreciate the efforts.

I noticed there’s a hidden site setting enable_new_user_card_route but it doesn’t seem to change the results here. Is the setting required for anything here?

1 Like

Nope, that setting is not required for this. It changes the route used for “normal” user cards, so that they’re much more efficient. We’ll be changing the default to true in the next few weeks.

I’ll update in this topic when it’s done: Changes to the user card data source

6 Likes