Technical Details

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. M-Files supports all the editions, for example, Express Edition, Standard Edition, and Enterprise Edition.

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 communicates with M-Files Server via TCP/IP or HTTPS protocol. M-Files Web and the M-Files Mobile apps communicate with M-Files Server via HTTP or HTTPS protocol.

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 3rd party applications

Numerous 3rd 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.

Backups and maintenance

M-Files automatically optimizes the vault database once a week. No other regular database maintenance is needed.

M-Files supports scheduled full and differential backups. When using Firebird as the database engine, document vaults are backed up using the M-Files Admin tool.

When using Microsoft SQL Server as the database engine, document vaults are backed up using the management tools of Microsoft SQL Server and file system level backup tools. Any backup system compatible with Microsoft SQL Server can be used.

Technical assistance

For further technical inquiries, please contact [email protected].