‘대체’ 사용자 이름, 아니면 별칭?

Not sure if this is the best category, sorry if it’s not.

Our users have a bit of an odd request from anything I’ve ever seen before. Basically, they want to have specific categories to allow them to run writing contests in. They want to create ‘alias’ or ‘alternate’ usernames that are used automatically when they post in a topic, and at a certain time, have those alternate usernames ‘unmask’ to reveal what their ‘parent’ username is after a certain trigger (manually, or by a certain time/date). I know admins have the ability to impersonate users (in a way), and the system can automatically create anonymous usernames, so it seems like there might at least be hints toward supporting this kind of functionality? Users can select to enter anonymous mode, what about selecting to post as their ‘other’ username?

Why can’t the users to register new alt accounts? I don’t know. I asked the same thing. I’m just asking you guys what they asked me. I think they see this extra step of having to register a new alternate account (because for each contest, they have to post as a different user for the duration of the contest) as annoying. They don’t want to deal with multiple logins. :man_shrugging:

1개의 좋아요

Anonymous mode might be good for this. It isn’t automatic, but it gives users an anonymous alt they can easily switch between without logging out.

The other features sound very specific to your site’s use, so it’s not likely something we’d implement. You’d need a custom plugin.

4개의 좋아요

Yeah I’m aware of anonymous mode, and the users have rejected this as an option. They want to be able to enter certain categories and have all posts made in that category automatically be from their “pseudonym,” or alternate username. They want to be able to create these because they like coming up with fun names and stuff.

It seems that the logic to do this is somewhere in the codebase, I just don’t know where. I’m thinking I’d need to find the part of Discourse that’s responsible for creating usernames, and expose that as an option in their profile settings, giving them the ability to define a pseudonym (similar to how they can input their name, or handle). Then, when they’re in certain categories, all posts made show up as being authored by this pseudonym.

1개의 좋아요

A workaround could be if it was possible to enter a “full name” for your “anonymous account”. I guess the “anon123” is the nickname. If it were possible to add a full name somewhere in the preferences, that you could change, that would do pretty much what you need. You would have to convince the team to do that, or see if someone can do it for you (plugin ?)

Or, something far more simple: Your users do have an idea in mind. But if you actually manage to convince them that they can still choose a name and use it to sign their post (inside the post) and/or put the name at the beginning of the post, the anonymous mode works as it is.

1개의 좋아요

If you’re not concerned that people could cheat by looking in the javascript stuff, you could conceivably do this with a theme component. You’d just have it hide the username stuff in that topic when it was game time. People could look at the json load and see who was who, though.

1개의 좋아요

Until the duration for the account ends and a new one is created. Is a setting was made so a user can keep their anonymous accounts pernamently.

2개의 좋아요

Yeah this would work. Cheating wouldn’t be a concern. How would you do this?

1개의 좋아요

Something like this:

.category-support .topic-meta-data {
    display: none;
}

That will hide the username bit. You’d need to do some more work to hide the avatars.

1개의 좋아요

Ah I see. But that doesn’t solve the problem of allowing users to create their own alias.

3개의 좋아요

No, this would make everyone be anonymous until the reveal.

To give people an alternate ego, it’d be more complicated. I guess you could use a custom user field and maybe be able to insert them? Or it might take a plugin.

2개의 좋아요

I’m thinking the way to do it would be to create a field, like how Real Name is implemented, then when posting, hide all but that element? But surely you’d have to enable this as a plugin so you can control which categories this behavior is enabled in?

EDIT: well no, you could use CSS to do this (hide all but the alias)?

EDIT2: my users have rejected this idea, since clicking on the name would take you to the user profile and you’d see the rest of the elements and know, so they want anonymity more strictly enforced.

2개의 좋아요

@dmitry_fedyuk do you have any thoughts on this? It looks like you were close when you wrote the Real Name plugin

1개의 좋아요

So this will work for us with the current implementation of anonymous mode provided that users can change their profile name, but it looks like when you enter anonymous mode, you can’t change your profile name. Anyone know how to fix this?

EDIT:
Okay, so it looks like anon users USED to be able to change this, but it was ‘fixed’ here:
https://github.com/discourse/discourse/commit/5c795bc48004d1fe7b3a4662ec391ca6cec815c1

Is there a local setting or file somewhere running that I can change? Searching for the file ‘user_guradian.rb’ yields a bunch of Docker stuff:

leigh@ip-10-0-1-36:/var/discourse$ sudo find / -name user_guardian.rb 
/var/lib/docker/overlay2/f62c3c9258dac2925fbc591af67f3bcd3518fb96e668a3ffc94e7fd4fca35f39/diff/var/www/discourse/lib/guardian/user_guardian.rb
/var/lib/docker/overlay2/563d960aacb7f28cec7c4b9886236f8f247591d5f73d5f92e265f9d77f2a5445/diff/var/www/discourse/lib/guardian/user_guardian.rb
/var/lib/docker/overlay2/ecc385f4fb621a8a3c3008a351c217b5a91ec420b80db237c8c14ba2e241d038/diff/var/www/discourse/lib/guardian/user_guardian.rb
/var/lib/docker/overlay2/eeb535fc00ee34dcc9f7e4fb4047e7d8a23141ac4c8f6468cdbdbf3d14d3a1ad/diff/var/www/discourse/lib/guardian/user_guardian.rb
/var/lib/docker/overlay2/bb114e9baa39415ec62c47e933c8eab85c1e278d79f072949584abfd0040f45a/diff/var/www/discourse/lib/guardian/user_guardian.rb
/var/lib/docker/overlay2/673e87a4d858d683f27c06edaf729bca82e6e042e0318bb15190fb330f4d8031/diff/var/www/discourse/lib/guardian/user_guardian.rb
/var/lib/docker/overlay2/e1b2c1576c7154af9291434dfb8dad195d997cd3aadd5c67ef545096311c7107/diff/var/www/discourse/lib/guardian/user_guardian.rb
/var/lib/docker/overlay2/ea0d7890bdcd81546dcae4353d2f0af63a01f50e2f385db5e624a48602b39879/diff/var/www/discourse/lib/guardian/user_guardian.rb
/var/lib/docker/overlay2/e9ef214eafac6b3a32379100fb36a3698a590390e32cf16c4155ea82cc8d8841/diff/var/www/discourse/lib/guardian/user_guardian.rb
/var/lib/docker/overlay2/d23bb55087cbe07d9f9dc4632fa2525c3c9d1ebb4f51f1b1c4f843bf8dec37b5/diff/var/www/discourse/lib/guardian/user_guardian.rb
/var/lib/docker/overlay2/259256e9a8215361c8d471f64a949958e628edba94d2e6591d7ef8abc75c927a/diff/var/www/discourse/lib/guardian/user_guardian.rb
/var/lib/docker/overlay2/d1411fa7a8680d0cc5d40aa3075c5ac7d5950e82e7dea0a534110190b860e849/merged/var/www/discourse/lib/guardian/user_guardian.rb
/var/lib/docker/overlay2/1234accbd49100b334889bc47b23ac0c64dab34c4985101c3e0e269e823babd7/diff/var/www/discourse/lib/guardian/user_guardian.rb
/var/lib/docker/overlay2/7962d862842f2a8c2925c863a1533d5920db238e160c234de0251d3f9665a5d2/diff/var/www/discourse/lib/guardian/user_guardian.rb
/var/lib/docker/overlay2/dab289af1e1cb737816ca9159f527c32c967b37005b610c9a6a0203ea1c608d8/diff/var/www/discourse/lib/guardian/user_guardian.rb
/var/lib/docker/overlay2/bc09dc89afd8921a5f0d5e5986d912827c73358b570a3c8c3da72fa2b58198b0/diff/var/www/discourse/lib/guardian/user_guardian.rb
/var/lib/docker/overlay2/282f26acb8ef45bdee1d3decfa7e17e4c88aa9072c19aa976e4c33f5d9caad03/diff/var/www/discourse/lib/guardian/user_guardian.rb
/var/lib/docker/overlay2/d5f9c17847317ee6b4a1702946fe4efd9b369385afcdc0deafff2a256c733c8f/diff/var/www/discourse/lib/guardian/user_guardian.rb
/var/lib/docker/overlay2/becf6ebe2a176238f8ab7ae735e6b07e32103d3e9144121c13597e5a3021248c/diff/var/www/discourse/lib/guardian/user_guardian.rb
/var/lib/docker/overlay2/55dc00aca76400b4c6d7642e2c991994da5b98e8abc39d8e4763ce03ee897219/diff/var/www/discourse/lib/guardian/user_guardian.rb
/var/lib/docker/overlay2/f35b9cc8f45c891dfe7f895e60706d6037780498a85c663f4f9ab93126c310ae/diff/var/www/discourse/lib/guardian/user_guardian.rb
/var/lib/docker/overlay2/8af8eca6f96f76652ca557dff3fb98e5644b842d02a650b26aebe2415c839687/diff/var/www/discourse/lib/guardian/user_guardian.rb
/var/lib/docker/overlay2/78b2656a2b932c19c926feb1ae737fe8460e15854bfac6d036e0ec3a2316b38a/diff/var/www/discourse/lib/guardian/user_guardian.rb
/var/lib/docker/overlay2/87b4eff503dba027e92d09544d9dea603fd4bafcf15f7bb08b41ed4a4f4f58e5/diff/var/www/discourse/lib/guardian/user_guardian.rb
/var/lib/docker/overlay2/d12aa1b6fba07aaeb889379338a87644cabd74f31a48d6650834065d9993b7cf/diff/var/www/discourse/lib/guardian/user_guardian.rb
/var/lib/docker/overlay2/742ef3325b4e8768587c1fd4ba6b0c578ed2373a0a29a758bf96cd8165b9f855/diff/var/www/discourse/lib/guardian/user_guardian.rb
/var/lib/docker/overlay2/7d28921013c9077d83b8b92a9181617a4dab4648f5fc4df700afd20642b41332/diff/var/www/discourse/lib/guardian/user_guardian.rb
/var/lib/docker/overlay2/c376b69b3f312c28d6521271c6cb74b120060547aabfbbb1b451df30f82caea5/diff/var/www/discourse/lib/guardian/user_guardian.rb

I guess I could fork core and make these changes myself and then do my own install…? Surely there’s an easier way?

Ideally an admin could check/uncheck an option to allow/disallow anon users from changing these values. @maja do you have any thoughts on this?

1개의 좋아요

How many categories do you have where users will want to use alternate personas?

1개의 좋아요

A handful?
Anonymous Mode will work for this purpose, I just need to figure out how to let users edit their profile name from “anonymous123” to something they want. I found the commit where this was changed and it’s a configuration present in user_guardian.rb but I’m not sure how to override or change that without forking core. Ideally either a plugin enables this or a config setting.

2개의 좋아요

anonymous123 방식이 사용자에게 어색하고 혼란을 준다는 점에 공감합니다. 원래 사용 사례를 위해 'anonymous’로 통일하는 것(모든 사용자에게 하나의 이름 지정된 사용자를 제공하는 방식)을 제안했습니다.

이 방식의 기술적 한계에 대해서는 잘 이해하지 못하지만, 사용자가 '진짜 익명 사용자’가 누구인지, 아니면 각 숫자가 서로 다른 익명 사용자를 나타내는지 혼란스러워하는 점은 이해합니다.

모두가 익명이며 시스템이 자동으로 그렇게 동작하도록 설계되었다는 점을 사용자가 이해하지 못한 것일까요? 실제로 많은 사용자가 직접 숫자를 선택하여 새 계정을 등록하려고 시도하기도 했습니다.