- Overview of entities
- User account pages
- Admin pages
- Static pages
- Collection pages
- Exploration pages
- Topics and skills pages
- Contributor pages
Oppia has many webpages and this is a comprehensive guide on how to access all those pages. Before a contributor makes a PR, we expect that the contributor has thoroughly tested the changes made in the PR for functional correctness. Part of this process is manually testing any pages that are affected by their code.
This diagram outlines the various entities in Oppia and how they relate to each other:
flowchart TD
T("Topic") --> S1("Story-1")
T --> S2("Story-2")
S1 --> C1("Chapter-1/Exploration")
C1 --> c1("Card-1")
C1 --> c2("card-2")
S1 --> C2("chapter-2")
C2 --> c3("Card-3")
c3 --> co("Content")
c3 ----> in("Interaction")
in --> mc("Multiple-choice")
in --> is("Image Selection")
in --> fi("Fraction-input")
in --> oqt("other question types")
S2 --> C3("Chapter-3")
S2 --> C4("Chapter-4")
C3 --> c4("Card-4")
C4 --> c5("Card-5")
C4 --> c6("Card-6")
As you go through https://www.oppia.org/, you will find these entities.
-
Topic: A topic is a broad term that refers to the subject content being taught (e.g. Addition/Subtraction). For example, https://www.oppia.org/learn/math displays a list of math topics. A single topic can be described through multiple stories.
-
Story: Stories are situations/scenarios that are meant to help users understand the topic. For example, if the topic is addition, then one of the stories could be about where a kid goes to a shop and buys 3 pens and 4 pencils. The lesson could then explain explain the concept of addition while discussing the total number of items bought. As another example, https://www.oppia.org/learn/math/place-values/story talks about Jaime’s adventures for learning about place values. A single story can be referenced in multiple chapters and is essentially a collection of chapters.
-
Chapter: A chapter corresponds to different lessons through which we aim to teach the topic to the users. Each chapter has an associated exploration, and this exploration may have several cards. For example, https://www.oppia.org/learn/math/place-values/story shows a bunch of chapters to learn the place values topic.
-
Card: A card is the primary component of an exploration where each card consists of:
- Content: This refers to the tutor’s question to the learner.
- Interaction: Interactions refer to the type of question the users are shown (e.g. multiple-choice, image selection, fraction input, etc.)
- Response: Feedback from Oppia to the learner based on the learner's answer to the interaction.
For example, this card shows a card in one of the place values chapters.
-
Collection: A group of explorations.
-
Community: Anyone who teaches, learns, and contributes to any content on Oppia.
-
Opportunity: An opportunity is specific to an exploration, and it refers to a way any contributor can contribute content to Oppia.
-
Suggestion: Any time any user contributes to Oppia, their contribution is added as a request which is known as a suggestion. There are two types of suggestions:
- Translation suggestion: A suggested translation of content into another language.
- Question suggestion: A suggested question for a skill.
Many Oppia Pages require authentication to access. In order to sign in:
-
Click the sign-in button on the top left navigation bar.
-
Once redirected to the login page, choose an email address and sign in. If you have used this email address before, you will be signed in to the existing account. Otherwise, a new account will be created for you.
Super-administrators have access to the admin page, where they can set the role of any user. Some of these roles (e.g. "Topic admin") give the user access to privileged pages (e.g. the topics and skills dashboard).
There are two ways to become a super-administrator: use an email address with implicit super-admin privileges, or use the Firebase emulator interface to grant super-admin privileges after the account has been created.
-
Use the email address
[email protected]
. As soon as you type it in, a message should appear saying "This email address has implicit super-admin privileges!".
-
Sign in with any email address.
-
Go to the Firebase Emulator UI: http://localhost:4000/auth.
-
Find the corresponding Firebase account, click on the "3 dots" button, then click on "Edit user".
-
Set the Custom Claims value to
{"role":"super_admin"}
, then click on the "Save" button. -
Log out and sign back in to refresh the session cookie.
The delete account page allows users to delete their accounts. Currently, it is deactivated and certain code needs to be changed to access it.
-
Go to constants.ts and change
ENABLE_ACCOUNT_DELETION
fromfalse
totrue
. -
Navigate to http://localhost:8181/delete-account.
The preferences page allows users to change their settings on oppia.
-
Log in.
The profile page allows users to view and change their profile on Oppia.
-
Log in.
-
Click on the profile menu and click your username to go to the profile page.
The admin page is a page accessible only to super-administrators. It has many functionalities including changing permissions, configuration values, and running jobs. Certain webpages cannot be accessed unless the current user has the required permissions.
-
Navigate to the Admin page.
-
Click the "ROLES" tab and enter the username of the user whose roles you want to edit.
-
Assign the desired role, "Question Admin" in this screenshot:
-
Log in as a super-admin.
-
Navigate to http://localhost:8181/emaildashboard.
-
Log in as a super-admin and assign to your user the "release-coordinator" role.
-
Navigate to http://localhost:8181/release-coordinator.
The About page provides a brief overview of Oppia. It details the goals of the Oppia organization, credits its contributors, and provides links to guides and tutorials on how to further explore Oppia.
The donate page provides a way for people to donate to the Oppia organization.
- Go to http://localhost:8181/donate or click on the donate button in the navigation bar.
The contact page details the ways to communicate with the Oppia team and get involved.
-
Click on the "About" menu at the top navigation bar.
-
Click on the "Contact Us" link.
The get started page provides information for people new to Oppia.
- Navigate to http://localhost:8181/get-started.
The landing pages are a series of pages that provide information for people who want to help contribute to Oppia.
- Navigate to http://localhost:8181/teachers.
The Thanks page acknowledges people who support Oppia.
- Go to http://localhost:8181/thanks.
The Terms page addresses the terms and conditions of Oppia.
- Go to http://localhost:8181/terms.
The Collection editor page allows users to create collections, which group explorations together. The collection editor page can only be accessed by users with the "collection editor" role.
-
Log in as a super-admin and assign yourself the "collection editor" role.
-
Navigate to the splash page (http://localhost:8181/splash).
-
Click on the "Create" button in the top navigation bar.
-
Select "Create Collection."
The collection player page allows users to explore collections in Oppia.
-
Log in as a super-admin and assign yourself the "collection editor" role.
-
Go to the admin activities tab and reload the collection "welcome_to_collections.yaml"
-
Navigate back to the community library page and type in the search bar "collections."
-
Click on the card titled "Introduction to collections in Oppia."
The community library page allows users to view and search for explorations on Oppia. "Community" here refers to the Oppia community of teachers, learners, and contributors.
-
Log in.
The library page has a search bar that lets you search for explorations:
You can search the library, which consists of all of Oppia's explorations, by entering text, and you can filter by category (also called subject) and language.
The creator dashboard page allows users to view all explorations they have created, or are currently creating.
-
Log in.
-
Navigate to the creator dashboard page at http://localhost:8181/creator-dashboard.
The exploration editor page allows users to create explorations, or lessons, in Oppia.
-
Log in.
-
Click the "Create" button on the top right to open the exploration editor.
The exploration player page allows users to play explorations in Oppia.
-
Navigate to http://localhost:8181/community-library.
-
Enter "fractions" into the search bar.
-
Click on the exploration titled "Fractions 1 - What is the Fraction?"
The exploration will launch in a new tab, where you will see the first card. As you progress through the exploration, you will see subsequent cards, each of which has some content (text, images, videos, or other rich text components). Some will also have interactions like multiple choice questions. A user's answer to these interactions are called "responses."
The topics and skills dashboard page allows users to view their created topics and skills, and to create new ones.
-
To access this page, log in as a super-admin and assign yourself the "Curriculum admin" role from the admin page.
-
Go to http://localhost:8181/topics-and-skills-dashboard or click the topic and skills dashboard link on the profile menu.
To access the topic editor/to create new topics, go to the TOPICS tab of topics-and-skills-dashboard page, and click on the "Create New Topic" button.
-
Log in as a super-admin and assign yourself the "Curriculum admin" role.
-
Go to the TOPICS tab of the topics-and-skills-dashboard (http://localhost:8181/topics-and-skills-dashboard) and click on the "Create New Topic" button.
The following modal should appear:
-
After creating a topic, create some skills and assign them to the topic (Note: This step is not necessary for the topic to be published).
-
Edit the topic as required (add subtopics, add a story with a few chapters, etc.) and save the draft when you're satisfied. This will enable the "Publish topic" button, which you can then use to publish your topic!
-
To preview your topic before publishing, use the preview button on the navbar at the top.
-
To view your published topic on the math classroom page, head to the admin page, and switch to the config tab. Under the [topic_ids] section of the "The details for each classroom page." property, add the topic id of the topic you just published.
-
Scroll down to the bottom of the page and click on the "Save" button.
-
Go to the math classroom page (http://localhost:8181/learn/math) to find your newly created topic.
The skill editor allows the creation of skills in Oppia. You can access the skill editor under the SKILLS tab of the topics-and-skills-dashboard page.
-
Log in as a super-admin and assign yourself the "Curriculum admin" role.
-
Go to http://localhost:8181/topics-and-skills-dashboard and switch to the SKILLS tab.
-
Click on the "Create New Skill" button.
-
Enter the skill description, save it and wait for the skill editor tab to open.
-
After creating a skill, you can find it in the list of skills under the SKILLS tab. From here, you can also assign it to a topic.
The story editor page allows users to create stories in Oppia.
-
Log in as a super-admin and assign yourself the "Curriculum admin" role.
-
Go to http://localhost:8181/topics-and-skills-dashboard and create a topic.
-
Go to the topic editor and click on the Add Story button.
-
Complete the "New story" modal, and wait for the story editor page to load.
The story player allows people to play stories. To access it:
-
Follow the steps to access the story editor page as described above.
-
Add an exploration as a chapter to the story using the add chapter button.
-
Go to the Preview tab of the Story player using the preview button at the top.
The contributor dashboard page allows users to translate existing explorations into a different language, or create questions for existing Oppia explorations. This lets more people become "contributors" by helping create Oppia content.
-
Log in.
-
Navigate to the contributor dashboard page at http://localhost:8181/contributor-dashboard.
-
Log in as a super-admin and assign to your user the "Question admin" role.
-
Navigate to http://localhost:8181/contributor-dashboard-admin.