Technical Details

Note: This content is no longer updated. For the latest content, please go to the user guide for M-Files Online. For information on the supported product versions, refer to our lifecycle policy.

Database engine and data storage

M-Files Server includes Firebird Embedded, a powerful SQL database engine. Firebird is the default database engine of M-Files. Purchasing additional database software is thus not required. When using Firebird as the database engine of M-Files, the metadata of documents and other objects will be stored in a SQL database. The data files of objects are stored in the file system.

Optionally, Microsoft SQL Server 2012, 2014, 2016, 2017, 2019, or later with its latest service pack can be used as the database engine of M-Files for better performance and support for larger repositories. All the Microsoft SQL Server editions are supported. These include Microsoft SQL Server Express, Standard, and Enterprise.

Tip: For the best performance, we recommend using Microsoft SQL Server 2016 Service Pack 1 or later as they support updateable columnstore indices, enabling better performance when opening sub-levels of views (such as Documents by project).

When using Microsoft SQL Server as the database engine of M-Files, the metadata of documents and other objects will be stored in a SQL database. The data files of objects can be stored either in the MS SQL database or in the file system. Microsoft SQL Server can be installed on the M-Files Server computer, or alternatively, the M-Files Server computer can connect to an existing SQL Server farm. In the latter case, the processor and RAM requirements of the M-Files Server may be smaller than indicated above.

If your organization wants to use a self-hosted cloud-based SQL database, you can use the managed instance deployment option of the Microsoft Azure SQL Database. A managed instance of the Microsoft Azure SQL Database is a fully managed SQL Server Database Engine instance hosted in Azure cloud.

M-Files uses Unicode and thus supports storing and finding data in East Asian languages as well. The data saved in the file system can be encrypted with the AES-256 algorithm. For more information, refer to Protecting File Data at Rest with Encryption in M-Files.

Network communication

M-Files Desktop uses the TCP/IP, HTTPS, or gRPC protocol to communicate with M-Files Server. The classic M-Files Web uses HTTP or HTTPS, the new M-Files Web uses gRPC, and M-Files Mobile uses HTTP, HTTPS, or gRPC for server communication.

It is recommended to use encrypted connections in all client-to-server communication. For more information, see Protecting Data in Transit with Encryption in M-Files.

Special environments

M-Files is compatible with the following special environments:
  • Remote Desktop Services (Terminal Services)
  • Citrix XenApp

    M-Files is Citrix Ready for Citrix XenApp 7.6. See M-Files and Citrix XenApp for the configuration details.

  • Linux file servers
  • Novell networks

User authentication

M-Files supports multiple authentication methods (can be mixed):

Windows authentication Users are authenticated using their Windows account names and passwords. Login accounts can be imported from Active Directory (LDAP).
Federated authentication Users are authenticated against an external Identity Provider (IdP), such as Azure Active Directory. See Using Federated Authentication with M-Files for more information.
M-Files authentication Users are authenticated with usernames and passwords specified within M-Files.

M-Files supports using pre-shared keys for an additional level of security. For more information, see Accessing M-Files Vaults without VPN.

Database connections

M-Files Server can be integrated with existing databases, such as CRM and ERP databases. All databases with an OLE DB or ODBC driver are supported (includes SQL Server, Access, Oracle, and MySQL).

Integrations with third-party applications

Numerous third-party applications can be integrated to M-Files. See www.m-files.com/integrations and https://catalog.m-files.com for examples.

Application programming interface (API)

M-Files includes an ActiveX/COM API. Supported languages include VB.NET, C#, Visual Basic, VBScript, and C++. Additionally, M-Files includes the M-Files Web Service API that allows programmatic access to M-Files through a REST-like interface (refer to M-Files Web Service).

M-Files API is included within the installation of the M-Files software. The API documentation is available as an online version ( M-Files API) and as a Microsoft HTML Help file, which you can download at https://www.m-files.com/api.

M-Files UI Extensibility Framework allows external add-ins (M-Files Applications) to be used for personalizing the behavior of M-Files Desktop. With these applications, the M-Files experience can be modified to better match specific business areas and needs. For more information, refer to the M-Files UI Extensibility Framework documentation.