Sparx EA - Is there a way to include Diagram Filters in published HTML Reports - enterprise-architect

Sparx EA - Is there a way to include Diagram Filters in published HTML Reports. Would like to have the flexibility to filter diagrams published in HTML reports, based on certain tags.
TIA

Not my expertise, but AFAIK you can't. You could probably write some JavaScript stuff or if you limit it to predefined filtering use some style sheet. But the diagrams are rendered as png when EA exports them. So everything is fixed. The ability to apply a filter would mean the browser has to know what's in the png.

Related

Enterprise Architect composite diagram link not displayed with ArchiMate

We use elements with composite diagrams in our models. Usually if such a composite diagram exists, then the element shows a link icon to indicate a double click will open/show the diagram.
But with ArchiMate elements the link icon is not shown unless using the rectangle notation. Is there some workarround or configuration to allways show the icon?
This screenshot illustrates the problem:
Out of the box, there is nothing you can do. There is no setting or configuration that will show the composite diagram indicator on the Archimate elements.
The reason is that the shapescript used for these elements simply doesn't include this indicator.
There are a few options to get this done anyway
1 Send a feature request to Sparx
You can use this link: https://www.sparxsystems.com/support/forms/feature_request.html to send an official feature request to Sparx Systems. They might one day implement this, but there are no guarantees at all.
2 Override the standard the ArchiMate MDG
Steps include
Create your own stereotypes in a profile, redefining the existing ArchiMate stereotypes. See the manual for more details
Include your profile into an MDG
Add your MDG to your model or environment
Set your MDG to Active to actually make the redefines happen.
This might be interesting if you want to add additional properties (tagged values) to the standard ArchiMate stereotypes as well. I'm not so sure if it's worth the trouble just to add the composite indicator.
3 Hack the existing Archimate MDG file
The Archimate MDG is defined in the file C:\Program Files (x86)\Sparx Systems\EA\MDGTechnologies\ArchiMate3.xml. This is an XML file that you can open with any text editor. The shapescripts are included in binary form like this
<Image type="EAShapeScript 1.0" xmlns:dt="urn:schemas-microsoft-com:datatypes" dt:dt="bin.base64">
UEsDBBQAAAAIAGaEbU+CvMH4PQIAADAKAAAHABEAc3RyLmRhdFVUDQAH1zDMXdcwzF3XMMxd
zVVJTsNAEOyrkfhDFC6OlAP7IsSRF/AAlMSJY5FNjgMKiL9T1Z3B9tiJAxKLLI9nqamumV68
lLH0ZCFDackUvURmcigH8qZtIBPMrWUuK8nwrBV5J23pYy6VCKMUo9sNeobZpTJG6L0AmWF9
BZRDWJvISELFLcGYAkveVC2E4EsxGmDUA2MMDUNl5jjD3jlGbeniPcbbwWOsTnOgukbgTuQV
vVDO5AL4K+A7n0oCrJORVhfKPAayuD6E5Qk4FkCS5RT7u/pea3vm8VFltIVrBB6y8USRWuap
n7CnHj/F6jNWM3xDqK+zR20zD+OfsYw5UQzbMqrO2m6mm72YzB75mpjKmPfNlx7g3Tf51zh8
xdUoChWXK687AWOXHlohxi2WGZuMSnqKa1QfbyKQkbjf7hn6U/Rt30AYLZlY/hQZ3Dff3fIs
O0R+H4FmEe+EfOxF2D0EPsY3Qx4ydnMb7n7rrTmldXbG8ohVejAGjpWgfJLcRqA1YgIl1Srg
FPM8md7O0afVI+8+nFb7Wsu3qJh51RdGC1ec3u32GVOMPiqIVQU1LFGx6B2LEafBdvx0xdrv
Nvw7YB4M9By5nRb6VMLZ4m3Yac1XOZoeZC7mnvuN8zbl91crMyuj+Y01oCvnXk7vqszfq8W+
hf9fi+3vtbsW23+trhY3xRxnprg//v8TYTUgtjn2HuS+EHt/G3VN1hPMV89pFl2FKdotV04/
Zl0UufbS80x1BxEO7f5f1V1lr1tm+F73/W5Z46PqKu8HUEsBAhcLFAAAAAgAZoRtT4K8wfg9
AgAAMAoAAAcACQAAAAAAAAAAAACAAAAAAHN0ci5kYXRVVAUAB9cwzF1QSwUGAAAAAAEAAQA+
AAAAcwIAAAAA
</Image>
If you replace that section with a shapescript of your own, it will happily accept that. You can create this format by creating your own profile in EA and then exporting the package as a UML profile. EA will then convert your shapescript into this binary format.
I one published the shapescript for most of the MDG's, including ArchiMate3 on github. That might give you a head start when developing your own.

Linking items in Sparx Enterprise Architect Glossary

I'm looking for a way to link several items with each other in the Sparx Enterprise Architect Glossary. Is this a possibility?
Example
Term
Definition
Links to
Fact
Something that happend
Follow-upRegistration
Follow-up
Action following a fact
Result
Registration
Writing the fact down
-
Result
The effect of the follow-up
-
I'm looking for a way to register the third column making it easier to have a traceability within the glossary.
You can't do that with the standard glossary, but you can with the new glossary modes (since v15)
See the manual for more info.
This new method allows you to create elements for glossary items. And since they are elements, you can link them to other elements.
You can even use the classes of your existing data model. Just add them to a glossary diagram, and they are included in the glossary.

enterprise architect template editor select diagrams to appear in report

I am new to enterprise architect and the template editor and am trying to set up a simple template for reporting use case scenarios. What I want is to display the use case diagram the activity diagrams and the scenarios. At the moment I manage everything except activity diagrams using the following structure:
Package
Diagram
Element
Diagram
Scenario
This codes does not display the activity diagrams. By enabling child elements under the diagram section in the element section I manage to enable activity diagrams, but it also produces headings for all the steps in the use case in my report. Does anyone know how I can select that I only want the activity diagrams?
The solution was to include child elements and then in exclude filters select everything except use case and activity. The solution was provided by Sparx Systems support.

How to integrate ECharts with BIRT/Pentaho?

I'm looking for a report engine which may:
connect to data source via JDBC
create logic data set by grouping/aggregating the raw data
include a data filter on the top of each report, which allows my client use the report interactively
add custom charts, in my case, it's ECharts https://github.com/ecomfe/echarts
support multi-tenancy paradigm (new requirement)
Now BIRT and Pentaho are the two players on my table.
For pentaho, it's really hard to find useful document to at least clarify if it's capable. Please if you're familiar with it, let me know if pentaho community version meets my requirements.
For BIRT, I've found evidence it support my first 3 needs. But for custom charts, I can only find examples/docs about adding custom IMAGE/SVG charts. As ECharts is based on canvas, I'm not sure if it's possible to integrate ECharts with BIRT.
Thank you!
Yes, it is possible to integrate javascript charts in BIRT. Basically:
Select the top-level element of your report outline -> Script tab -> clientScripts
Include here your echart resources (.js and .css) using "head.js" (see link below for more informations)
Add a text element to the report
Set the type of this new element to 'HTML'
In a script tag, initialize your echart object in a "head.ready()" instruction (see link below for more informations). The tricky part is to understand how to use a server-side dataset in a client-side chart within this html script.
You can find more informations and a full example of a such report here, this example embeds a jvectormap in a birt report. Furthermore, see a live demo here, where a JIT chart is integrated in a BIRT report.
However since these charts are created using a client-side framework, obviously BIRT won't be able to export them in PDF format. You can see in the live demo linked above, how a BIRT report can easily handle a different output when users export to PDF.
You can do it in Pentaho, but which tool to use it's a matter of debate.
Using Pentaho Report Designer:
- Connects to DBs using JDBC;
- Allows grouping rows based on a field or fields and calculating functions such as running sums;
- Can use selectors (single or multi-valued selectors) to interact with the report, passing the selector values to the queries;
- As far as I can tell, you don't have many options to choose a specific charting engine.
However, you can use CCC as the charting engine, which is a Protovis based Javascript charting engine, cross-browser compatible (for the most part), renders SVG charts with a decent fallback for IE (I believe the fallback is flash but I'm not sure if it changed recently) and produces decent looking charts.
If you HAVE to use that chart library, then I suggest using C-Tools dashboards instead, where you can embed as many different JS files you want and you have full control over the JS and CSS of the page. But most of the reporting functions from PRD will have to be implmented by you.

DynamicReports vs. DynamicJasper [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 7 years ago.
Improve this question
Background
Developing Java EE application with DynamicReports and so far it's sufficient for me. Recently I found DynamicJasper and I would like to know if it could be better choice.
I can see that DynamicReports may have better support and community.
Questions
What have been your experiences with both libraries?
Which offers better functionality?
What are strengths and weakness of each other?
Thank you!
This question touches a few ways to create reports using the JasperReports API (either directly or indirectly):
iReport
JasperReports API
DynamicJasper
DynamicReports
DynamicReports (DR) and DynamicJasper (DJ) are two free and open-source software tools that abstract (and simplify) common tasks with the JasperReports API. If you are considering developing reports programmatically, these tools can cut the development time.
The DR and DJ API packages have the following features in common:
Dynamic design
Dynamic column widths
Stable
Mix iReport templates with code
iReport
iReport is a user interface that hides the complexity of calling JasperReports methods directly. In other words, iReport is a fancy and friendlier way to develop reports than coding Java calls manually. The end result is the same: a compiled report (.jasper) file.
JasperReports API
The JasperReports API provides programmers with a set of Java classes to have a computer create reports based on business needs. The API makes it possible to, for example, develop a web site that allows users to pick the columns they want within a report and then have the report template be created on-the-fly. After the template is ready, a user can then run the report to see the results.
One feature that iReport lacks is the ability to dynamically resize column widths. By using the JasperReports API directly, programmers can create a report template with the optimum column width for the report's result set.
The problem is that the JasperReports API is extremely complex, and parts of it could use more documentation.
DynamicJasper
The DynamicJasper website notes the following benefits over the JasperReports API:
Automatic layout
Barcodes
Clean Excel support
Struts & Grails support
The API examples show a good working of object-oriented principles. The web site offers many examples, and the Javadocs are sparsely commented. The forum is more active than DynamicReports.
Update: The project is now on GitHub. No more forum, but you can request a Professional Support
DynamicReports
The DynamicReports website notes the following benefits over the JasperReports API:
Inherited designs
The web site offers many examples, but unfortunately the Javadocs do not have a lot of comments. Further, the forum appears less active than either JasperReports or DynamicJasper.
Summary
If you are happy with DynamicReports I'd say stick with it, otherwise try DynamicJasper.
I've just spent a few days using and evaluating the different reporting options above and thought I would add my 2 cents into the mix.
I've built the same report (Profit & Loss) in JRXML, Dynamic Jasper and Dynamic Reports.
I needed a solution which would output well in both PDF and excel formats and had the ability to handle dynamic columns.
Here's what I found:
JRXML
Found it very tedious to use with and without using iReport. I've had experience using JRXML before and I still found it a real battle to get the report to display correctly in both PDF and Excel. I had to use a lot of workarounds by hiding and displaying some fields based on if it was going to be PDF or excel. Dynamic columns are not handled well.
Dynamic Jasper
At first I was finding Dynamic Jasper pretty good to work with but had some problems with having absolute control over the layout and putting additional controls on the report. It seems that if your report is column based than it works fine. I couldn't work out how to add a subreport to the detail section and had to add it to the group header or footer.
Dynamic Reports
In my opinion Dynamic Reports is the most flexible and easiest way to create dynamic jasper reports. The syntax is easy and intuitive and I found it very quick to get up and running. You do column based report like Dynamic Jasper but also have the options to drop components strait onto the title, detail or other areas of the report. It uses a flow layout so you just drop components into the report and the display in that order. Export to both PDF and Excel was consistent.
The last and most significant benefit of Dynamic Reports is the support and update activity. DynamicJasper has not had forum activity or support in well over half a year while DynamicReports is not only actively updated but also the developer (Ricardo Mariaca) actively monitors the forum and responds quickly to questions.
About a year ago, I came across DJ. My experience with DJ was the best as there were several minor glitches that needed workarounds. However, I found those problems when the project was almost completed and as those workarounds already existed, I continued to use DJ.
After few months, I found DR and learnt that DR has a better structure than DJ. My next project will definitely use DR.
To be frank, I use DJ 3.1.x series and did not try any newer version. I also did not use DR extensively yet.
I am a big fan of DynamicJasper but recently I switched to DynamicReports 4.0.1 (at the time, DynamicJasper latest release is 5.0.3).
With much better API in terms of readability and usability, DynamicReports provides much more flexibility to design reports on the fly. There are also plenty of samples on its website that fosters new ideas and some tutorials that help you start fast. This link is a good starting point too.
The only issue I had starting to use DynamicReports was that with JasperReports and DynamicJasper, I was used to create the JasperReport first (design) and then pass the JasperReport object along with a datasource to JasperFillManager.fillReport(...) method to create the JasperPrint object.
With JasperPrint, the only thing is to set the data source before creating the JasperPrint by report().toJasperPrint() method.
You can lookup for usages of a component builder or any utility in its source code to see how to make use of a special feature.