# Portal Base Project

{% hint style="danger" %}
The Portal Base is an administrative project for your environment.

**DO NOT** build your forms for your application in the Portal Base project. Instead, go to the home page and create a new project.
{% endhint %}

The **Portal Base** project is a special project that is included with a [**Self-Hosted Environment**](https://help.form.io/deployments/deployment-guide) and is used to control the Portal Application. Utilize this project to control the administrative user base that will authenticate into the environment, Teams to control project permissions, SSO environment, Portal Translations, and more.&#x20;

This Project contains specific Forms and Resources to help manage your environment. The following section lists all Forms and Resources within this project and what administrative purpose they serve. The Portal Base Project is **not** counted towards the project limit for a Self Hosted License.&#x20;

{% hint style="info" %}
To reinstall the Portal Base Project, **delete** the project within the **Database**, and **restart** the environment container. This process will recreate the Portal Base Project within the environment&#x20;

Simply deleting the Portal Base Project from the Developer Portal UI (rather than entirely from the DB as described above) and reinstalling it, will inadvertently consume a Project allocation within the license scope.&#x20;
{% endhint %}

{% embed url="<https://www.loom.com/share/41ddce91b658492aa557ff8fe4ef59f5>" %}

## **Portal Base** Forms and Resources

The Forms and Resources that are in the Portal Base project **govern the Developer Portal Application and its functionality.** Below is a list of these Forms and Resources.

<div><figure><img src="https://3305536326-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MPHoF2HwOA0s5HV_AIB%2Fuploads%2FrebhoDOO7GjwhBHJrgvB%2Fportalbase3.jpg?alt=media&#x26;token=fd18aba1-07f3-4f02-986f-0f511476aec8" alt=""><figcaption></figcaption></figure> <figure><img src="https://3305536326-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MPHoF2HwOA0s5HV_AIB%2Fuploads%2Ftn5bRKQlRKEOpgTXCbBS%2Fportalbase4.jpg?alt=media&#x26;token=13c78a62-e932-4ebd-af9b-0208be3708cc" alt=""><figcaption></figcaption></figure></div>

#### **User Resource**&#x20;

The User Resource can be leveraged to manually **create new User accounts** for the Developer Portal Application. Make submissions against this Resource to create your Form.io Developer Portal users. These Users can then use the submitted credentials to log into the Developer Portal Application. Alternatively, the Form.io Developer Portal can be configured to support SSO [**as described here**](https://help.form.io/deployments/portal-base-project/portalsso).&#x20;

By default, Users created within this Resource will be assigned the **Authenticated** role which allows these users to create Projects, having full permission rights to read, modify, and delete the projects these users own (created).

{% hint style="info" %}
Use the following [**environment variable**](https://help.form.io/deployment-guide/enterprise-server#environment-variables) to remove the User permission for creating projects. \
`ONLY_PRIMARY_WRITE_ACCESS = true`\
\
**Available in API Server version 8.0.0 or later only.**&#x20;
{% endhint %}

#### **Admin Resource**

{% hint style="info" %}
Use the USER resource to assign permissions to projects, by adding the USER to a team that has whatever Team Permissions are appropriate for the team.&#x20;
{% endhint %}

The Admin Resource can be leveraged to manually **create new Admin accounts** for the Developer Portal Application. Make submissions against this Resource to create your Form.io Developer Portal Admins.

If you have lost access to your Form.io admin portal or need to reset the admin credentials, follow the documentation link below to regain access.

[**Reset Admin Password for Deployed Portal**](https://help.form.io/faq/faq#how-do-i-reset-my-admin-credentials-to-my-deployed-portal)

By default, Admins created within this Resource will be assigned the **Administrator** role which grants these users full permission rights to **view** all projects created within the Form.io Developer Portal. This is not a substitution for Teams. **To grant access to projects, use the USER Resource, add those Users to Teams, and assign the Teams to a project with the appropriate access level desired. More described below:**<br>

{% hint style="info" %}
**formio-enterprise:8.0.0 and later:** \
When logged in as an Admin, [**Access permissions**](https://help.form.io/userguide/teams#assigning-teams-to-a-project) are granted to all projects. Access Permissions allow only for the ability to see the Project within the home page. No access is given to read or write anything within that project.\
\
Admin users have Access permissions to all projects within the environment, providing visibility and access to the project on the Portal home page. **However, Project-level Read, Write, or Admin permissions are not granted.** Create a [**Team**](https://help.form.io/userguide/teams#project-level-permission) if additional Project permissions are needed for Admin Users.
{% endhint %}

#### **Team and Team Member Resource**

Use these Resources to **create or manage the Team Members and their associated Teams**. Team Member emails are associated with accounts created within the User Resource or emails from an integrated SSO provider.&#x20;

{% hint style="info" %}
When creating SSO Teams, ensure you have the correct [**Environment Variable**](https://help.form.io/deployment-guide/enterprise-server#environment-variables) set

`SSO_TEAMS=true`
{% endhint %}

#### **Language Resource**

Add and manage [**Portal Translations**](https://help.form.io/developers/translations) inside the environment. Users can change the Portal Language by clicking the Language dropdown in the Portal header and selecting a Language.&#x20;

#### **PDF Resource**

&#x20;A log of all of the PDFs uploaded to the Environment.&#x20;

#### **Two-Factor Authentication Forms**

Forms that facilitate the [**Two-Factor Authentication**](https://help.form.io/developers/auth/two-factor-authentication) environment process.&#x20;

#### **User Login Form**

The authentication form for the environment&#x20;

#### **User Registration Form**&#x20;

By default, the Registration Form is disabled for deployed projects as User creation is typically done by using the User Resource. To allow for User Registration on the authentication page, simply add an email and password field to the Registration form.&#x20;

[**Click here for more information on the Registration Form setup**](https://help.form.io/developers/auth/resource-based-authentication#creating-a-registration-form)
