Domino offers two types of Projects:
- Domino File System Projects (DFS)
-
These Projects use the Domino File System to store your Project’s assets.
- Git-based Projects
-
These Projects use an external Git provider that you select to store your Project’s assets.
Depending on the type of Project, there are differences in how the files are organized, where they are stored, and how they are exposed in executions.
Note
| Git-based projects are a beta feature. |
Domino recommends you use Git-based Projects when possible. Git-based Projects provide more control over code sync, allow you to tap into the features of external Git providers, and provide a more modern development experience.
DFS Projects provide a very similar workflow but lack some functionality of external Git providers.
Your organization may mandate the use of DFS or Git Providers. For example, your organization may not wish to use an external Git provider and mandate the use of DFS. Alternatively, your organization may require that all code changes go through a certain Git provider as a corporate requirement.
At other times, users will be free to choose between a Git-based or DFS Project. The choice changes subtle but important aspects of the downstream workflow in Domino which are discussed in this section and in Git-based Projects.
All Domino Projects follow a Code, Data, and Artifacts workflow. Projects organize related code, data, and artifacts needed to accomplish a Project’s goals.
Code
Both DFS and Git-based Projects have a Code repository under the Develop section of the Project.
DFS Projects use the Domino File System to manage files in the Code repository. Versioning is mostly automatic with a Domino-managed Git server operating behind the scenes.
Git-based Projects allow you to select a supported Git provider and subsequent repository of your choosing. Domino provides features to make syncing easy that give you control over when to version and sync.
While data files can technically be stored in a repository (either DFS or external Git), it is a best practice to avoid using them to store a large number of files or files that are large in size. Repositories have limitations on the amount of storage they allow and overloading them can slow down subsequent workflows.
See your Domino admin or external Git admin for more details on storage limits and performance implications.
Sometimes, data files (such as data mapping dictionaries) are managed as code or artifact project files. This only works if the files are small (less than 1 GiB) or if the overall size and number of such files are small (less than 50,000 files).
For data and large file assets, Domino recommends that you use Domino Datasets.
Artifacts
Git-based Projects have an additional Artifacts area under the Project > Track. This is a DFS repository for use when a Git-based project needs to store certain artifacts outside of the Git repository.
DFS projects store artifacts directly in the Code repository.
Note
| It is important to know how Domino manages files stored in a DFS repository. Domino will create some files automatically. See Project Files and Work with Project artifacts to learn more about these files and how they are managed. |
Data
Data Sources, Domino Datasets, External Volumes, and Feature Stores are accessible under the Data section of Projects. These are the preferred methods for handling all your data needs. Each of these data offerings lives outside the scope of a Project to support advanced collaboration and security.