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 - Uffe

Pages: 1 ... 50 51 [52] 53 54 ... 92
I hesitate to mention this, because I consider it Extremely Bad Practice (TM), but --

The non-browser elements are still elements. You can copy them between diagrams just like any other element (Ctrl-C / Ctrl-V to re-reference the existing element, or Ctrl-C / Shift-Ctrl-V to create a duplicate). I don't recommend this at all, but there are situations when it's the best option.

But the long and short of it is that EA has two categories of elements: real ones and these semi-ghostly ones which are really only intended to be shown in a single diagram. If you want to reuse things, use proper elements. Or go against EA's design philosophy and do something like I outlined above. Just don't come crying to me when your model breaks.  ;)


Suggestions and Requests / Re: EA12 - Extra attributes types
« on: February 29, 2016, 10:35:44 pm »
In other words, what q said.  ;D

Suggestions and Requests / Re: EA12 - Extra attributes types
« on: February 29, 2016, 10:34:46 pm »
Hi Matthias, and welcome to the forum! :)

Attributes are not quite as simple as they might first appear. There are three ways to set an attribute type.

  • Free text: enter whatever type name you want. Not reusable.
  • Specify classifier: use the ellipsis button ("...") to pick a class. EA sets the type name, and if you then change the name of the class, the type name is automatically updated.
  • Pick from the drop-down list. The contents of this list is defined by the Language property of the class (C, Java, etc) and are thus reusable.

In order to modify the set of attribute types for a language, go to Project -- Settings -- Code Engineering Datatypes. If you want to define your own language, click "Add Product". Note that unless you define at least one attribute type, EA will delete the language / product when you close the dialog.

The same set of languages in a project is the basis for EA's code generation (there is a set of code generation templates for each language), but you don't need to go into that just to create your own set of attribute types.



Hej Stenvang!

To Geert's comments (and he means "name of the project", not "name of the report"; he was probably on a break from setting up some fiendishly intricate document generation) I'll just add that EA projects do not, in fact, have names at all. In other words, there's no project name to be found in any table in the EA database.

If you're using a file-based repository (.eap or .feap), you can use the file name as a sort-of project name. If you're using a DBMS repository, you can use the database name. But if people are using EA shortcuts (File -- Save Shortcut) to connect, then the name that you see in EA's main window title is stored inside the shortcut file -- which may be different for different users. And if people are using shortcuts, they might not recognize the database name.

If you need a unique identifier, you'll find it in Repository.ProjectGUID. But there is no Repository.ProjectName.

Hope this complicates matters further.

I mean, helps.


General Board / Re: When is an instance not an Object?
« on: February 20, 2016, 03:14:35 am »
Hi Ian,

Short answer: sometimes. :)

When you create a stereotype in a profile, one of the things you can specify is the instance type, ie what type of element EA should pick when creating an instance of an element with your stereotype. You can also set the metatype for a stereotype, so if you define a stereotype which extends Object, you can cause it to appear to be something other than an Object in the GUI.

But what you've got right there is a bit of a rum one.

If you right-click an instance type element (like Object) and check under Advanced, you'll find the Instance Classifier menu item. This allows you to select which classifier the instance should refer to. That menu item is absent from classifier types, like Class.

Instance and classifier types also offer different options when dropped onto a diagram from the project browser. With a Class, you can select to paste as Link or paste as Instance (creating an Object), but with an Object you don't get the question: objects can't in turn be instantiated.

However, a deployment specification seems to be a bit of both. You can create a new deployment spec and specify a classifier for it, and you can drag it onto a diagram and create an instance from it. This is weird. Artifacts behave the same way (and I believe a deployment spec is in fact an extension of an Artifact).

A few simple tests show that Use Cases beget Use Cases, Nodes beget Nodes, but Activities beget Actions.

So there are several other classifier types which do not result in Objects. And the distinction between classifiers and instances is not clear-cut. In EA, at least -- not sure what the standard says.



Hi all,

If I've linked a note to an element feature, and then double-click the note I get an error dialog telling me the note can't be edited and I should instead use the connector context menu to re-link the note to a different feature.

In addition to the error message being a little cryptic, I humbly submit that wanting to re-link the note is not the most common case. Instead, that honour goes to wanting to change the feature that's displayed in the note.

So how about adding a button "Edit Feature" which opens the element properties dialog, turns to the right tab and highlights the relevant entry in the list of attributes, tags, constraints or whatever I've linked to? And then change the current "OK" to "Cancel."



Suggestions and Requests / Link this Hyperlink to Element File
« on: February 19, 2016, 10:27:48 pm »
Hi all,

Well the title is a bit of nonsense, but I arrived at it by combining three very useful features: hyperlinks, Link this Note to an Element Feature, and "file" links inside elements (which can actually target either local files or hyperlinks).

What I'd like is the ability to create a hyperlink in a diagram (regular Common toolbox hyperlink thing) and then slave it to one of the entries in an element's "file" list. That way, I can show these external things in the diagram and not have to open the element properties dialog to follow them, but at the same time I only need to edit the actual link in one place.

So, same functionality as Link Note, but restricted to an element's "file" list. Of course, if it's easier or better to extend the current Link Note function so that you can select "file" in the Feature Type dropdown list, that's fine too. But the resulting note must then launch the link when clicked, not open a properties dialog.



Hmm, some of these (very valid tickets) are several years old - It really appears that Sparx just don't care...
It's not that they don't care. It's that this ticket system wasn't set up by them and it's not an official channel into their support or feature request systems. The complete absence of any links to Assembla from this site should be ample proof of that assertion.

I just posted my thoughts on this more general topic on the "general" board. Please have a look and contribute.


General Board / Public feature/bug voter/tracker?
« on: February 15, 2016, 11:33:26 pm »
Hi all,

This one's mainly for the community, but I'm posting it here because this is where the action is.

For your "amusement":
This was new to me... And should in my opinion be deleted. That's not the main point of this post, however.

I think a public tracker for feature requests, and possibly (but not necessarily!) bugs would be a very useful thing. It should include status and a voting system, and be open enough that people could contribute, but structured and moderated so things are kept relevant. A forum such as the one Sparx supplies here works for issue discussion, but not for the other things.

I've thought about suggesting something like this for the user group, or possibly the community site. If we, the enthusiasts and professionals, put some weight behind it as a collective, it could work. But Sparx would have to approve of the concept, and of the process involved.

Thomas' initiative above failed, I think, because it didn't set up a playing field beforehand. The tickets contain quoted e-mails between Thomas and Sparx, but in them there's no mention (that I've found) of Assembla -- meaning Sparx were likely unaware that their messages were being published.

This is why I think the whole thing should be deleted. It's not active and serves no useful purpose, but more to the point I think it crossed a line in terms of trust. Unless of course Sparx were aware of the Assembla tickets, I may be completely wrong about that.

But assuming I'm right, trust is important. If Sparx are not willing to make public commitments regarding schedule etc, we can't force them and we shouldn't try. Instead, we should engage with them in a constructive fashion and try to make them see things our way. But public disclosure of private e-mails without prior approval can be considered a breach of trust and is therefore not a constructive way forward -- you don't engage with someone you don't trust.

Ultimately, we must remember that the relationship between us and Sparx is one of customer -- supplier. If we want them to be a more open supplier, with a published roadmap and public issue tracking and so forth, we the community must rise above the level of enthusiasts and tinkerers. To get a pro supplier, you must be a pro client.

So. Question.

Would Sparx be interested in a public feature request system, with users able to contribute suggestions and vote on them, and Sparx able to add things like planning status (eg "next minor", "next major")?

Would we the community be interested in using and promoting such a system?

If the answer to both is yes, then I could donate some server space to host it and serve as the moderator. I would suggest setting up a six-to-twelve month trial run (enough time to last past the next major release), and then evaluate it and see how well it works.

This idea has been rumbling around the back of my skull for some time as I say, but it's not fully fleshed out. So if there's some interest from both parties I'll put in some more thinking, and obviously any thoughts and suggestions are welcome.

But if Sparx doesn't want this, and I fully understand it if they don't, it won't happen.


Suggestions and Requests / Re: Ability to treat a file as a base project
« on: February 15, 2016, 08:59:05 pm »

A special file type which on opening causes EA to automatically reset all GUIDs (which is what Copy a Base Project does) would be nice, but I wouldn't consider it a priority.

The Create New Enterprise Architect Project dialog (ie the one opened by Copy a Base Project) has a Browse button which allows you to select any .EAP file as a base project, so you can already achieve essentially the function you're after. All you need to do is create your template projects, make them available on a network drive (or place them in the EA installation folder if you're repackaging) and inform your users where to find them. All of which you would need to do if there was a special template file type as well.

The one thing I think a template file type would add, except for the convenience of creating a new project from the Windows Explorer, is the ability to specify in the template whether GUIDs should be reset (which they shouldn't if you're using external version control). But I'm not at all sure that EA can work purely in-memory without a file to write to the way Word can, so likely the first thing that would happen after opening the template would be that EA would open the Save Project dialog to force you to create the file. Which means the convenience, as compared to the current Copy a Base Project function, isn't all that much higher.

I like your other suggestion more, but I'll go you one better. :)

At present, opening a read-only file results in first an error message which many users won't understand, then an EA client with the Open Project dialog opened. It would be better with something along these lines:
  • Message box text: "This file is read-only. While the EALite client (which is free to download) can be used to access read-only files, the full EA client requires write access to all project files. Would you like to open a different project, or use this file as a base for a new project?"
  • Button "Open": opens Open Project dialog (current behaviour).
  • Button "Copy Base": opens Create New Project dialog with the read-only file filled in as the Model Project.
  • Button "Cancel": exits.
If you want to get really fancy you could also check whether EALite is installed and offer to open that instead. But that aside, this slight reinterpretation of the read-only flag that you suggest sounds very reasonable to me and an implementation as outlined should be achievable with a minimum of work.


Bugs and Issues / Re: Is there, is is there not, a linked document.
« on: February 15, 2016, 07:51:38 pm »

The project browser is kind of a tight fit, so I could see the argument against adding more to it.

In the Notes field, I would suggest changing the "Linked Document" button so that the current icon is shown only if there already is a linked document, and a different one with a little star on it (like "New Package", "New Diagram", etc in the project browser) is shown if there isn't one. That's a clear indication, and fits with the existing iconography.



There is a way to generate sequence diagrams, though not from source code.
Sequences can be recorded from executing code by attaching EA to a process like you would a debugger.

See Generating Sequence Diagrams.



Clarification: an Element -- Inherited Attribute section only produces the names and default values, if any, of the attributes declared in a more general class. It does not output initializers.


Hej alla glada,

I've got a class model with plenty of generalizations and overridden attribute initializers.

Since these aren't attributes in the specialized classes, their values aren't output by an Element -- Attribute section in an RTF template.

Is there a way of producing them using regular templates? I'm on 11.1 here, but a 12.X answer is equally appreciated.

I can write a fragment to fix it, but it's a bit of a complex bugger because the attribute initializers are stored as key/value pairs in t_object.RunState. So if anyone's got one a sample fragment that fits the bill lying around that's good too.



Hi Anton,

Not without a lot more information, I'm afraid.

There are several different ways of constructing document templates, and everything depends on how the relationships between your processes, products and customers are represented in your models. Tags? Connectors? Instances? Presence in diagrams?

Unless you explain your metamodel in some detail, any help you get is likely to be limited to general advice.


Pages: 1 ... 50 51 [52] 53 54 ... 92