PostHog / meta

This is a place to discuss non-product issues in public.
MIT License
18 stars 4 forks source link

RFC: First-class environments #176

Closed Twixes closed 8 months ago

Twixes commented 10 months ago

We've been putting this off for a long time.

Related issues:

Twixes commented 10 months ago

Idea from talking with @mariusandra: repurpose test accounts filter.

annikaschmid commented 8 months ago

I just reviewed this second draft. Great work including all the additional customer feedback, makes it much easier to have an opinion on the proposed solution.

Here are a couple of assumptions I would make based on the proposed solution, let me know if there is anything I got wrong:

One thing I initially struggled with in the original proposal was that it wasn't clear to me if by default, all dashboards and insights would be available in all environments. This might be something users wouldn't want, e.g. the company that uses projects to provide a similar setup for multiple companies (they might have some dashboards and not others available for certain companies)

What is now clear in this revised edition is that a entity is by default available in one environment only, but the user can decide to make them available in all others (or selected only?). For each entity, there might be a couple of parameters that are environment specific as well, such as dashboard filters (?) and rollout conditions. The current flag-copy feature should then be reserved for copying specific rollout conditions, while the existence of flags will be managed by this new environments concept.

We might also not have the need anymore to be able to copy flags across projects, our recommendation here should be to use environments.

UI considerations: We probably have to make it very clear if an entity is available in multiple environments, and making changes to it will affect the setup in all environments.

Therefore, advice to users should be: If you want your setup to be independent, use projects. If you want your setup to be synced, use environments.

neilkakkar commented 8 months ago

Great job, excited to see where this goes! 👍