Welcome to Expert Tips — a growing collection of practical, real-world tips to help you get the most out of Extension Kit Core.
This page focuses on the Content Operations module group, which includes the following modules: Document Processing, Data Transfer, Vault to Vault, and Archiving.
Use the table of contents to jump to any tip and find practical guidance, examples, and visuals to support your implementation.
To get a new expert tip delivered to your inbox every week, subscribe to the Tip of the Week newsletter here.
Automatically add or read barcodes in M-Files #
In Extension Kit Core’s Document Processing module, you can configure various actions to modify documents when they enter a specific workflow state. One powerful functionality is adding and reading barcodes or QR codes within M-Files.
Let’s explore how you can enhance your document processing with barcodes.
Adding barcodes to documents
The AddBarcode action inserts barcodes into documents when they reach a designated workflow state (e.g., Add Barcode). Configuration is simple (Picture 1):
- Symbology type: Choose the barcode type (e.g., QR code).
- Barcode text: Define static or dynamic text to embed (e.g., {Barcode text}).
- Code placement: Specify a fixed location or use a placeholder to define barcode placement.
- Set the barcode’s Width and Height.

Once set up, the barcode is automatically added to the document after the rule execution (Picture 2).

Reading barcode data from documents
The ReadBarcode action extracts barcode or QR code text and saves it to an M-Files property. Configuration steps include (Picture 3):
- Symbology type: Specify the barcode type (e.g., QR code).
- Read from pages: Define which pages to scan.
- Property: Choose the property where the extracted text should be saved.

Once configured, barcode data is automatically extracted and stored in the specified property when the document enters the workflow state (e.g., Read Barcode). (Picture 4)

With these capabilities, you can automate barcode handling in M-Files to reduce manual data entry, improve accuracy, and enhance document workflows.
How to automatically compress files in M-Files #
One of Extension Kit Core’s latest modules, the Archiving module, lets you compress files into ZIP, 7Z, or TAR archives, or decompress them from ZIP, 7Z, TAR, or RAR formats. Rules can be trigger-based, scheduled, or run-once.
This tip shows how to automatically archive documents on a schedule, and what to watch out for in your configuration.
Compress documents using a scheduled rule
In our example, we created a scheduled rule that runs daily at 23:00, collects all Travel Orders in the state ‘Completed Travel Orders’, and compresses them into a single ZIP archive. The resulting archive is stored in M-Files, serving as a historical record of the completed Travel Orders.
Important: Trigger sources in scheduled rules
For scheduled or run-once rules, a trigger source must still be defined. This does not define which documents will be archived — it simply provides the object on which the rule will execute, without affecting that object in any way.
For this purpose, we created a new object type called Archive, with a class Archive that will serve as a trigger source and a container for ZIP files (Picture 1).

Setting up the rule
Using the Compress action in the Archive module, configure what will be archived. Define a search filter to find all objects of class Travel Orders with the state Completed Travel Order (Picture 2).

Result
The resulting ZIP archive containing all matching Travel Orders is stored in M-Files (Picture 3).

Alternative setup: No Archive class needed?
In our example, we used the Archive object both to store the ZIP file and to act as the trigger source for the rule.
However, if you don’t need a dedicated object to store the archive, you can use any object as the trigger source for scheduled or run-once rules. The object’s content doesn’t matter — the rule simply needs something to execute on.
Just make sure to set Limit number of trigger objects to 1 (Picture 4). Otherwise, the rule could execute on multiple objects, resulting in multiple ZIP files instead of a single archive.

The Archive module is a powerful tool for packaging files in M-Files, but scheduled rules require careful setup. Use a dedicated object as a safe trigger, or limit your triggers to avoid unwanted ZIPs.