HTML Reports - by View?

Started by aruberto, December 01, 2014, 12:31:32 PM

Previous topic - Next topic

aruberto

Hi

My organisation wants to use the HTML reports to provide content to stakeholders on our online architecture repository. Unfortuntately, neither the user guide or trialling the HTML report fuction in Archi has lead me to find a means of generating a HTML report for a specific view in a way that the output is limited to only the components in the selected view. Archi only appears to allow you to generate a HTML report for the entire model encompassing all the views and all the components. In our case this leads to a very large report which when uploaded to the online repository requires users to scroll down multiple screens. There are also no hyperlinks within the report that allow you to move up and down the page/from view to view/component to component. So its a pretty bleak user experience which some have already said they would not go to the effort of using. Using Jasper report seems to generate the same thing.

To help to get over this it has been decided that we should create templates of our high level architecture for others to use to create seperate detailed views. The idea being that the template will include pre-defined components people can re-use. However, it means we have to have several sets of templates to ensure that we don't provide unecessary components that would appear in the report e.g. for a detailed application view we would have to create a template from the master model that has all the existing views and both the business and technology components removed. This in itself causes issues, should someting in the detailed view change we have to update the high level template and all other models created from it or vice versa if we want to maintain the integrity of the templates/component definition. To me this seems hard work and introduces a complex process to maintain.

The other alternative would be to create seperate models from scratch where you re-define every component every time... but that seems pointless/against Enterprise Architecture principles.

Without the function in Archi to select views to generate a HTML report from, my preference would have been to have a single model to keep the referential integerity with multiple views. I could then cut and paste sections of the HTML report into the online repository as needed for each view. But this is not ideal either as it requires specialist knowledge of HTML to extract the sections of the report and additional effort so the organisation is not keen. Even though I think its the lesser of 2 evils.

If I've totally missed it and anyone knows how to customise the Archi HTML reports to provide content for a selected view only that would be really helpful. If that function is definately not there I think its something that should be developed as quickly as possible.

Thanks very much.

Jean-Baptiste Sarrodie

Hi,

In fact you can use "File > Report > Jasper..." and the "Customizable Report" template. This template offers a way to generate a document based on a Tag ("Report:View:Tag" view property).

You'll find more details by creating a new model using the "Customizable Report (with tag support)" template and opening the "_READ_ME_" view, but here is the interresting point:

Report:View:Tag
Use this property to tag a view (you can use this property multiple time). Tags can then be used to create a report containing only one specific tag. To do this add "#tagname" to the end of the report title (case insensitive). You can make a view visible for all tag using the special tag "all".

Hope this will help.

Regards,

JB
If you value and use Archi, please consider making a donation!
Ask your ArchiMate related questions to the ArchiMate Community's Discussion Board.

aruberto

Thanks for this JB it was helpful. I'm using Archi version 3.1.0 so the tag property isn't included in the read me file so not sure how it works. Will need to play with it.

I have however, used the other properties in the read me file to successfully limit the views displayed in the Jasper Report and limit the components displayed to either Application only or Business only etc. What it doesn't seem possible to do is limit the components displayed to only the view selected e.g. if you have application component A, B and C but only A and B are in the view the report still shows C because it is an application component. If there is no way round this we could probably live with it.

However, more importantly the Jasper HTML report doesn't create hyperlinks for URLs starting http://. On viewing the source code it just creates them as flat text not a href anchors. So this would still mean manual manipulation of the reports from someone with specialist knowledge.

Any more help/suggestions greatfully recieved but thanks for progress made so far.

Jean-Baptiste Sarrodie

Hi,

Quote from: aruberto on December 02, 2014, 11:04:48 AM
Thanks for this JB it was helpful. I'm using Archi version 3.1.0 so the tag property isn't included in the read me file so not sure how it works. Will need to play with it.

Quite strange as I've just opened it and it is. Maybe the font size is too mig for the _READ_ME_ note to display in full.

Here is a more detailed explanation: Imagine you have several "per application" views. On each of these views, you add a property named "Report:View:Tag" with (for example) the application name as value (e.g. the view "Design for application SAP" has a "Report:View:Tag" = "SAP"). Then, when you use the report plugin, use a title ending by your tag (e.g. "Design for SAP#SAP").

Quote
I have however, used the other properties in the read me file to successfully limit the views displayed in the Jasper Report and limit the components displayed to either Application only or Business only etc. What it doesn't seem possible to do is limit the components displayed to only the view selected e.g. if you have application component A, B and C but only A and B are in the view the report still shows C because it is an application component. If there is no way round this we could probably live with it.

One workaround is to hide all model details ("Report:Model:Hide:*" set to true) and set one of application centric view to the detailed mode (create a property on the view named "Report:View:Detailed" et set to "true"). Then, all archimate elements (but unfortunately not relationships) will be detailed (with their own properties and doc).

Quote
However, more importantly the Jasper HTML report doesn't create hyperlinks for URLs starting http://. On viewing the source code it just creates them as flat text not a href anchors. So this would still mean manual manipulation of the reports from someone with specialist knowledge.

This should change in the futur as we have plan to include a Markdown parser to convert documentation properties to real HTML. In the mean time, the only workaround I see is to develop a small JavaScript code which would parse page content to replace "http://..." string with real <A> tags, and add this to each generated page (or best, add it to a copy of the jasper report template).

Regards,

JB
If you value and use Archi, please consider making a donation!
Ask your ArchiMate related questions to the ArchiMate Community's Discussion Board.

aruberto

Thanks again JB the Report:View:Detailed option may be the way to go as I think it will suffice for our business users.

Will look into the javascript parse.

You're a *  ;D

Jean-Baptiste Sarrodie

Quote from: aruberto on December 02, 2014, 12:14:38 PM
Thanks again JB the Report:View:Detailed option may be the way to go as I think it will suffice for our business users.

Will look into the javascript parse.

You're a *  ;D

You're welcome ;-)

Happy to help

JB
If you value and use Archi, please consider making a donation!
Ask your ArchiMate related questions to the ArchiMate Community's Discussion Board.

aruberto

JB - two things since trying this out not sure if you can help:

1) the Jasper report creates a folder to store the image files but when you view the file type it says its a "file". So when I upload this to our dokuwiki server its not recognised and will not allow us to upload the files. The only thing I can think to do is screenshot the image and turn it into a jpeg and change the code to accept the jpeg.
2) I tried using the PDF output of jasper reports instead.  This was a lot more pleasing to the eye and wouldn't need the manipulation of images. The hyperlinks to other documents kind of work until you get one that is longer than 1 line it breaks the link. Only thing I can think to do is see if I can get access to a PDF editor to allow me to update the links manually.
2) I've tried to find some JavaScript code on the internet to help with parsing text urls to html links. None of the examples work in the Jasper reports. My programming skill is limited to HTML and CSS its been decades since I used JavaScript/server scripting so its all forgotten. Nobody in the org to support at this time. Feel like a salmon with one fin swimming up stream  :-[

Its a lot of effort... hoping development on the html reporting is going to be happening soon.

Any further advice?