An alternative Class CSV Export
Overview
In this article I'll show an alternative way to take a look at the class hierarchy in M-Files by exporting all classes and their properties into a single CSV-file (Comma Separated Value) so that they can be reviewed in Excel.
Intro
Usually when you start to work on a project, you'll want to get an overview first. In a M-File project with a lot of custom metadata, you probably want to know about the classes and their properties.
M-Files Admin
The first and most common way is certainly firing up the M-Files Admin and taking a look at all classes and properties.
While the admin interface works great for interactively exploring and editing the classes, there are also some drawbacks to this method.
- You need to be an admin
- There is no central view that allows viewing all classes and their properties at a glance
- Interactive nature is not a good fit for presentations or working with clients or offline review
Export to Text Format
One logical approach would be to export the metadata into a text format. That way you can get the following benefits:
- you can use it offline, by printing it out or e-Mailing it to multiple persons
- you don't need admin access to the server, you don't even need a M-Files installation to view it
- you can annotate it easily
An export to a Comma Separated Value File seems like a good choice, as it supports structured data and there are a lot of client tools to view and edit it.
The built-in solution
Luckily M-Files comes with an Export List function that does exactly that, it allows the creation of a csv file with all classes as shown in the screenshot below.
The Admin interface allows exporting a list of all classes, by using the context-menu and clicking 'Export List...'
The export creates a file whose content mirrors the columns that are shown on the right.
So for the hierarchical view, you only get a list of the object types and in the Flat View you'll get at least a list of classes if you right-click 'classes' and choose 'Export as List...' - but that's not what I wanted.
What I needed
What I needed was a list of all classes and all their properties, like the following:
Class
Property
Type
Required
Agenda
Name or title
Text
True
Agenda
Event date
Date
False
...
Assignment
Name or title
Text
True
Assignment
Assignment description
Multiline Text
False
...
With a list like that, I can sit down with a client and really get to work and answer the important questions like:
- What properties are missing?
- Which are of the wrong type?
- Should this property be required or not?
- How can we fill this specific property from existing data?
while taking notes and making annotations.
The solution
To solve that problem I wrote a short commandline tool that exports the classes and their properties to a csv file.
Where to get it
You can download it here: MFilesExporter.zip
How to use it
unpack the files into a folder
open the cmd prompt by pressing Win+R, type 'cmd' and hit enter.
change to the directory where you unpacked the files, eg. if you unpacked the files into the folder c:\users\test\documents type
cd c:\users\test\documents
Start it from the commandline:
MFilesExporter.exe -v "My Vault" -e
Example Output
When you run it over 'My Vault' it produces this CSV File
The following screenshot shows the first few rows of the generated file:
If you find this tool useful or if you found a problem or have a feature suggestion, please feel free to leave a comment. Thank you!
M-Files Exporter
I've started working on a commercial Software for exporting Documents from M-Files at:
https://m-files-exporter.com
Note: Not all features are fixed yet, so if you want to join the discussion or you just want to be notified when it launches, please head over and join the mailing list to receive an update when it launches.