Canvas Documentation
Bubble Best Practices
v2
v2
  • Welcome
  • Introduction
  • Contents
  • Using Bubble
    • Bubble basics
    • Bubble best practices
      • Principles
      • Database
      • Design
      • Security
      • SEO
      • Speed
      • Modularity
        • Data triggers
  • Using the template
    • Getting the template
    • Setup
      • Quickstart
      • Features and configuration
        • Customizable landing page
        • Header menu
        • Menu focus group
        • Styles and colors
        • Extending the admin portal
        • Set a password policy
        • Enable cookies
        • Alerts
        • Emails
        • Hidden variables popup
        • Set up index page redirects
        • Set up payments on account page
        • Set up social media links
        • Search engine optimization (SEO)
        • Setting up domains
        • Legal docs
    • Extending the template using Canvas Pages
      • How it works
      • Get started
      • Setting up added modules
      • Updating Canvas styles
    • Extending the template manually
      • Padding
      • Pages, groups, and popups
      • Hiding groups
      • Styles
    • Reference
      • Pages
        • index
        • admin
        • home
        • account
        • verify
        • login and loginsimple
        • termsofservice
        • privacypolicy
        • reset_pw
        • standardpage
        • 404
      • Reusable elements
        • header
        • footer
        • signup/login
        • popupsreusable
        • menufocusgroup_template (︙)
        • menufocusgroup_user
        • menufocusgroupfeature_b
        • menufocusgroup_email
        • menufocusgroup_notifications
        • menufocusgroup_shoppingcart
        • menufocusgroup_search
        • cookiespermission
        • homepageblocks
        • admin portal reusables
          • admindashboard
          • admingeneralsettings
          • adminemail
          • adminseosettings
          • adminsocialmediasettings
          • adminsocialmediainfo
          • adminlegalpages
          • adminhomepagesetup
          • adminstyles
          • adminfeaturebacklog
      • Data and workflows
        • Data structure
        • Option sets
        • API workflows
      • Canvas Pages: lists of modules & page templates
  • Demos
    • Yelp for Books
  • Other Canvas templates
Powered by GitBook
On this page
  • Permissions
  • Adding a new role
  • Inclusive "yes/no"

Was this helpful?

  1. Using the template
  2. Reference
  3. Data and workflows

Option sets

Bubble data option sets

A few option sets come included with the Canvas template:

  1. Page

  2. Role

  3. Inclusive "yes/no"

Permissions

The Page and Role option sets are used to set permissions on app pages.

Fields for those option sets are as follows:

Role:

  • Display (text) - this is the role name

  • Pages (list of Pages): This is a list of Pages that this role can access.

By default, your app comes with two roles: App Admin and Standard.

Page:

  • Display (text) - this is the page name

  • Private? (yes/no) - "yes" means the page is private

    • If a user accesses a Page that is marked as Private, they will be redirected to the index page unless they are logged in to a User whose Role contains the private Page.

The Canvas Starter Template comes with a number of pages. The two private pages are the account page, which can be accessed by Standard and App Admin users (but not logged out users), and the admin portal page, which can be accessed by by App Admin users.

Adding a new role

To add a new role, create a new option in the option set for that role

  • New option in Role option set (e.g. Account Admin or Superuser)

  • Create new Page option(s) and mark them as private if necessary

  • Add Page(s) to new Role

  • Assign the Roles to Users, usually through one of these methods:

    • Assign the new Role to users manually in the Bubble Editor's Data tab

    • Build the logic to let App Admins sign those Users up from the admin page

    • Build the logic to assign the new Role to the Users when they're signed up

If your App Admin users will also be accessing this Page, be sure to add the Page to the App admin Role.

Inclusive "yes/no"

This is an option set that works similar to the Bubble "yes/no" data type, but adds a 3rd option that returns true for both yes and no. In short, it works as follows:

  • no will return results where the field is "no"

  • yes will return results where the field is "yes"

  • yes OR no will return all results

For a more detailed explanation, read on.

When creating searches in Bubble, if you have a constraint on a yes/no field, it will always return either the "yes" options or the "no" options.

The above image shows how a search either includes Inactive users or Active users, but not both. Here's the search logic used to produce this result:

Here's how this will look when set up with the Inclusive / Exclusive option set.

The performance of these searches seemed to be about the same in our tests. Please let us know if you notice anything different.

PreviousData structureNextAPI workflows

Last updated 5 years ago

Was this helpful?

For a demonstration of how to use this in a real app, check out the Dropdown Users on the page of the Canvas Starter Template.

admin
Creating a new Page option (in the Pages option set)
Mark this page private if not all users are allowed access it
Add the new Page to the new Role
Normal Bubble yes/no
Logic with normal Bubble yes/no (no inclusive yesno option)
Option set yes/no/yesno
Logic with normal Bubble yes/no (no inclusive yesno option)