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 - Ian Mitchell

Pages: [1] 2 3 ... 8
1
General Board / Audit information for US M-21-31
« on: March 14, 2024, 10:53:32 pm »
I've just been asked about the exporting of EA Audit information, to support some new US regulation "M-21-31".
It looks like a very far-reaching requirement, to export information about everything that every user edits and views in an EA model.
I have never been asked for anything like this before, but I expect that, if it's a new US regulation, then other parts of the Federal government might ask for it in future.
@Sparx USA: might be an opportinity here for you to create a useful offering?
Hopefully the lack of this function will not stop the US government from using EA.

2
PCS General Board / PCS performance
« on: November 09, 2023, 08:32:38 pm »
I'm using PCS to access a remote database for the first time, using a very fast connection (1Gb up, 80Mb down, very low-latency (5ms)) and I'm surprised by the performance.
All these numbers relate to using the EA API, not the EA user interface, which seems to perform fine - not as fast as a local QEAX file, but perfectly usable.
The difference when using the API - for read-only operations - between local QEAX and PCS/remote database performance seems to be a factor of 30-40. So an operation (just fetching the current package, then fetching each element from it in turn) is 200ms on a local repository, but around 4 sec using a cloud repository.
Note this just using the API directly: none of my code is being used.

Is this the expected result? Or am I just using a connection or a repository which needs some tuning? If so, what tuning should I do?
Thanks

3
I have an application which needs to create a lot of new EA classes, each with some class attributes.
I have done all the performance tricks I can think of, including Repository.EnableUIUpdate=false, but the slow part of the process still seems to be the update to each attribute, after it is created: EA.Attribute.update.
Does anyone have any ideas for making this faster?
For scale, I have about 100 classes to create, and about 5-10 attributes for each one, so i'm cool that 500-1000 attributes will take a while, but if there is any way to make it faster, that would be great.

4
This is not a question - just an observation.
I've been testing some addins, using a variety of old repositories as test data.
And got confused about the results.
After a frustrating day, I finally found out that there is a big, and I mean BIG, HUGE, difference in the performance of EA 16 with QEAX vs the old EAPX format.
A factor of 20 - 50x !!
So if you are wondering why EA 16 is going slow with your old EAP files, just migrate them, and get an instant benefit.
Note that this is for Addins which use the API, so you ight not see the same effect using the UI.

5
Using the Addin Windows approach is proving to be a good solution to providing simple bits of UI, which a user can move around and dock etc.

I've come across an interesting challenge.

If a user has a particular Addin Window opened, and it's contents depend on what the user has got selected, then the polite behaviour is to handle the EA_OnContextItemChanged event from EA, and change the contents of the already opened Addin Window to show what's needed for the new element.
Exactly like the EA 'Properties' pane.

This works just fine.

But now the user closes the Addin Window, using the 'X' top right.
What seems to happen is that the Addin Window is still alive, but just not visible. @Sparx - can you confirm this?
The behaviour which a user would expect now is different. They closed the Addin Window, so when they select a different object, nothing interesting should happen. Because they closed the Addin Window. Just the same bevaviour as, for example, the EA Properties pane. If I close the Peroerties pane, then switching elements doesn't make it suddenly pop-up if I previously closed it.

But how to detect that the user previously closed the Addin Window? It seems to be still alive as a object, and the act of 'closing' it in EA doesn't seem to fire any windows events, like 'Dispose' or 'Handle_Destroyed', maybe because EA hasn't destroyed anything. Maybe EA just made it invisible. But how to find this out?

Has anyone else come across this issue? How to detect if an Addin Window has been opened, but then closed by the user.
Thanks

6
General Board / Three minutes of waiting - why won't EA start?
« on: May 10, 2023, 10:27:21 pm »
This is a strange one. In 20 years of using EA, I've never experienced this.

In the middle of doing some development, suddenly EA refused to load, the next time I started it.
I was using an older build of 16.1 64 bit.

BUT, this happens in both EA 15.2 (32 bit) and EA 16.1 (64 bit). In both cases I'm stuck at the EA Splash screen.

So far I have tried:
1 - re-installing EA (V16.1 64 bit - same build as I already had)
2 - de-installing EA 16.1 completely, then re-installing EA 16.1 64 bit, build 1625 - most recent
3. as above, with re-starting the machine afterwards
4. Deleting all addin entries from the registry, so there is no eaAdins64 folder.
5. Cold-starting the machine.
I can see that it's getting as far as contacting the licence server, because the lease checkout time changes.

Actually, in the middle of writing this, the EA load completed!

Now I see that it WILL load, but only after a delay of almost exactly 3 minutes.

This is true for both 15.2(32) and 16.1(64), which given that these are totally different pieces of software, is strange.

Ah, but their common element is my EA licence server!

So I added a fixed, local key to the 15.2 EA, and released the floating key.

..and it still takes almost exactly 3 minutes to load, even a local, empty EAP file, and using a locally saved non-floating EA key.

This is 100% repeatable - EA loads sucessfully, on whatever repository I want, 32- or 64-bit versions, but only after a 3 minute delay.

Any ideas anyone?

7
This may be a feature, a bug, or my bad coding, but every time I call Repository.ShowInProjectView, all of my EA addin windows get closed.
EA 16.1, 64 bit.
Is this the expected behaviour ?

8
General Board / Using ChatGPT to create EA Scripts
« on: March 14, 2023, 08:08:00 pm »
(Dated March 2023)
I've just had a go at getting ChatGPT to create some simple EA Scripts for me - and they work fairly well.
For VBScripts it didn't understand OptionExplicit, but apart from that, the script ran correctly.
This should be really useful for users who are new to EA: just let the chatbot do the hard work, and refine it's results.
Not sure how it would perform for really complex scripts, but for simple utilites this may be the way forward.

All I need to do now is to plug the output from ChatGPT directly into the scripting engine and we have a natural-language query mechanism.

9
This issue was reported in 2007, for EA V7, and still seems not to be fixed.
There is a work-around : : http://sparxsystems.com/forums/smf/index.php?topic=1470.0
Makes me wonder why there is still no fix.
Is there some reason for this? Might a single update to the connector.direction string result in an inconsistency if all the ConnectorEnds are not set correctly as well ?

10
General Board / EA SaaS trial?
« on: January 04, 2023, 04:17:38 am »
Talking to a potential new EA customer today, she wants to try EA before suggesting it for her team, but was amazed that there is no SaaS trial for EA.
Her company policy is 'Cloud only', and she has absolutely no chance of installing EA on her desktop.
But she had spotted that EA 16 is now available as SaaS.
So is there any chance of offering this?
It would need 100% self-sevice setup, and probably a few checks to prevent misuse, and we might make it lighter on the security by having a multi-tenant configuration and to keep costs down.
How about it ?
@Sparx HQ? @6ThForce ?

11
Somehow I seem to have lost the ability to double-click on any element which has a composite structure diagram, and open the child diagram.
As a test, I tried the BPMN 2.0, 'Sub-Process' example from EAExample.qea from EA 16.1, and even that doesn't work. So it must be a something in my local setup of EA.
Also just noticed that I also can't double-click on hyperlinks (where a diagram has a hyperlink to another diagram).

Does anyone know if there is a switch/setting/preference which I have messed-up which has disabled this ?

12
In v16.1, I've just tried to draw a simple UML Activity diagram. Which  I have't done for years, and was surprised when EA would not let me.
Not even the simplest 'Control  Flow' connectors worked between any kinds of element.
So I switched-off 'Strict Connector Syntax' in Start / Preferences / Links, and all was well.

This seems like a strange default. The UML-compliant connector type between, for example, Activity and another Activity IS  a Control flow last time I checked. Or is it? And if not, what is?
So this must be a bug?
Is Strict Connector Syntaxt ON or OFF for an out-of-the-box EA setup? If it's ON, then this isn't a great UX.

13
Does anyone know why, when dealing with connectors, there seem to be 3 very similar- maybe identical - ideas:
-Client
-SourceID
-Start_Object_ID
(and their close friends, Supplier(!), Target and End_Object_ID. They define the two ends of a connector. Maybe the most fundamental idea in EA....

Last one is easy - that's the database column in t_connnector.
But to set it, we set connector.ClientID, not 'Connector.Start_Object_ID'.
OK, so the API names for columns names an their field names are sometimes different, but this is REALLY different.

And when thinking about the connector at a higher level, we seem to talk about Source and Target (or Destination).
Is this just a old bit of EA, which clearly can't be changed now, which Geoff did when he was much younger, or is there some deeper truth here I'm not seeing ?

Challenge for Q - say something positive about this....

14
After many years of searching, I've finally found a way to take information from a running Visual Studio project, and create a sequence diagram in EA from it.
The source data is pulled from VS by a little tool called Runtime Flow, which creates an XML file of the execution, which I then parse to create an SD inside EA. This isn't a completed product, but if you're already using Visual Studio then the code is very straightforward, and it gives a reasonable picture of what's happening inside your code.
If anyone would like a copy of the source, please contact me at [email protected], and I'll send it to you. We might even make some improvements together!

15
General Board / Use Cases and benefits of EA/ServiceNow integration ?
« on: November 30, 2022, 03:55:48 am »
I have a client who thinks they want to do a Service Now / EA integration. Which is nice.
There's lots of information elsewhere on this site about how to do the deep technicals of such an integation, but nothing about the kinds of information they might find in ServiceNow, and also nothing about how that information might be used within EA to do something useful. To be fair, that's probably beyond the scope of the product help, but would be good sales-type material.

I'm assuming that my client's general motivation is to use SN information to populate the lowest levels of their enterprise architecture, for use by solution architects, but I have no firm information.
Does anyone else have any experiences with EA & ServiceNow?
  • Why did you do it?
    What were the benefits?
    What was the most useful Service Now information?

(I have seen https://www.youtube.com/watch?v=mvtsq-hl3GM&ab_channel=SparxSystemsProlaborate  Ryan's presentation to the 2020 Global summit - a good start, but linking a BPMN process to a bit of Service Now-defined hardware seems very wrong)

Pages: [1] 2 3 ... 8