Feature Preview: DocAPI

As our next release is getting closer (1.3.0 will be released at 21st August 2020), I want to give you a short preview of one of the new features, the DocAPI. The idea of DocAPI is to generate PDF documents out of CMDB object data.

A user can create a Document Template in DATAGERRY for a specific object type:

After that, the document template can be designed in a WYSIWYG editor. Fields of the choosen object type can be accessed with template variables. For example in the screenshot, you can see {{fields['hostname']}} to access the field hostname of the choosen router object. Like in Exportd, object references can be dereferenced up to 3 layers (see the location field for an example).

To make the template designing easy to use, template variables can be added with a simple menu, which lists all available fields with references of the choosen object type. Also barcodes (at the moment QR and Code128 barcodes are supported) can be added to a document template.

After saving the template, documents can be accessed in a small box on the object view page:

And will be rendered as PDF:

The feature has almost be completed. We need to write the documentation and do some fine tuning on the editor (so that “what you see” is really the same as “what you get” :slight_smile: ) If you want to have a sneak preview on the new feature, you can have a look at our development branch (please, don’ use that branch in production or with your production database :slight_smile: ). You are welcome to share your thoughts and ideas about our upcoming feature.

Hi Michael
would it be possible to do it for a list of Objects? Or a aggregated List of Fields like a list of IOS Software type’s I use in my list of Router objects.
So I think of a kind of reporting summary…

Hi Joachim,

we had that in mind and prepared the DocAPI to also generate documents for object lists or other parts of DATAGERRY at a later time. This will not be part of the first version, but I think for 1.4.0 (released at Nov 2020) we’ll have the object lists part implemented.

In the first part of the assistent in the UI, the user can choose a “Template Type”:

Currently we only have the “Object Template” type defined. This would be extended to also support “Object List Template” or maybe other template types at a later time.

With a graphical Summary in front.
Eg. a pie graph what shows the distribution in percentage of a IOS over all Router objects?

I’m not sure, if the DocAPI is the right place for that. But a reporting feature with pie charts is also on our roadmap for one of the next versions.

HI @mbatz,

Can I get objects in this function that refer to this object that I want to print in PDF?
Could exists in feature the ability to change the font size?

Hi @marcinw,

currently, you can resolve references (using the CMDB data button). The other way round (find all object, that have a reference to this specific object) is not implemented at the moment. The template syntax is the same like in Exportd.

You can change the font size or do advanced styling. Use the editor for some simple styling, if you want to setup advanced styling, use the textarea after the editor and add some custom CSS. The DATAGERRRY admin guide will give you some hints about that:

Hi @mbatz,
Currently the CMDB data button get my information about that object which i currently watching not more.
From my perspective, I think that since the documentation functionality in pdf about the object has been introduced this like in a CMDB and according to these the rules and what is expected from CMDB should be information about all dependencies for that object about which you print “Documentations” in PDF.

For example, there could be a checkbox for this (all objects from all types), or an option to choose what type of dependency object the datagerry application administrator wants to show when printing the documentation, or he doesn’t want any additional information about dependencies, but it should be possible as in a real cmdb where dependencies are the basis.

Could You think about that?