diff --git a/apps/docs/app/global/access-roles/images/team-settings-menu.webp b/apps/docs/app/global/access-roles/images/organization-settings-menu.webp similarity index 100% rename from apps/docs/app/global/access-roles/images/team-settings-menu.webp rename to apps/docs/app/global/access-roles/images/organization-settings-menu.webp diff --git a/apps/docs/app/global/access-roles/page.mdx b/apps/docs/app/global/access-roles/page.mdx index ea6b69e3407..834959ff213 100644 --- a/apps/docs/app/global/access-roles/page.mdx +++ b/apps/docs/app/global/access-roles/page.mdx @@ -1,41 +1,89 @@ import { MdxImage } from "@/components/MdxImage"; + import AddMember from "./images/add-member.webp"; import BulkInvite from "./images/bulk-invite.webp"; import IndvInvite from "./images/individual-invite.webp"; -import MenuItem from "./images/team-settings-menu.webp"; +import MenuItem from "./images/organization-settings-menu.webp"; export const metadata = { - title: "Team Access Roles", + title: "Organization Access Roles", description: - "Assign different roles to team members to grant them specific rights like creating surveys, viewing responses, or managing team members.", + "Assign different roles to organization members to grant them specific rights like creating surveys, viewing responses, or managing organization members.", }; -# Team Access Roles - -Assign different roles to team members to grant them specific rights like creating surveys, viewing responses, or managing team members. - -Access Roles is a feature of the **Enterprise Edition**. In the **Community Edition** and on the **Free** and **Startup** plan in the Cloud you can invite unlimited team members as `Admins`. - - -| Role | Rights | -| --- | --- | -| Owner | Full rights; there can only one owner per team. Ownership can be transferred. | -| Admin | Full access rights incl. managing team members | -| Developer | Full product access to setup and run surveys incl. global styling, actions and attribute management, etc | -| Editor | Create and edit surveys. No access to features related to setting up or maintaining Formbricks. | -| Viewer | View survey results only. | - -## Inviting team members - -There are two ways to invite team members: One by one or in bulk. +# Organization Access Roles + +Assign different roles to organization members to grant them specific rights like creating surveys, viewing responses, or managing organization members. + + + Access Roles is a feature of the **Enterprise Edition**. In the **Community Edition** and on the **Free** + and **Startup** plan in the Cloud you can invite unlimited organization members as `Admins`. + + +Here are the different access permissions, ranked from highest to lowest access + +1. Owner +2. Admin +3. Developer +4. Editor +5. Viewer + +For more information on user roles & permissions, see below: + +| | Owner | Admin | Editor | Developer | Viewer | +| -------------------------------- | ----- | ----- | ------ | --------- | ------ | +| **Organization** | | | | | | +| Update organization | ✅ | ✅ | ❌ | ❌ | ❌ | +| Delete organization | ✅ | ❌ | ❌ | ❌ | ❌ | +| Add new Member | ✅ | ✅ | ❌ | ❌ | ❌ | +| Delete Member | ✅ | ✅ | ❌ | ❌ | ❌ | +| Update Member Access | ✅ | ✅ | ❌ | ❌ | ❌ | +| Update Billing | ✅ | ✅ | ❌ | ❌ | ❌ | +| **Product** | | | | | | +| Create Product | ✅ | ✅ | ✅ | ✅ | ❌ | +| Update Product Name | ✅ | ✅ | ✅ | ❌ | ❌ | +| Update Product Name | ✅ | ✅ | ✅ | ❌ | ❌ | +| Update Product Recontact Options | ✅ | ✅ | ✅ | ✅ | ❌ | +| Update Look & Feel | ✅ | ✅ | ✅ | ✅ | ❌ | +| Update Survey Languages | ✅ | ✅ | ✅ | ✅ | ❌ | +| Delete Product | ✅ | ✅ | ✅ | ✅ | ❌ | +| **Surveys** | | | | | | +| Create New Survey | ✅ | ✅ | ✅ | ✅ | ❌ | +| Edit Survey | ✅ | ✅ | ✅ | ✅ | ❌ | +| Delete Survey | ✅ | ✅ | ✅ | ✅ | ❌ | +| View survey results | ✅ | ✅ | ✅ | ✅ | ✅ | +| **Response** | | | | | | +| Delete response | ✅ | ✅ | ✅ | ✅ | ❌ | +| Add tags on response | ✅ | ✅ | ✅ | ✅ | ❌ | +| Edit tags on response | ✅ | ✅ | ✅ | ✅ | ❌ | +| **Actions** | | | | | | +| Create Action | ✅ | ✅ | ✅ | ✅ | ❌ | +| Update Action | ✅ | ✅ | ✅ | ✅ | ❌ | +| Delete Action | ✅ | ✅ | ✅ | ✅ | ❌ | +| **API Keys** | | | | | | +| Create API key | ✅ | ✅ | ✅ | ✅ | ❌ | +| Update API key | ✅ | ✅ | ✅ | ✅ | ❌ | +| Delete API key | ✅ | ✅ | ✅ | ✅ | ❌ | +| **Tags** | | | | | | +| Create tags | ✅ | ✅ | ✅ | ✅ | ❌ | +| Update tags | ✅ | ✅ | ✅ | ✅ | ❌ | +| Delete tags | ✅ | ✅ | ✅ | ✅ | ❌ | +| **People** | | | | | | +| Delete Person | ✅ | ✅ | ✅ | ✅ | ❌ | +| **Integrations** | | | | | | +| Manage Integrations | ✅ | ✅ | ✅ | ✅ | ❌ | + +## Inviting organization members + +There are two ways to invite organization members: One by one or in bulk. + +### Invite organization members one by one + +1. Go to the `Organization Settings` page via the menu in the lower right corner: -### Invite team members one by one - -1. Go to the `Team Settings` page via the menu in the lower right corner: - - @@ -49,7 +97,7 @@ src={MenuItem} className="max-w-full rounded-lg sm:max-w-3xl " /> -3. In the modal, add the Name, Email and Role of the team member you want to invite: +3. In the modal, add the Name, Email and Role of the organization member you want to invite: -Access Roles is a feature of the **Enterprise Edition**. In the **Community Edition** and on the **Free** and **Startup** plan in the Cloud you can invite unlimited team members as `Admins`. - - -Formbricks sends an email to the team member with an invitation link. The team member can accept the invitation or create a new account by clicking on the link. + + Access Roles is a feature of the **Enterprise Edition**. In the **Community Edition** and on the **Free** + and **Startup** plan in the Cloud you can invite unlimited organization members as `Admins`. + +Formbricks sends an email to the organization member with an invitation link. The organization member can accept the invitation or create a new account by clicking on the link. -### Invite team members in bulk +### Invite organization members in bulk -1. Go to the `Team Settings` page via the menu in the lower right corner: +1. Go to the `Organization Settings` page via the menu in the lower right corner: @@ -84,7 +133,7 @@ Formbricks sends an email to the team member with an invitation link. The team m className="max-w-full rounded-lg sm:max-w-3xl " /> -3. In the modal, switch to `Bulk Invite`. You can download an example .CSV file to fill in the Name, Email and Role of the team members you want to invite: +3. In the modal, switch to `Bulk Invite`. You can download an example .CSV file to fill in the Name, Email and Role of the organization members you want to invite: -4. Upload the filled .CSV file and invite the team members in bulk ✅ +4. Upload the filled .CSV file and invite the organization members in bulk ✅ -Formbricks sends an email to each team member in the CSV. The member can accept the invitation or create a new account by clicking on the link. +Formbricks sends an email to each organization member in the CSV. The member can accept the invitation or create a new account by clicking on the link. --- diff --git a/apps/docs/app/introduction/why-open-source/page.mdx b/apps/docs/app/introduction/why-open-source/page.mdx index bad69cb2192..fbf25bbcc85 100644 --- a/apps/docs/app/introduction/why-open-source/page.mdx +++ b/apps/docs/app/introduction/why-open-source/page.mdx @@ -4,27 +4,22 @@ export const metadata = { "Open source software beats proprietary software in every aspect - except for value capture. We're investing in growing the value creation of our open source platform because it directly translates into business with large organisations.", }; -#### Introduction +#### Introduction # Why is Formbricks open source? A lot has been written on why open source software beats proprietary software in all aspects - except for value capture for the company investing into its development. While this definitely poses a challenge for a profit-oriented organisation, it's also an interesting opportunity: Due to the open nature of our platform, it's usage is significantly higher. Capturing a small part of the value our platform generates translates into a decently-sized business. - -| Advantage | Open Source Software | Proprietary Software | -|----------------------|----------------------------------------------------|----------------------------------------------------------| -| **Data Privacy** | Self-host for maximum control over data | Dependent on thrid party data processor. | -| **Cost** | Often free or significantly lower cost. | Typically requires a purchase or subscription. | -| **Customizability** | Code can be modified to meet specific needs. | Limited customization, restricted to developer's features.| -| **Security**| Frequent community reviews identify vulnerabilities quickly. | Security updates depend on vendor's schedule and interest.| -| **Flexibility**| Supports a wide range of applications and integrations. | Designed for specific environments and integrations. | -| **Community Support**| Large, active communities offer free support and resources. | Paid customer support with limited community help. | -| **Innovation** | Fosters rapid innovation through community contributions. | Innovations depend on vendor's vision and development team.| -| **Licensing** | Permissive licenses allow broad usage and modification. | Strict licensing with limited redistribution rights. | -| **Independence** | Not dependent on a single vendor or developer. | Vendor lock-in can limit future choices. | -| **Transparency** | Full visibility into the code base and development. | Closed-source, code is hidden from users. | -| **Interoperability**| Supports open standards, ensuring interoperability. | Often requires additional software or plugins for compatibility. | - - - - +| Advantage | Open Source Software | Proprietary Software | +| --------------------- | ------------------------------------------------------------ | ---------------------------------------------------------------- | +| **Data Privacy** | Self-host for maximum control over data | Dependent on thrid party data processor. | +| **Cost** | Often free or significantly lower cost. | Typically requires a purchase or subscription. | +| **Customizability** | Code can be modified to meet specific needs. | Limited customization, restricted to developer's features. | +| **Security** | Frequent community reviews identify vulnerabilities quickly. | Security updates depend on vendor's schedule and interest. | +| **Flexibility** | Supports a wide range of applications and integrations. | Designed for specific environments and integrations. | +| **Community Support** | Large, active communities offer free support and resources. | Paid customer support with limited community help. | +| **Innovation** | Fosters rapid innovation through community contributions. | Innovations depend on vendor's vision and development team. | +| **Licensing** | Permissive licenses allow broad usage and modification. | Strict licensing with limited redistribution rights. | +| **Independence** | Not dependent on a single vendor or developer. | Vendor lock-in can limit future choices. | +| **Transparency** | Full visibility into the code base and development. | Closed-source, code is hidden from users. | +| **Interoperability** | Supports open standards, ensuring interoperability. | Often requires additional software or plugins for compatibility. | diff --git a/apps/web/app/(app)/environments/[environmentId]/components/MainNavigation.tsx b/apps/web/app/(app)/environments/[environmentId]/components/MainNavigation.tsx index 3e1ac434cc6..2706f9395a9 100644 --- a/apps/web/app/(app)/environments/[environmentId]/components/MainNavigation.tsx +++ b/apps/web/app/(app)/environments/[environmentId]/components/MainNavigation.tsx @@ -164,7 +164,7 @@ export const MainNavigation = ({ href: `/environments/${environment.id}/product/general`, icon: Cog, isActive: pathname?.includes("/product"), - isHidden: false, + isHidden: isViewer, }, ], [environment.id, pathname, isViewer] diff --git a/apps/web/app/(app)/environments/[environmentId]/surveys/page.tsx b/apps/web/app/(app)/environments/[environmentId]/surveys/page.tsx index 465b19c64e6..8642f74b1ae 100644 --- a/apps/web/app/(app)/environments/[environmentId]/surveys/page.tsx +++ b/apps/web/app/(app)/environments/[environmentId]/surveys/page.tsx @@ -63,7 +63,7 @@ const Page = async ({ params }) => { {surveyCount > 0 ? ( <> - + : CreateSurveyButton} />