EA documentation for a view use case - enterprise-architect

For this web project, a table listing is implemented in many different places (~60 tables, as in jqgrid tables showing information from db). The table functions are mostly the same (sort, filter, pagination, some custom actions) but there are specific requirements for these (columns to be sorted/filtered, table actions, ...).
I am trying to come up with a right way to model every table with it's specific details. For this I created some default Tagged Values, which I fill in by hand (e.g. table headers = id, special name, direction). I created a default use case "View table" which I copy as a new instance in the use case diagrams for each of the packages that define the tables.
My questions are:
The way I did it doesn't seem to let me to link the default activity diagram to the use case instance (RClick on use case -> New child diagram -> Select composite diagram => doesn't open the window "select a diagram"). How can I do this ?
If the way I did it seems wrong / not a good practice, how could I do it better ?

To create (and link) activities for a use case Add/Activity/with AD from the project explorer for the UC. That will create it inside the UC where it belongs. item
You'd be better served with a simple profile that creates the TVs automatically. See here: http://community.sparxsystems.com/tutorials/552-24intro-to-creating-a-mdg-file

Related

Working with elements "diagram properties" in script

I have an my own MDG, consist of several elements. I need change view of those elements when its placed at different diagram. There is a mechanism called "user-selected settings" in MDG and I use its to change view of elements (e.g. via shape script function "HasProp" ). But for several reason I need to change diagram property for element via script. Are there any way to work with diagram property for element within script ?
It's possible but a bit tricky. First of all you need to get hold of the right diagram's table data stored in t_diagram. Issue a SQL like
SELECT StyleEx FROM t_diagram WHERE Diagram_ID = <theID>
Of course <theID> must be the diagram id of the diagram. Now you can use some string operations. Here's what my test diagram brought:
ExcludeRTF=0;DocAll=0;HideQuals=0;AttPkg=1;ShowTests=0;ShowMaint=0;SuppressFOC=1;MatrixActive=0;SwimlanesActive=1;KanbanActive=0;MatrixLineWidth=1;MatrixLineClr=0;MatrixLocked=0;TConnectorNotation=UML 2.1;TExplicitNavigability=0;AdvancedElementProps=1;AdvancedFeatureProps=1;AdvancedConnectorProps=1;m_bElementClassifier=1;ProfileData=;MDGDgm=VW VA Functional 3::Use case activity;STBLDgm=;ShowNotes=0;OPTIONS_9CEFE070=Structure=1:;VisibleAttributeDetail=0;ShowOpRetType=1;SuppressBrackets=0;SuppConnectorLabels=0;PrintPageHeadFoot=0;ShowAsList=0;SuppressedCompartments=;Theme=:119;SaveTag=79E21B13;;
which is a CSV at its best. See the
OPTIONS_9CEFE070=Structure=1:;
which actually encodes the diagram properties. Here it's just one with the name Structure and its value is set to 1. The 9CEFE070 refers to the GUID the diagram object. Of course not directly.
So find the diagram objects of the diagram itself with
SELECT Object_ID, ObjectStyle FROM t_diagramobjects
The Object_ID is for identifying the object behind (you might use a join to get needed information). And the ObjectStlye contains something like (from my test)
DUID=9CEFE070;HideIcon=0;
And there you have that hex string. Now you know that this one object has a diagram property set.
You should issue some queries manually to get familiar with that.
Now, to set a property, you "just" have to find the DUID from the diagram object of the diagram (just use the query above). Now you can add that OPTIONS_<duid> part or in case it already exists you need to modify it with according string operations. Finally you need to update the diagram table with
Repository.Execute("UPDATE t_diagram SET StyleEx = `<new string>` WHERE diagram_id = <theID>")
Note that this is an undocumented operation and you get
a) no support and
b) can easily clobber your whole model which is
c) the reason for a).
Have a backup!

Limit table in spotfire based on marked rows in another table

I have 2 tables in my visualization. One is a list of tasks to be done, and one is a list of repairs that have been done at each location. I want to be able to filter the repairs table by the locations of the highlighted tasks. Ergo if you marked a task that takes place at location 1, the second table would filter to only show repairs for location 1. Is that something that's doable?
Thanks in advance
This is pretty easy to do. You need to create a relation on the Location column between your two tables (Data table properties, Relations tab). Then create a details visualization (right click on "parent" table and select details visualization). Because you have created the relation already, it will ask you which table you want to be the "child". After selecting which table, you will be able to click on the parent, and it will filter in the child table. Also note, using the right click menu is engaging the data limiting with marking, which you will be able to see in the properties dialog, data menu. You don't have to use the right click menu to setup details visualizations. It's just easy.
I've written a lot about how to use relations and column matches. See links below. Relations integrate filtering, which is what you want. Column matches integrate marking.
https://www.bigmountainanalytics.com/apply-relations-and-column-matches-in-spotfire/
https://www.bigmountainanalytics.com/how-to-use-relations-in-spotfire/
https://www.bigmountainanalytics.com/how-to-use-column-matches-in-spotfire/

Can I display custom tags of columns in a database diagram?

I am trying to use database diagrams in Sparx EA to collect and communicate information about how we are using tables.
I want to add information to columns and have this information show up in a diagram.
For example, the first thing I want to do is note which columns are required in a given application.
I have used the reverse-engineering to import all the many tables into my Sparx project.
It looks like I can extend column information with Tags at least.
But I can't find a way to show my custom tags in a diagram, such as a basic database diagram with tables.
Is there a way to visualize custom tag information for columns in a diagram?
What seems like the most direct example would be such as the following, where a custom "usage" Tag appears after the column name and data type ...
I welcome other options such as conditionally changing the color or font or something based on the Tag,
if adding the Tag name & value is not possible.

Unique form with many tables

I'm trying to create a form to fill three tables to describe some projects with the 'Title of the project' as common field. When I create the form I have to write the title three times, otherwise it's not posible to fill the tables. Is there any way to put just one of the three fields on the form but the three of them are filled?
The database is empty, I want to make a form to start introducing all the projects that are going to be done in my group of work. In one table there are data related to the project, like start dat , full budget etc. In another one the information about my company, like the group its doing it, its role etc. In the last one just some general information like related tags. The name of the project appears in all of them, but when I do the form from a query they seem not to be related even if I do it on the query.
I've already tried to do it with the Wizard tool, selecting the different tables and its fields. I also tried to check the form properties...but I can't come up with what I'm doing wrong...
I'm new using access...

Export and Import Custom Views on Tableau server

I have a tableau server where there are several 'sites' configured.
There is a workbook X in 'siteA' which i want to copy to another site 'siteB'.
Now there are several custom views (mostly with different filter values) created over sheets/dashboards from workbook X. All these custom views were created by me , I have full admin role on both 'siteA' and 'siteB' (actually on the whole server). All the custom views are marked 'public'.
Normally, I would just download the workbook X from 'siteA' and republish it to 'siteB'. However I want to be able to see/use all the custom views in 'siteB' without having to manually create them all over again.
Is there a way to to this?
I couldn't find any such 'official' solution anywhere. I am fine with trying hacky, one off solutions.
You are correct that there is not a way to do this workbook by workbook. The closest I know of at present (up through 10.5) is to export the entire site and then import the entire site, which will preserve the custom views. And that's not very close to what you're looking for.
If you search Tableau's Ideas forum for "custom views" you'll find several feature requests. This one in particular seems relevant - I'd vote for it! This one also seems related.
You can't really do that but you can export the view as they are stored in postgres workgroup database in repository_data in XML format. That way at least you can see what was contained in the view (filters, parameters, etc.)
Example of export (first you have to trace the ID of the custom view):
SELECT lo_export(repository_data.content, '/home/ubuntu/view.twb')
FROM repository_data
WHERE repository_data.id = (select id from repository_data
where tracking_id = (select data_id from customized_views where id = 100));