This section consists of Database Things and fields description for every thing which is part of the template.
Introduction
To get to the Data section, click the database icon on the left side tabs in Bubble Editor.
See Bubble manual information when working with data: https://manual.bubble.io/help-guides/working-with-data; https://manual.bubble.io/core-resources/data.
Data Types
Note: In case you have accidentally deleted a data type - no worries! Bubble lets you restoreπͺthe deleted data type.
Clicking on 'show deleted types' or 'show deleted fields' from the Data β Data types tab will reveal the deleted items, and a 'restore' button will appear next to each deleted entry. Simply click 'restore', to restore a field or data type.
Tip: Aside from the below-listed data types and fields, Bubble creates these default fields visible in each data type:
Creator
, Modified Date
, Created Date
and Slug
, except for the User data type. The User data type will have the following fields: email
, Modified Date
, Created Date
and Slug
.
These fields' values can be used in workflows, conditional formatting, etc. To learn more, see the Bubble manualAdmin
This object stores the admin rights. Here, it is necessary to replace the
admin
field to "yes" to make changes in admin panel, after purchasing this template.It comes with the following field:
Field Name | Type | Notes |
admin | yes / no | Checks whether or not users have access to admin panel. |
Category
This data type represents the course category. Each course is assigned to a certain category to be easier to find it at search.
It comes with the following fields:
Field Name | Type | Notes |
categoryCourse | Stores information about the list of courses. | |
categoryName | text | Stores the title of the courses category. |
Order | number | Stores the categories sorting number. |
Note: The data type has a privacy rule applied. See the π¬ in the database under the privacy section for details.
Comment
This data type stores comments and replies to the course. Before being published, comments need approval at the
admin
page, but it is required to have π admin rights in the first place.It contains the following fields:
Field Name | Type | Notes |
approved | yes / no | Checks if the comment is approved by platform admin. |
BodyText | text | Stores the comment text. |
Course | Course β | Stores information about the course this comment belongs to. |
ID | text | Stores the page id where this comment will be displayed on. |
Replies | List of Replies | Stores information about the replies to the current comment. |
Note: The data type has a privacy rule applied. See the π¬ in the database under the privacy section for details.
Coupon
This data type stores information about the discount coupons created in Stripe.
Tip: A discount is applied in % (percent).
Create the coupons in your own Stripe dashboard -> Products -> Coupons tab. See the example below:
The data type comes with the following fields:
Field Name | Type | Notes |
% Discount | number | Stores information about the coupon discount in percent. |
Name | text | Stores information about the coupon title. |
operationNumber | number | Stores the number by which the plan price is multiplied to get the discount price. |
Course
This object stores information about the course. It contains all the fields related to the course:
Field Name | Type | Notes |
courseCategory | Category | Stores information about the category this course belongs to. |
courseComments | List of Comments | Stores information about the list of comments for this course. |
courseCover | image | Stores the cover image to the course. |
courseDescription | text | Stores the description of the course. |
courseDuration | number | Stores the duration of the course. |
courseHeadline | text | Stores the short description of the course. |
courseLessons | List of Lessons | Stores information about the list of lessons for this course. |
courseNumber | number | Stores the course's sorting number. |
coursePromoID | text | Stores the Wistia ID code of the course promo video. |
courseSections | List of Sections | Stores information about the list of Sections for this course. |
courseTags | List of Tags | Stores information about the list of tags for this course. |
courseUsers | List of Users | Stores information about the users who purchased this course. |
courseVerified | yes / no | Checks if the course is verified by the admin. |
displayName | text | Stores the title of this course. |
visible? | yes / no | Stores information about the course visibility. If the value is "yes", the course is visible to logged-in users. |
Free? | yes / no | Checks if the course is free. If the value is "yes", this course will be free to users. |
studentsCount | number | Stores the number of students enrolled in this course. |
whoWhatHow | WhoWhatHow | Stores information about the "Who What How" object for this course. |
whoWhatHow_list | List of WhoWhatHow | Stores information about the list of "Who What How" objects for this course. |
Note: The data type has a privacy rule applied. See the π¬ in the database under the privacy section for details.
Enrolment
This data type stores the information about user enrolment to the courses (what is the user's progress at each course he started watching).
It comes with the following field:
Field Name | Type | Notes |
Course | Course | Stores information about enrolment to courses. |
FAQ
This data type stores information about Q&A, displayed in the FAQ section of the
index
page.It comes with the following fields:
Field Name | Type | Notes |
answer | text | Stores the FAQ answer. |
index | number | Stores the FAQ sorting number. |
question | text | Stores the FAQ question. |
Note: The data type has a privacy rule applied. See the π¬ in the database under the privacy section for details.
Feedback
This data type contains information about user's feedback about the platform.
Tip: The actual feedback can be written on the profile page, when users cancel their platform subscription.
It comes with the following fields:
Field Name | Type | Notes |
feedback | text | Stores the feedback text. |
user | User | Stores the user who wrote the feedback. |
Lesson
Each course comes with a list of Lessons that are added at the admin page. The Lesson datatype contains information about the lesson - description, section, order number in the section, etc.
It comes with the following fields:
Field Name | Type | Note |
lessonCourse | Course β | Stores the course that contains the current lesson. |
lessonInfo | text | Stores the lesson description. |
lessonNumber | number | Stores the lesson's sorting number. |
lessonSection | Section β | Stores the section that contains the current lesson. |
lessonTitle | text | Stores the lesson title. |
videoLength | number | Stores the lesson (video) length in minutes. |
wistiaID | text | Stores the Wistia broadcast video id. |
The last field -
wistiaID
- stores the actual ID of the video lesson that comes from the Wistia hosting.Logs
This data type logs users' actions like sign up, subscriptions, canceling plans, etc. The logs are displayed in the Admin Panel. In order to manage this data, it is required to have admin rights.
It comes with the following fields:
Field Name | Type | Notes |
Action | text | Stores the records of basic user actions that occur in backend. |
LWDuration
This data type stores information about video progress.
Tip: The video progress is stored in seconds(s).
It comes with the following fields:
Field Name | Type | Notes |
duration | number | Stores the video duration in seconds that updates every 60 seconds. |
Lesson | Lesson | Stores the information about this lesson. |
Note: To this object we make a record every 60 seconds from the course_details page so when users are reloading the page, it can return to that moment of the video where they stopped + - 60 seconds.
Plan
This data type is used for the creation of the subscription plan(s) in Stripe. You can set a name and price for the plan. It is actually required to create Stripe Products with 3 Pricing models for this template.
It comes with the following fields:
Field Name | Type | Notes |
plan_ID | text | Stores the Stripe Subscription ID. |
plan_name | text | Stores the Subscription plan name. |
price | number | Stores the Plan price. |
Reply
This object is the reply to the course comment in the Comments Section of each platform course. Users are given the option to leave comments under each course on the course_details page, as well as reply to that comments.
Tip: Both platform and course comments can be managed via admin page > Comments & Reviews section.
It comes with the following fields:
Field Name | Type | Notes |
Parent comment | Comment | Stores the Comment object where you add replies. |
Reply Body | text | Stores the actual reply text. |
Note: The data type has a privacy rule applied. See the π¬ in the database under the privacy section for details.
Section
This data type represents a Course section that can contain one or a few lessons. The sections can be created via admin page -> Courses tab -> edit any course.
It comes with the following fields:
Field Name | Type | Notes |
SectionCourse | Course | Stores the Course that contains the current section. |
SectionDescription | text | Stores the Section description. |
SectionLessons | List of Lessons | Stores the List of lessons that are included in the current section. |
SectionName | text | Stores the Section name. |
Tag
This data type is used for course tags. Each tag has a name and is assigned to a Course.
All the available tags can be modified via admin page -> Categories -> Create New Tag section.
It comes with the following fields:
Field Name | Type | Notes |
TagCourse | List of Courses | Stores the list of courses that contain the current tag. |
TagName | text | Stores the Tag name. |
Note: The data type has privacy rule applied. See the π¬ in database under Privacy section for details.
User
Bubble applications have a built-in User data type that acts like any type that is created in a database. For instance, you can modify a user, delete a user, list them in a repeating group, etc.
This data type stores information about a user who joins the platform. It comes with the following fields:
Field Name | Type | Notes |
accessRights | text | Checks if users have access to the admin panel. |
appliedCoupon | text | Stores the applied user coupon. |
canceledFromProfile | yes / no | Checks if the subscription has been canceled by the user himself from the profile. |
canceledByAdmin | yes / no | Checks if the subscription has been canceled by the app admin. |
enrolmentsList | List of Enrolments | Stores the list of objects that contain the purchased courses. |
finishedFirstCourse | yes / no | This field changes to "yes" when the user completes at least 1 course. In this case, he can leave comments on the platform. |
firstName | text | Stores the user's name. |
lastEnrolmentDate | date | Stores the date when the user enrolled to the last (most recent) course. |
lastName | text | Stores the user's surname. |
plan | text | Stores the Current User's subscription plan name. |
planOld | text | Stores the name of the user's past subscription plans. This entry is made when the user updates the subscription plan. |
profilePicture | image | Stores the profile picture. |
saas_CustomerID | text | Stores the Customer ID received from "stripe payment system". |
saas_plan_ID | text | Stores the Price ID received from "stripe payment system". |
saas_SubscriptionID | text | Stores the Subscription ID received from "stripe payment system". |
saas_TemporarySessionID | text | Stores the Temporary Session ID for "stripe" payment method. |
scheduledCancelation | yes / no | Checks if the User subscription will be canceled at the end of the billing period |
signedUp | text | Checks if the user has signed up or not. Used for backend. |
signupMethod | text | Stores the registration method used by the user. |
subsEndingDate | date | Stores the end date of the Subscription. |
userBio | text | Stores the User's bio (the information provided by the user). |
userComment | List of Comments | Stores the List of user comments. |
UserCoursePurchased | List of Courses | Stores the List of courses that were purchased by the user. |
userEmailText | text | Stores User email in txt format, and is used for sorting users by email. |
userFacebook | text | Stores the link to the user's Facebook. |
userInstagram | text | Stores the link to the user's Instagram. |
userTwitter | text | Stores the link to the user's Twitter. |
userViewsHistory | List of ViewHistories | Stores information about the list of course views. |
Wishlist | List of Courses | Stores the List of user's favorite courses. |
Note: The data type has privacy rule applied. See the π¬ in database under Privacy section for details.
ViewsHistory
This data type contains data about the course views and video progress of each lesson within the course.
Tip: Course views = how many times a user has watched a course video.
It comes with the following fields:
Field Name | Type | Notes |
Course | Course | Stores the name of the course under consideration. |
Lesson | Lesson | Stores the lesson under consideration. |
LWDuration | List of LWDurations | Stores the List of LWDuration objects. |
Section | Section | Stores the section under consideration. |
WhoWhatHow
This data type holds the information about Course Description. It contains information about Who is this course for, What are the requirements and What the students will learn.
This data is added when creating a new course on the admin page.
It comes with the following fields:
Field Name | Type | Notes |
text | text | Stores the WhoWhatHow description. |
type | text | Stores the record type: "get", "learn", "for". |
course | Course | Stores the course added to this object. |
Note: The data type has privacy rule applied. See the π¬ in database under Privacy section for details.
Option Sets
Tip: Option sets define a static list of choices for use in dropdowns, pop-ups, etc. Options inside the sets have at least a text display, but they can have additional attributes defined in the Data tab. To learn more, see Bubble Manual.
Below you can find the list of option set attributes and options.
Image
This option set is used for email letters.
It comes with the following attribute:
Attribute | Type | Notes |
image | image | Stores the platform logo. |
The options for this set are:
Option | Notes |
image for letter | The actual template logo. |
MenuTab
This option set is used for the Menu tabs.
It comes with the following attributes:
Attribute | Type | Notes |
icon | image | Stores the menu tab icon. |
number | number | Stores the serial number for each tab. |
pageParameter | text | Stores the page parameter. Used to differentiate the tabs. |
The options for this set are:
Option | Notes |
Dashboard | The option for Dashboard tab. |
Courses | The option for Courses tab. |
Comments | The option for Comments tab. |
F. A. Q. | The option for FAQ tab. |
Users | The option for Users tab. |
Categories | The option for Categories tab. |
Log Out | The option for Log Out tab. |
Tip: To find the pages where the options sets are used, use theΒ App Search ToolΒ within the editor.Β
Embedded Notes in Bubble Editor
This template comes with explicit Notes for Database fields, Option sets and their fields, and Privacy rules, which will guide you through the modification process.
In order to preview a Note of any data type or field, click on the π¬ icon.