Page MenuHomePhabricator

Support creation of temporary users when anonymous ones reach the mobile/desktop editors in Content Translation
Open, MediumPublic

Description

As part of the work to support temporary accounts in Content Translation (T345252), this ticket proposes to provide support for the transition of anonymous users into temporary accounts.

We want to support the creation of temporary users when anonymous ones reach the mobile and desktop editors.

Considerations:

  • We want to control how much we expose this feature. There is already a parameter used to block anonymous users, that can still be used for allowing per-community config
    • Initially anonymous users will continue to be unable to make translations (as in current state).
    • Support for annonymous to be converted to temporary accounts can be enabled/disabled for specific wikis based on their requests and/or data indicating the impact on content creation/quality.
  • With the conversion at the editor point, we need to design the experience for anonymous previous to that point since there are features we cannot support as we do for regular users (e.g., saving suggestions for later). A separate ticket will provide support for informing users and adjusting unavailable features, but this may be relevant to keep in mind as the technical solution is developed in this ticket.

Some additional details from the initial exploration (T345253):

Section Translation UI and its core API endpoints ("sxsave" for auto-saving, and "cxpublishsection" for publishing) can properly handle temp users the same way, they are treating named users. As far as our application is concerned, there is no difference between temp and named users, since temp users have a global user id which is what we require from a user.

On the other hand, this is not the case for anonymous users, as we would need to make some adjustments if we want to support them.

[...] we can easily support anon. users, by creating a temporary user and starting a new session for this temp user, during auto-save requests. Then, the user will be treated as temp user, which is equivalent to named user as far as SX is concerned.