Some times ago I realised we need some kind of document management system – as a company, for my department, and myself. With loads of various documents it is easy to lose track of who has to see a document, who needs to approve it, or where is it. Also, document and process organisation needs an overhaul.
So, the task at hand is to organize our documentation workflow.
After I looked at various document management solutions and in the end I selected M-Files.
One of the reasons I liked M-Files is that is pretty well documented and capable tool. Before you give it a go, check what you need document management for, and how much you need it – because price wise, M-Files can be expensive.
Ok, back on topic.
Downloading
M-Files downloads at them moment of writing this can be found here – https://www.m-files.com/product-downloads/download-update-links/#m-files%20online
I downloaded M-Files Online v.22.11.12033.9 – Full installation package.
Environment configuration/requirements
I will install M-Files on Windows Server 2022 Datacenter edition. My VM has 6 cores, 16GB of RAM and 250GB of SSD disk.
I have tow servers in this scenario. One is domain server, and other one will server as M-Files server. In this scenario we will be testing without SQL server.
Domain name
Domain name: test.local
AD server name: TestAD (10.0.1.2/24)
M-Files server name: TestMFiles (10.0.1.3/24)
AD structure
Now, we will look at the structure of AD, since it is extremely important for M-Files and this lab.
On AD I have following “Departments” inside OU
Administracija (Administration) – with two users inside named administracija1 (administration1) and administracija2 (administration2)
Same logic applies for other departmens (two users inside OU with same name as OU, just numbered 1,2)
Other departments I have are
IT
Pravna (legal services)
Proizvodnja (Production)
Racunovodstvo (Accounting)
Skladiste (Warehouse)
Uprava (Top Management)
I also have OU named Grupe (Groups) inside that OU I created groups of users for departments (so I don’t have to select users one by one)
I also have OU named Racunala (Computers) where I grouped all my Client machines)
Client installation
To test client side of things, I’m using Windows 10 Enterprise LTSC 21H2. Machines have 4cores, 8GB of RAM and 250SSD disk.
I brought up five of these machines.
Machines are joined into test.local domain with following names
MFilesClient1 (10.0.1.150/24)
MFilesClient2 (10.0.1.151/24)
MFilesClient3 (10.0.1.152/24)
MFilesClient4 (10.0.1.153/24)
MFilesClient5 (10.0.1.154/24)
Requirements
Minimum requirements for M-Files are 2 cores, 1GB of RAM and 300MB of disk space. Would not recommend that scenario, but if you have no other choice, you can run M-Files with these specs
Since I’m testing in single server environment, I’ll be using single server scenario as reference
All the info can be found here – https://www.m-files.com/user-guide/latest/eng/server_requirements.html
Under the link above you can find various other scenarios and requirements.
Server Installation
Installation is very simple, after you downloaded full installation package from above, just double click on it to start installation.
I will start server installation on server TestMFiles
Installation is simple – Next – Next procedure
Trial is 30 days long.
I accept… (If you don’t this is then over for you.)
You can go with Evaluation installation, but for some reason I always go to Normal installation and select all components to be installed on server (because we need them for administration, even the desktop component) – Next
We will leave default install path – Next
Next
…
You will be asked to open port 2266 so that clients can communicate – we will select Yes
Finish
M-Files Desktop Settings will be opened after – you can just close them. I left that selected, just to see if it will start.
On your desktop you should have M-Files Admin icon. Let’s click on it just to see if it starts
It does, we are done.
Client Installation
I will install the Desktop package on MFilesClient2. Client install is available only for Windows. Mac and Linux users can connect to M-Files only through Web browser (you should configure M-Files to work through web browser).
We can use same installer we used on server. Full package we downloaded contains all the components
Installation process is the same as above in the server example, except
on installation step you will only select M-Files Desktop
After installation these two icons should be on desktop
That’s it, we are done.
Things to consider/Useful links
Here is link to complete M-Files documentation
https://www.m-files.com/user-guide/latest/eng/index.html
pdf can be downloaded from here (user and admin guide)
https://www.m-files.com/user-guide/latest/eng/oxygen-webhelp/resources/pdf/M-Files_User_Guide.pdf
Database
M-Files by default uses Firebird database. M-Files recommends moving to Microsoft SQL when Metadata DB is around 1GB
You can extend Firebird DB to up to 2GB of space! Also, once you migrate to Microsoft SQL, you cannot migrate back to Firebird
Connection security
By default connection to M-Files is not encrypted! Using TCP/IP with port 2266 is not encrypted connection. You can use HTTPS or Encrypted RPC for connecting
https://www.m-files.com/user-guide/latest/eng/rpc_over_http.html
Here are also two useful documents on how to protect your M-Files install – I’ll maybe write about it in the future
Enabling RPC over HTTPS Connections to M-Files Server
Protecting Data in Transit with Encryption in M-Files
Exclude M-Files from Antivirus scans
It is good practice to exclude M-Files install folder (by default in Program Files) from AV/Malware scans
https://www.m-files.com/user-guide/latest/eng/m-files_and_virus_scanning.html
There is an option to scan files uploaded to M-Files which is extremely useful – feature works since Windows Server 2016 and requires Windows Defender or AV solution with AMSI compatibility
My series of articles about M-Files
Server
M-Files how to configure Metadata
M-Files – users and user groups
M-Files – Create and manage simple workflow
M-Files – Create Workflow with assignments
M-Files – Create Workflow with Approvals
M-Files – Manage permissions for Workflows
M-Files – how to create and use document templates
How to backup and restore M-Files Vault
M-Files – How to enable access to M-Files through website
M-Files how to secure connection between server and clients (HTTPS)
M-Files Migrate from Firebird DB to Microsoft SQL DB
Desktop
Understanding M-Files logic + Overview of M-Files desktop
M-Files Creating Views for M-Files Desktop
M-Files how to save or modify documents?
M-Files How to share documents? How to save eMails to M-Files?