Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Finish implementing default stream groups #13670

Open
4 of 17 tasks
timabbott opened this issue Jan 14, 2020 · 8 comments
Open
4 of 17 tasks

Finish implementing default stream groups #13670

timabbott opened this issue Jan 14, 2020 · 8 comments

Comments

@timabbott
Copy link
Sponsor Member

timabbott commented Jan 14, 2020

Many larger organizations using Zulip for their chat server have multiple audiences that they are trying to serve. E.g. in our own organization, we have sysadmins using Zulip, developers contributing code, and students wanting to do programs like Google Summer of Code. Ideally, we'd be able to have the organization signup process offer a few choices for what default streams to join, with text something like this:

"""
What parts of this organization are you interested in?

  • Using Zulip (#user community, #design, #feedback)
  • Running a Zulip server (#production help, #user communiy)
  • Contributing to Zulip (#provision help, #development help, ...)
  • Python development (#backend, #integrations)
  • Frontend development (#design, #frontend, etc.)
  • Documentation and translations (#translating, #documentation)
    ...
    """

Users would be added to the "main" default streams set regardless (e.g. #announce), but additional streams would be included depending on which checkboxes the user selected during the signup flow.

I've talked to the people who run several large Zulip servers, and they're all fairly excited about this, so I think it's worth pursuing in the near term (I wrote this text for #6693 a few years ago, and it's still true today). A lot of the implementation was completed at the time, before the developer working on the frontend lost their work. This issue tracks the remaining work required to complete this feature in a beta fashion.

The feature is already essentially implemented on the backend:

  • The database model has a DefaultStreamGroup model.
  • There's an API for editing default streams that could be used by the webapp or an enterprising organization manually.
  • There's a flow for a new user selecting default stream groups during signup; I just fixed some blatant visual/UX issues with it while refreshing myself on the state of the issue.
  • Fix the linter issue that prevents merging register: Fix whitespace. #13672

These are required for this to be a properly polished non-alpha feature:

  • We should have a /help article that we can link to from the registration flow as well as the "default stream groups" settings page (and /for/open-source, perhaps).
  • The feature is currently not compatible with the LDAP authentication signup flow model that doesn't prompt the user with any questions. We'll need to address this in some way (even just as a warning) once we add a UI for editing these.
  • We may find it's a good idea to merge the DefaultStream model into the DefaultStreamGroup model as part of building a coherent UI for managing default streams with this feature present.
  • A UI for editing an organization's default stream groups. Potentially, it makes sense to have this overwrite/replace the existing "default streams" editing UI? In the meantime, interested organizations can create these via the Zulip API.
  • We should think about how we want to name, describe, and display the list of default streams in the registration flow. The current implementation is designed primarily with the goal of being passable. Feedback from end users on this question is appreciated.
  • Ideally, we'd prompt the user for streams in a separate (probably JS-only) visual page after they've accepted ToS/entered password/etc., but before we send their request to the server. This might be a fairly involved change to implement without creating weird input validation sequencing issues, but I think it's clearly something we'll want to do rather than having this extend the main registration form.

And then a few ideas that we may also want:

  • Having a way for normal users to view/subscribe to these groups after they join. We may want to look at Discord's "stream groups" feature for inspiration (someone mentioned it in a thread related to Support multiple groups of default streams #6693)

Here's a screenshot on the current UI following 8226573 (the whitespace issue is #13672):

image

@zulipbot
Copy link
Member

Hello @zulip/server-settings, @zulip/server-streams members, this issue was labeled with the "area: settings (admin/org)", "area: stream settings" labels, so you may want to check it out!

@wryonik
Copy link
Collaborator

wryonik commented Feb 26, 2020

@zulipbot claim

@zulipbot
Copy link
Member

zulipbot commented Mar 7, 2020

Hello @shubhamgupta2956, you have been unassigned from this issue because you have not updated this issue or any referenced pull requests for over 14 days.

You can reclaim this issue or claim any other issue by commenting @zulipbot claim on that issue.

Thanks for your contributions, and hope to see you again soon!

@wryonik
Copy link
Collaborator

wryonik commented Mar 8, 2020

@zulipbot still working on it.

@YashRE42
Copy link
Collaborator

YashRE42 commented Apr 4, 2020

@zulipbot claim

@YashRE42
Copy link
Collaborator

YashRE42 commented Apr 6, 2020

@zulipbot abandon

@m-e-l-u-h-a-n
Copy link
Member

m-e-l-u-h-a-n commented Dec 18, 2020

Hey @timabbott I went through the issue description, as well as issues, pull requests and code associated with it, and I think I can take upon this.
If you allow, then I would like to proceed in the following order:

  • Point-3: Merge the DefaultStream model into the DefaultStreamGroup model.
  • Point-4: UI for editing an organization's default stream groups.
    Will decide/discuss later on for rest of the points?

Also as suggested in the issue description about the changed ui while user registration, I could not see such suggestions for stream groups(while trying to register in development mode) there were regular options for setting Full name and password, is it not merged yet?
I listed above order of worker according to ease(for me) and familiarity with codebase, I am waiting for your approval(to work on it) and suggestions(as always 😄 )...

@timabbott
Copy link
Sponsor Member Author

This issue's technical design is likely obsoleted by #19525; we should focus work in this area on the pieces of #19525 and then get back to this.

@alya alya removed the help wanted label Jun 8, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

6 participants