Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - Martin Aspeli

Pages: [1]
1
General Board / Automatic report generation (with filtering)
« on: July 16, 2009, 05:11:53 pm »
Hi,

I have a custom RTF report template that shows a list of elements and connectors. It is based on the "data model" template.

I want to show only connectors of a certain type (ideally only connectors with a certain *stereotype*, but I can't see a way to do that) in the report body.

The only way I've foundt to do this is to use a lot of "exclude" filters in the "Documentation -> Generate RTF Documentation" window. The problem is that these settings are not saved with the template, so I have to train my users to select the right things every time. We've got hundreds of packages that need to be exported like this on an ad-hoc basis, so having to go through this dance is too time consuming and error prone.

Is there a way to either:

 - Specify a condition/filter in the template so that it only lists connectors with a given stereotype?

 - Save the RTF report filters so that they're applied each time?

 - Create a script (or maybe an add-in menu item action?) that runs the given report with the given filter parameters?

Cheers,
Martin

2
Hi Aaron - is this information on the web somewhere as well?

3
Hi,

I've built an add-in using Visual C# express. My bin/release folder contains:

  MYCOMPANY EA.dll
  MYCOMPANY EA.pdb
  MYCOMPANY EA.reg
  MYCOMPANY EA.tlb
  MYCOMPANY_EA.dll
  MYCOMPANY_EA.pdb
  MYCOMPANY_EA.reg
  MYCOMPANY_EA.tlb

I really don't know why I have both versions with underscore and with a space (the file sizes are different!). Looks like the underscore versions are the ones that are used, though.

To .reg file contains instructions to set up various things in HKEY_CLASSES_ROOT. It basically has everything I see in the registry, except the CodeBase key:

Code: [Select]
REGEDIT4

[HKEY_CLASSES_ROOT\MYCOMPANY_EA.Plugin]
@="MYCOMPANY_EA.Plugin"

[HKEY_CLASSES_ROOT\MYCOMPANY_EA.Plugin\CLSID]
@="{72A3C8EC-6836-3535-AF86-BB1FB99D7D0D}"

[HKEY_CLASSES_ROOT\CLSID\{72A3C8EC-6836-3535-AF86-BB1FB99D7D0D}]
@="MYCOMPANY_EA.Plugin"

[HKEY_CLASSES_ROOT\CLSID\{72A3C8EC-6836-3535-AF86-BB1FB99D7D0D}\InprocServer32]
@="mscoree.dll"
"ThreadingModel"="Both"
"Class"="MYCOMPANY_EA.Plugin"
"Assembly"="MYCOMPANY EA, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"
"RuntimeVersion"="v2.0.50727"

[HKEY_CLASSES_ROOT\CLSID\{72A3C8EC-6836-3535-AF86-BB1FB99D7D0D}\InprocServer32\1.0.0.0]
"Class"="MYCOMPANY_EA.Plugin"
"Assembly"="MYCOMPANY EA, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"
"RuntimeVersion"="v2.0.50727"

[HKEY_CLASSES_ROOT\CLSID\{72A3C8EC-6836-3535-AF86-BB1FB99D7D0D}\ProgId]
@="MYCOMPANY_EA.Plugin"

[HKEY_CLASSES_ROOT\CLSID\{72A3C8EC-6836-3535-AF86-BB1FB99D7D0D}\Implemented Categories\{62C8FE65-4EBB-45E7-B440-6E39B2CDBF29}]

To make the plugin work I also have to add HKEY_CURRENT_USER/Software/Sparx Systems/EAAddins/MYCOMPAY_EA with a default key of MYCOMPANY_EA.Plugin.

This works on my development machine, but I now need to deploy it to a number of other users. Here I'm a little lost.

I can create a .reg file to create the EAAddins entry, and run this + the generated file shown above. That still doesn't tell .NET where to find the DLL, though, as there's no CodeBase.

Where should I put the DLL file?

Do I need to run any .NET tools? The Sparx documentation refers to regsvr32, but this clearly doesn't apply to .NET/COM assemblies like this one.

Is there a better way?

Thanks,
Martin

Pages: [1]