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.

Topics - MaXyM

Pages: [1]
Bugs and Issues / v14 long lasting bugs
« on: August 13, 2018, 09:48:46 pm »
I'm really tired with situation of bugs remaining unresolved for long period of time.

With EA v14, the serious issues has been introduced. For example, making impossible to update database model by comparing its current state with database. In such case Type of imported object is  Table anymore. Instead it's Class. The consequence is, it is not linked with Database Builder, effectively it's not seen as part of model after importing. Moreover, in object properties, there is no "Table" type available in , so manual change is impossible (or I don't know how to achieve it).

This and more issues I was reporting months ago. I did my homework, narrowing issues down, preping test case scenarios to them reproducible by Sparx team.
All are confirmed and got assigned issue numbers. But till today remains not fixed (even with v14.1 beta). We are on hold due to those bugs.

I thought, fixing critical, breaking functionality issues, should be put on top of priority list. Am I wrong? Isn't it we are paying for a support? What is the point of paying annual fee, if fixes to show stoppers are delivered after such long time?

Is someone right here who has insight into Sparx ticketing system or can help us with speeding up issue fix delivery, issue numbers are: 18048589, 18017982, 18038571, 18058884.

I would appreciate any help.

BTW where can I get activation code for v14.1beta? The one valid for v14 doesn't work with v14.1 beta (Sparx pages don't list one)

Bugs and Issues / [v14beta] Wrong type of table object
« on: March 30, 2018, 12:05:14 am »
When doing RE from existing database, all tables are set to Type: Table, Stereotype: table
But when using synchronization of existing model with existing database (feature: Show Differences [With Options]), new tables are added with Type: Class, Stereotype: table.
The difference is indicated by different icons in Project Browser (see picture)

It causes the interconnected issues:
1. such added object (Type:Class) is not linked with DatabaseBuilder (DatabaseBuilder menu item is not present in contect menu of the element)
2. it's not possible to select Database type for such object. Instead of Database property, it has Language one
3. Further attempts of synchronization will suggest to add the same table again and again and again creating duplicated objects

Moreover, Type: Table cannot be set manually. Types list doesn't contain Table type. This particular behavior is the same as in v13.5

Bugs and Issues / [v14beta] Synchronizing model with DB
« on: March 29, 2018, 07:43:57 pm »
In DatabaseBuilder there is option to synchronize current model with database. It's called "ShowDifferences (With options)". It allows reverse engineering existing database mode and apply differences to the model or generate DDL to apply over database.

The feature can be initialized by selecting an option from context menu opened from root element (Postgres in this case) or from sub elements. The later allows to reverse engineering only particular types of objects (see picture below).

But there is another difference. I found, that selecting ShowDifferences from subelements (ie Tables) doesn't report objects existing in database but not existing in the model. While using root element, EA reports new objects allowing to add them to the model.

I can see some inconsistency here. But I'm not sure the behavior has some purpose or it's a glitch?

Found in v14beta. While I can see a lot important improvements comparing to v13, I don't know this issue is new in v14 or was present before.

with regards

Bugs and Issues / [v14beta] RE of system triggers (postgresql)
« on: March 28, 2018, 08:17:04 pm »
While testing database Reverse Engineering feature called Show Differences in Database Builder against postgresql database, I noticed that it retrieves logical replication triggers to add them to the model.
While replication triggers are system triggers and shouldn't be considered as model part, those should be excluded.

I narrowed the problem down to the SQL query which retrieves trigger data:

Code: [Select]
Select ns.nspname       As SchemaName,   -- 1
         tab.relname      As TableName,   -- 2
         trg.tgname             As TriggerName, -- 3
         pg_get_triggerdef(trg.oid)       As TriggerDef,  -- 4
         COALESCE(pgdesc.description, '') As Remarks,           -- 5
  From pg_trigger trg
  Inner Join pg_class tab ON trg.tgrelid = tab.oid
  Inner Join pg_namespace ns ON (tab.relnamespace = ns.oid)
  Left Join pg_description pgdesc  ON pgdesc.objoid = trg.oid
  Where trg.tgconstrrelid = 0
  And ns.nspname = 'schema_name'
  And tab.relname = 'table_name'
Please note condition: trg.tgconstrrelid - it excludes other system triggers which plays a role of relation constraint watchers. To exclude all system triggers the condition  should use trg.tgisinternal = FALSE. Like this:

Code: [Select]
Select ns.nspname       As SchemaName,   -- 1
         tab.relname      As TableName,   -- 2
         trg.tgname             As TriggerName, -- 3
         pg_get_triggerdef(trg.oid)       As TriggerDef,  -- 4
         COALESCE(pgdesc.description, '') As Remarks,           -- 5
  From pg_trigger trg
  Inner Join pg_class tab ON trg.tgrelid = tab.oid
  Inner Join pg_namespace ns ON (tab.relnamespace = ns.oid)
  Left Join pg_description pgdesc  ON pgdesc.objoid = trg.oid
  Where NOT trg.tgisinternal
  And ns.nspname = 'schema_name'
  And tab.relname = 'table_name'

Now, I'm going to report the issue official way. But I want to ask, is it possible to improve this SQL query by my self? Or is it hardcoded and I have to wait for fix (or write the script which will remove all unneeded triggers)

with regards

General Board / EA v14 backward compatibility
« on: March 21, 2018, 11:33:20 pm »
Hello all.
I cannot find information about backward compatibility of EA14 (beta).
Can I use it with database-based repository in parallel with v13.5? Will changes made with v14 be properly interpreted by v13.5?
Maybe there is a document describing compatibility issues (if any) - please share it.

thank you in advance

Automation Interface, Add-Ins and Tools / DiagramLink and Connectors
« on: December 05, 2017, 01:48:31 am »
Hello guys
I spent half a day searching for information but at the end I have to ask for it.
I need to change color of DiagramLink in relation to labels. But:

1. don't know how to get labels directly from DiagramLink
2. don't know how to find Connector which is represented by DiagramLink

BTW I found funny thing trying to set LineColor (attribute of DiagramLink). It seems to be BGR instead of RGB. So 255 is red (hex 00 00 FF), respectively blue is 16711680 (hex FF 00 00).

with regards

General Board / Dynamic list of dependencies
« on: September 21, 2017, 07:37:00 pm »
Let's say I have an application component which have to communicate with all (dozens) db servers in my network. Components which represent db servers are located in packages.
I would like to save manual work (which is error prone) of adding connections while adding new servers
On the other hand I need to maintain traceability between the component and servers.

I could imagine some element which generates list of elements based on SQL. Something like ModelView but it doesn't provide traceability. Could you please suggest me some way? Maybe I'm trying to manage it from wrong end?

Bugs and Issues / Values of attributes always truncated
« on: September 21, 2017, 01:32:29 am »
Hello guys.
Please look at image below.
You can see 2 elements. GenericServer Node element on the left side and it's instance on the right.
Both are node type elements without stereotype.

Attribute values are truncated. Doesn't matter it is a classifier or an instance.
Please note that settings available in Features and Compartment Visibility simply doesn't work in this case, whatever I set.

On the other hand, RunState values are not truncated. Unfortunately Feature and Compartment settings are not applied to this area also. Longer strings protrudes out of the shape.

Do you have any idea what happens and how to cope with that?
Worth to say I would like to see attributes not truncated, or truncated only if they really don't fit the shape.
Also since duplicated information is waste of space I would like to hide one or another data (RunState ones or inherited from classifier). I know I can hide RunState, but then I can see truncated values. I can hide Classifier attributes, and yes, this is how I'm doing it right now, but this way I cannot see datatypes as well as attributes which aren't set in RunState (incl attributes set in classifier only)


Recently I was trying to set aggregation connectors between elements using scripting. Durring the process I realized I cannot set direction as well as Subtype (weak vs strong). While debugging my code I separated behaviour I want to describe below. I'm curious it's a bug or I'm missing something down the road.

There is a test case.

1. Create simple diagram with 2 class elements: Class1 and Class2.
2. Create aggregation by dragging connector from Class2 to Class1 and selecting "Composition to Part". Name it whatever you want. The result should look like the picture:

3. Run following script, entering GUIDs of Class2 and the Diagram, before you run:
Code: [Select]
!INC Local Scripts.EAConstants-JScript

 * Script Name:
 * Author:
 * Purpose:
 * Date:
function main()
var el as EA.Element;
var diagram as EA.Diagram;

el =  Repository.GetElementByGuid('GUID of Clas2 element');
diagram = Repository.GetDiagramByGuid('GUID of diagram');

for (var i=0; i<el.Connectors.Count; i++)
Session.Output(el.Connectors.GetAt(i).Name );
el.Connectors.GetAt(i).Update(); // this line changes direction




4. The result on my end looks like on picture bellow. The direction of aggregation is changed from Source->Destination to Destination->Source. Debug console confirms it also

Also I don't understand why position of element Class2 has been changed by reloading diagram.
What am I doing wrong?

General Board / Communication Path not traceable
« on: August 19, 2017, 11:23:13 pm »
I was looking everywhere to solve my question but I haven't succeeded.
EA documentation says: Communication Path is a specialization of Association

Unfortunatelly Comunication Path seems not to be traceable: no relation shown in Traceability window.
After changing its type to Association it turns traceable.

Is it a feature or bug? Or I missed something?

EA 13.5.1351 Corp Edition

Thanx in advance

Bugs and Issues / Importing database schemas into subpackages
« on: June 15, 2017, 09:49:36 pm »
Hello everybody.
Recently while gathering new experience of importing database EA's feature, I found - I believe - a bug. I decided to ask for that on this forum before I report it to official support.

EA imports all db objects into packages named after object types. This way all tables are imported into Tables package. Until we have tables from single db schema and we are ok these are located in single package - everything works as expected. But our database contains hundreds of tables divided into few dozens of schemas. Imagine all those tables in Project browser tree, in single package sorted by table name... In fact impossible to manage.

Issue 1: In project browser, an item which represents database table is not prefixed by schema name (like available on diagram). This way it's very hard to find all tables of particular schema in Project browser. It affects user experience significantly. Maybe there is some feature/switch to enables db schema names in Browser. I haven't found one.

Issue 2: while already imported tables are moved to subpackages (for example Tables/MySchema/) and we proceeding with importing another tables, EA is not able to create relationship between new tables and already imported ones. I could had have even consider it as a feature (even if not handy, though) but I've found one thing which proves it must be a bug. In DatabaseBuilder, function "Show differences" shows missing relationships and moreover, it gives option to sync it with db. Unfortunately attempt of import does nothing at all. I checked out, that moving parent table (of relationship) from subpackage to Tables package, makes sync with db working again. So import/sync works but result depends on where table objects are located in project tree.

Do you have some experience with RE of databases? Can you confirm this issue appear to all DBMS (I found it while working with postgresql)?

With regards.

Pages: [1]