Enterprise Architect: Can you generate a report from separate packages? - enterprise-architect

Is there a way to combine multiple packages into one (html) report? I don't want to generate a report from the parent package because it contains a lot of information not related to the desired report. I'm looking for an answer that does not require copy/pasting the separate packages into a new parent package, mainly because that forces me to update the links between the various diagrams and is quite time consuming.

Thanks to #Uffe, there actually is an elegant solution in EA. You can create a documentation diagram and add model document or master document elements to it. To these elements you can then add packages from anywhere in the model, and then publish this combination in any of the supported formats. More details here.

You can't combine the output of several HTML (or document) reports into one. You can do the opposite: you can exclude certain packages from generation.
Simply select each (child) package you wish to exclude, right-click and select Documentation -- Generated Report Options... This allows you to choose whether the package is included in the report. This option is recursive, so the package and all its child packages are excluded.
The other option is to write a script which traverses a package structure and selectively generates documentation for it using the DocumentGenerator class.

You don't want to create a report from the parent package, and you don't want to copy/paste, so try this: create a new package, drag the packages that you wish to report on into the new package, create the report on the new package, drag the packages back where they came from, and delete the new package.

Related

Swift package manager generate Xcode project while maintaining group structure

Is it possible to maintain a group structured hierarchy in Xcode when generating from the swift package manager? Every time I run:
swift package generate-xcodeproj
I lose any group (not folder, which works fine) structure I had. I regularly like to have some level of visual organization that is not visible to the code (i.e. groups as opposed to folders) while programming in Xcode.
I believe that what you want is to organize your sources as follows (based on the follow up comment):
Foo/Package.swift
Foo/Sources/Foo/Living.swift
Foo/Sources/Foo/Specifies/Bird.swift
Foo/Sources/Foo/Specifies/Fish.swift
Foo/Sources/Foo/Specifies/Human.swift
Note that the important bit here is that if you want to use subdirectories, you have to ensure that your code is all nested one level down inside of Sources. This is the convention used when one package declares multiple targets, and it is required if you want to use nesting for sources. See the source layouts section in the reference.
If you use this layout, then with the latest Swift package manager (available via swift.org) the generated Xcode project will have the group structure I believe you want.
This is something we know is confusing right now, and we are evaluating how best to improve things.

How do I import a complete model (ie multiple XMI files) into an Enterprise Architect Project

I am trying to take a copy of the XMI files for an Enterprise Architect model and then import them into a new EA project. The "Bulk Import" option doesn't seem to do what is says on the tin.
By figuring out now the package hierarchy is mapped into the EA xml files I could do this by importing the one file at at time starting from the root package, but this is implausibly time-consuming given the number of files involved. I have tried using the "ImportPackageXMI" method on the API to automate the manual approach, but this requires the parent package GUID to be known. For the root package(s) the parent is a "Model", which is created in the new EAP (maybe it has a GUID - but not that I can figure out) and there seems no simple way of recreating the package hierarchy in any case. (I was hoping that if I imported the xmi files - using a specially created root package - then EA would work out the package structure somehow, but this was not the case!)
This seems like it should be a trivial task that should be directly supported from the tool: export model, then import model. Maybe I'm missing something or there is a simple solution for this?
For clarity, I'm using the Desktop Edition (so no scripting available).
My actual goal was to create a copy of project (EAP) that was not associated with any source control settings : my attempts via export/import of the xml it seems was not the best way to achieve this!
A simple way I have found to is to create a new (project) EAP and then open the original EAP in another window (by clicking on the EAP file in Windows explorer). Once this is done the top level packages from a model in the original can simply be copied and then pasted - using the standard shortcuts - into a model in the new EAP, which is not associated with the original source settings. Hence new source control settings can be applied and the model controlled by a new source control technology.
You could simplify this task by using Project/Data Management/Project Transfer. This way a complete copy is done, which also includes the so-called reference data. XMI does only ex-/import elements and connectors (not for example image data, glossary, etc.).
The right way to do that is firstly create a Controlled Model Branch
Then you can Import this Model Branch and it will reconstruct your complete model (branch) from all the xmi files involved.

Is there a way to have the package explorer show assemblies that have TODOs in eclipse?

In the tasks view, I can see all of my TODOs. This is great except for the fact that I've inherited a lot of legacy code that has a lot of TODOs that will never get done. I think that a project should not be counted as done if there are any TODOs (This is specific for my team, I'm not advocating philosophy here). So I'd like to see my TODOs without seeing the legacy code's.
Is there a way I can have the package explorer annotate the icons of my projects for TODOs the way it does for warnings and icons? I can then use this to quickly see which of my projects I need to deal with rather than dig through the task list.
You can create a custom Task Tag, and use it instead of the TODO tags.
From Preferences search for Task Tags, choose the category you are interested in (e.g. Java --> Compiler --> Task Tags) and add a new tag with a name of your choice.
You can then control what to appear on the task list from the Task List's View Menu (the arrow on the upper-right of the task list), select Configure Contents and add a New configuration with the Description Text equal to your custom tag name. Select the new configuration and un-select the TODOs, and the tasks annotated with the custom tag will appear on the task list.
And you can always add a Template for your custom tag for easy access.
In case this is still interesting for someone:
There is a plug-in called Task Tag Decorator.
The only downside as of today is that it doesn't support the latest Eclipse versions (last support is for 2018-09 (4.9)). Hopefully support for current versions is added soon.

Eclipse plugin to colorize/visually flag entries in the Package Explorer?

I am looking for a way to colorize entries in Eclipse' Package Explorer:
In bigger projects you have dozens of files in a package all listed underneath each other. This makes it hard to find the file you look for (e.g. for right-click operations). So it would be nice if I could manually colorize some entries.
Does a plugin for this exist?
This is one that I was using before. It lets you set rules and tints icons accordingly:
Label Decorator
One way to have Eclipse filter the classes you see is to use Eclipse Mylyn. You create tasks that you work on and Mylyn will remember the packages and classes associated with a certain task. It will then filter out all other classes/packages. This gives you an editor that only shows the information relevant to a specific task.
I suggested Mylyn for a different problem aswell and in that answer I gave a bit more information.

birt reports resources

I have a folder containing lots of birt reports.
I have to open one report, modify it in an rcp application.
I want to copy from the original workspace all the resources related to the report i am working on.
All the resources , for all the reports and in a big folder ..how can i find out witch ones my report depends on, so i can copy them.
After i make the changes, i will deploy on jboss, the modified report, so that is why i need all the reports resources, so my reports show all in jboss.
Is it the way to do it ? Is there a simpler way ?
Thanks
Is it the way to do it ?
Depending on what kind of relation is between report design and resources, you could try to find them in rptdesign xml source.
For example I have a report with some images - their locations are referenced by <expression name="uri" type="constant">my_image.png</expression> tags, so i probably will find them manually using expression like <expression name="uri". I would try also simple .png, .jpg patterns to find them, if I knew what kind of files they are.
Next, libraries are listed in Outline view. They are also searchable in rptdesign xml.
Next, some resouces are defined as report properties: Property Editor -> Resources -> Properties files, Jar files, Javascript files. Also listed in rptdesign xml.
Is there a simpler way ?
I'm afraid, it isn't. If it is repetitive work, some script or xsl transformation on xml would do the job.
And be carefull with libraries - they can have their own dependencies.