# Add a Module

{% hint style="info" %}
A Module is the generic term for a development file that's under Devin's control.
{% endhint %}

To Add a Module to a Project, open the Project Workspace, go to Modules and click +. Then:

1. Choose a file from your development server
2. Specify an initial version number
3. Choose the file type
4. Enter Full Access credentials for the file (FileMaker user account)
5. Optionally, provide an [EAR](https://support.claris.com/s/article/Using-Encryption-At-Rest-EAR-functionality-with-FileMaker-products-1503693029211?language=en_US) encryption key.

## Video Tutorial

{% embed url="<https://vimeo.com/938398151?share=copy>" %}
Adding a Module to a Project in Devin
{% endembed %}

When the file has been added as a Module in Devin, you will see that a copy of the file now exists on the project's default `main` branch, called `<filename>_main.fmp12`. The original file, `<filename>.fmp12`, will no longer be used by Devin and can be removed manually from your server.&#x20;

To start development on the file, the main file should be branched to another branch (see [branch-a-module](https://docs.devin.fm/guides/modules/branch-a-module "mention")).&#x20;

{% hint style="info" %}
To learn more about branches and version control, see [#branches](https://docs.devin.fm/features/version-control#branches "mention").
{% endhint %}

## File Types

Devin lets you choose between three file types. If you practice the Data Separation Model architecture where you split up your `fmp12` files into UI and Data files choose `App` for **UI files** and `DB` for **Data files**. If your file has **combined UI and Data**, choose `All-In-One`.

{% hint style="info" %}
To learn more about the Data Separation Model, search "FileMaker Data Separation Model" in your favorite search engine and discover many community and blog posts about this choice of this popular architecture.
{% endhint %}

## File Authentication

Devin needs access to development files via the FileMaker Data API. Therefore, the specified account must have the `fmrest` extended privilege enabled. Other features, like [regression-testing](https://docs.devin.fm/features/regression-testing "mention"), requires communication via the FileMaker OData API, and thus, the `fmodata` extended privilege enabled. To enable these extended privileges, go to Security -> Advanced Settings -> Extended Privileges.

{% hint style="warning" %}
Devin has not been tested with files that use external OAuth for authentication.
{% endhint %}
