Author Topic: New reporting alternative for EA available!  (Read 10657 times)

msertic

  • EA Novice
  • *
  • Posts: 6
  • Karma: +0/-0
    • View Profile
New reporting alternative for EA available!
« on: November 30, 2008, 03:08:45 am »
Hi@all

This week, i wrote a new reporting alternative for Enterprise Architect!

The tool is called Mogwai EAReport. Basically, it is a Java application using the Enterprise Architect automation interface. It takes an existing EAP File and converts it to an XML file. Model diagrams are converted to PNG files and also stored to the filesystem. Then, a RTF template is used to create the report. The template uses XPath to select model elements from the XML file.

It is the first version of the tool, but it already gives you more freedom than the build in RTF report generator!

Please visit the project website at http://mogwai.sourceforge.net for more details.

For questions and comments, don't hesitate to contact me!

Regards
Mirko
« Last Edit: November 30, 2008, 03:21:15 am by msertic »

Lars H

  • EA User
  • **
  • Posts: 21
  • Karma: +0/-0
    • View Profile
Re: New reporting alternative for EA available!
« Reply #1 on: December 01, 2008, 07:39:39 pm »
Hi Mirko,

This looks very interesting, but it would be nice with an example/tutorial.

Regards,
Lars

msertic

  • EA Novice
  • *
  • Posts: 6
  • Karma: +0/-0
    • View Profile
Re: New reporting alternative for EA available!
« Reply #2 on: December 02, 2008, 05:19:14 am »
Hi Lars

Yes, i am sorry. The Maven assembly was buggy. I added the new 0.2.1 release a few seconds ago. Now, example templates and generated reports are also included.

Basically, you have to use it the following way:

1. Select an enterprise architect file
2. Select the element types you are interested in (all types are selected by default)
3. Select a temp directory. The graphics and the exported xml file are written to this directory.
4. Select a template to use for report generation. You can one of the provided example templates
5. Select the filename for the target report.
6. Click the "Generate" button

An xml file is written to the temp directory, and all model diagrams as .png files as well. Now the report template is processed, the included XPath expressions are evaluated against the model xml and the target report is processed.

If you need further assistance, please let me know. I would also be glad if someone would join the Mogwai project to enhance this cool tool for EA!

Regards
Mirko

Lars H

  • EA User
  • **
  • Posts: 21
  • Karma: +0/-0
    • View Profile
Re: New reporting alternative for EA available!
« Reply #3 on: December 02, 2008, 06:03:30 am »
Hi again,

I like the idea, but it is currently way to buggy. I got exceptions from Velocity Template if I tried to modify the RTF template, and after I restarted the tool, I got exceptions from the EA jar (probably because the EA DLL was not correctly stopped and an EA process was left running.)

But I will continue experimenting with the code and maybe try to generate HTML via XSLT instead of RTF via Velocity.

Thanks for your contribution, and I hope you continue improving it!

/Lars

msertic

  • EA Novice
  • *
  • Posts: 6
  • Karma: +0/-0
    • View Profile
Re: New reporting alternative for EA available!
« Reply #4 on: December 02, 2008, 06:58:31 am »
HI

Yes, it might be buggy, but it is still a 0.2 release! It is coded as a proof of concept. For me, it worked pretty well. Please make sure to edit the template with wordpad, not word, as words sometimes corrupts the velocity templates. Also, if you#ve exceptions, please report them as bugs to the sourceforge projects, or post them to this thread. I will see what i can do!

Regards
Mirko

Thelonius

  • EA User
  • **
  • Posts: 274
  • Karma: +6/-0
  • I think. Therefore I get paid.
    • View Profile
Re: New reporting alternative for EA available!
« Reply #5 on: December 02, 2008, 09:43:13 am »
Mirko

Great idea. I find the Sparx RTF Generator a bit challenging. The documentation could be improved. Trying to work through it at the moment and finding it all a bit idiosyncratic. I'll keep trying.

The ability to easily generate -- and easily customise -- reports from the EA repository is something that would add ENORMOUS value to my work -- and would be of ENORMOUS interest to customers.

I showed the 'Working with the RTF Generator' documentation to a customer the other day. It didn't go over well.

Regards

Jon

Lars H

  • EA User
  • **
  • Posts: 21
  • Karma: +0/-0
    • View Profile
Re: New reporting alternative for EA available!
« Reply #6 on: December 02, 2008, 07:27:33 pm »
Yes, Word was the problem. It works much better with Wordpad.

/Lars

Lars H

  • EA User
  • **
  • Posts: 21
  • Karma: +0/-0
    • View Profile
Re: New reporting alternative for EA available!
« Reply #7 on: December 04, 2008, 01:53:46 am »
Just a tip to properly shut down the EA process. This works for me:

Repository repository = new Repository();
try {
   // Do your work

} finally {
   repository.CloseFile();
   repository.CloseAddins();
   repository.Exit();
}

msertic

  • EA Novice
  • *
  • Posts: 6
  • Karma: +0/-0
    • View Profile
Re: New reporting alternative for EA available!
« Reply #8 on: December 09, 2008, 07:57:22 am »
Thank you. I will add this to the CVS :-)

By the way: dit you have success with XSLT and HTML generation?

Regards
Mirko

Lars H

  • EA User
  • **
  • Posts: 21
  • Karma: +0/-0
    • View Profile
Re: New reporting alternative for EA available!
« Reply #9 on: December 09, 2008, 07:14:30 pm »
Haven't tried yet. I will let you know if I make any progress.

Regards,
Lars

msertic

  • EA Novice
  • *
  • Posts: 6
  • Karma: +0/-0
    • View Profile
Re: New reporting alternative for EA available!
« Reply #10 on: December 14, 2008, 12:38:30 am »
Hi@all

I release version 0.3 of Mogwai EAReports today.

One of the major enhancements is that no longer rtf templates are used for document generation. Now, Microsoft Word 2007 OOXML .docx files can directly be used as a document template. The reporting output is a Microsoft Word file. The XPath expression detection method was improved to prevent common templating mistakes.

Feel free to visit the project homepage at http://mogwai.sourceforge.net for more details

Stay tuned

Mirko

msertic

  • EA Novice
  • *
  • Posts: 6
  • Karma: +0/-0
    • View Profile
Re: New reporting alternative for EA available!
« Reply #11 on: January 09, 2009, 05:29:20 am »
Hi and a happy new year to all!

Today, the Mogwai project release the 0.4 release of EAReports!

Velocity is no longer used for document generation. Templates can now easily be designed by using the Word 2007 Developer toolbar. Feel free to download the current version at http://mogwai.sourceforge.net and take a look at the provided examples!

Regards
Mirko

xuan

  • EA Novice
  • *
  • Posts: 1
  • Karma: +0/-0
    • View Profile
Re: New reporting alternative for EA available!
« Reply #12 on: January 28, 2009, 09:13:03 pm »
Hi mirko, when I try yo use your application I have the next problem:
Code: [Select]
[Fatal Error] :355:234: The reference to entity "etc." must end with the ';' del
imiter.
org.xml.sax.SAXParseException: The reference to entity "etc." must end with the
';' delimiter.
        at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(Unknown So
urce)
        at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(Unk
nown Source)
        at javax.xml.parsers.DocumentBuilder.parse(Unknown Source)
        at de.mogwai.reports.tools.XMLUtils.parseDocument(XMLUtils.java:80)
        at de.mogwai.reports.generic.GenericTemplateMerger.merge(GenericTemplate
Merger.java:68)
        at de.mogwai.reports.docx.DOCXReportingComponent.createReport(DOCXReport
ingComponent.java:51)
        at de.mogwai.eareport.MainFrame.commandExecute(MainFrame.java:248)
        at de.mogwai.eareport.MainFrame.access$500(MainFrame.java:50)
        at de.mogwai.eareport.MainFrame$6.actionPerformed(MainFrame.java:147)
        at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
        at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
        at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
        at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
        at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Sour
ce)
        at java.awt.Component.processMouseEvent(Unknown Source)
        at javax.swing.JComponent.processMouseEvent(Unknown Source)
        at java.awt.Component.processEvent(Unknown Source)
        at java.awt.Container.processEvent(Unknown Source)
        at java.awt.Component.dispatchEventImpl(Unknown Source)
        at java.awt.Container.dispatchEventImpl(Unknown Source)
        at java.awt.Component.dispatchEvent(Unknown Source)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
        at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
        at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
        at java.awt.Container.dispatchEventImpl(Unknown Source)
        at java.awt.Window.dispatchEventImpl(Unknown Source)
        at java.awt.Component.dispatchEvent(Unknown Source)
        at java.awt.EventQueue.dispatchEvent(Unknown Source)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.run(Unknown Source)
If you can help me i'll be thankful

OilyRag

  • EA User
  • **
  • Posts: 32
  • Karma: +0/-0
    • View Profile
Re: New reporting alternative for EA available!
« Reply #13 on: January 29, 2009, 09:35:56 am »
Cool approach to reporting. I might give it a try.

I have also created a reporting tool myself as an EA addin that generates MS-WORD documents using MS-WORD templates and styles therein. It requires you to create a "document model" within EA and place content into it, or link to content anywhere else in the repository through GUID based links which can resolve down to package, element, and diagram resolution. The document model in EA uses packages and package hierarchy to reflect the sectional structure for your intended document. It has features to generate tables, including relationship matrices based upon model element connectors, mainly to allow us to create requirement to design traceability etc. The Notes and descriptive fields of EA model elements form the words that are serialised to paragraphs in the MS-WORD document. Some basic embedded style controls are supported to allow users to make bullet lists for example.  It is fairly mature now and was based upon a similar tool I wrote for the company I work for.  I was going to bring this to market but I have kind of lost a little enthusiasm for doing so because I am not sure if anyone would be willing to pay for such a thing. How hard would it be to make it an open source project like mogwai?
The things I make may be for others, but how I make them is for me.

Thelonius

  • EA User
  • **
  • Posts: 274
  • Karma: +6/-0
  • I think. Therefore I get paid.
    • View Profile
Re: New reporting alternative for EA available!
« Reply #14 on: January 29, 2009, 10:42:38 am »
Quote
I was going to bring this to market but I have kind of lost a little enthusiasm for doing so because I am not sure if anyone would be willing to pay for such a thing.

If it works, is easy to use, is well supported, extensible, documented, and integrates transparently with EA - I'd be willing to pay as much for an excellent third-party report generator add-in for EA as I have paid for the corporate version of EA. If not more.

This is my biggest problem right now. The 'RTF Generator' thing - the editor that allows one to modify the base report format - is ugly, wierd, idiosyncratic, mysterious and - for a human like me - unusable.

Consumers are like cockroaches. If you see one, there are thousands more you haven't seen.

I would encourage you to bring your work to the market.