Package based connectors
Applies to Manual Upload, FTPS and, QUBEdocs API
Notice: The FTP connection option will be deprecated soon. Please see here for more information.
For our legacy package based connectors it's quite easy to see what QUBEdocs requires to generate model snapshots. When you installed QUBEdocs you would have deployed a number of files to your models data directory.
These objects allow as to export additional data describing relationships within your model and to automate your documentation.
By running the QUBEdocs Update process (or QUBEdocs Create Package process), QUBEdocs will executes a TI and output three files.
1_QUBEdocsDefinitions.qson - Contains descriptions, statistics, relationships and other object attributes.
2_QUBEdocsApplications.qson - Relates to the QUBEdocs Applications functionality, create custom diagrams and links through to documents
3_QUBEdocsSecurity.qson - Contains all user, group and object level access for those users.
The last thing this process does is to execute a batch script (QUBEdocs_CreatePackage.bat).
This does two things, it creates the QDFileList (which is a list of all cubes and dimensions in your data directory) and takes the three QSON files, the QDFileList and then all Rules, Processes, Chores, Views and Subset and puts them in an archive (QDPackage.7z).
This package contains all the metadata we need to document your application.
Connecting through the TM1 REST API
If you choose to connect to QUBEdocs through the TM1 REST API we do things a little differently.
The process is actually pretty straight forward but does mean that we require greater access to your environment.
A simplified run down of what we do is
- Execute the QUBEdocs Update Process
- Load your Cube, Dimension, Process, Chore, User, Group and Model metadata
- Execute MDX queries against the TM1 stats cubes to load statistics
- Execute MDX queries against the QUBEdocs Definitions cube to load object attributes
- Execute MDX queries against the QUBEdocs Applications cube to load applications
- Close the session
To better understand what these API calls look like, I've put an example below