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

Pages: [1] 2 3 ... 5
True, but given that reality, I would like to see one function in that current API expanded just a little. I think asking for a total rewrite of the DDL im-/export setup would be a bigger ask. And given that currently I can roundtrip with those scripts, replacing them myself with my code is just silly, more errors, less accesible and tonnes more work.

The current scripts however, are quite easy to understand, but also, quite elaborate. Given the number of databases EA supports, not that surprising either.

The, to me, obvious issue with that is that EA uses predefined scripts I want to alter slightly. I have no desire to replace the standard functions with my own code. So allowing this through the API is fine, but could we then see the main program use the API for this? Simply customizing a little tweak is way easier to do than write my own plug-in to do it all. I am not suggesting to alter any script, but expand one function that can be called from the script. That would arguably, also be an API change.

Or am I not getting something.....?

For a background read, see this post,37437.msg234502.html#msg234502, it links to another, all on the same subject.

I want to be able to read all tags, not just the EA ones when I am altering the DDL generating tags. It would allow me to customize the DDL generation from an imported database, specifically, allow me to ignore temporary tables that were put in. I often do not have read access on production, only test. Whilst the structure of the core is correct, these databases often contain additional tables used in testing, but not in production. I want to ignore these when adjusting the model. I could mark these with a tag, and adjust the DDL scripts to deal with these items appropiately. It would allow me to import, tag & alter and export only the the 'production' relevant model in DDL for the team to take forward.

Right now I cannot read my own tags, and given that nobody told me I could (but was taking the wrong approach), I assume the function only accesses the EA list of tags for DDL. I want to simply be able to read any tag. This should not alter existing functionality at all, merely expand the options available to those that want to customise the DDL scripting.

Bugs and Issues / Ribbon related crash in EA 13
« on: May 10, 2017, 08:33:00 pm »

I've noticed that EA will crash if you have the ribbon minimised and use a ribbon control that alters how it looks.

Scenario to reproduce. Create a diagram, add a Linked Document element. Open de document to show the RTF editor.

Now -if ribbon is minimised-
Open the ribbon and expand the font drop-down ==> crash

make  sure the ribbon doesn't minimise and repeat ==> The list of fonts is displayed.

I get this on W7 / 64, W7 / 32 and Wine (using a 32bit prefix, version 1.8.7), so it seems pretty consistent.

Anyone else have this?


General Board / Re: MVC
« on: January 11, 2017, 12:22:50 am »
I see a lot of MVC variants. The original I know of comes from Smalltalk. The model represents business and views present parts of the model to the user. Controllers handle events from the user. The objective is to isolate the model from its surroundings, in order to promote reuse of the model. Therefore it follows that:
a) the model knows not of the controller nor the view
b) the view knows the model
c) the controller knows the model
d) the controller knows the view.

In Smalltalk, it was very uncommon to create bespoke controllers, you used the ones that were there. They were tied to input channels, not applications. So you create your model and your views and tie it together in an app. The confusing part is that once a controller updates part of the model, the model should trigger the views to update. This was done through a 'broadcast'. It's a bit like a publication/subscription or broadcast. The model just says 'I've changed' and the views should then update with the latest model data by accessing the model. I forget where that is handled, but I think you do that in the setup where the views/models and controllers are tied together. It's been a while. But the rule was that the model never knew the view instances and did not know if any of the views updated itself.

An excellent remark was made on tiering, the original MVC (before it was even called a pattern), was a single large blob app environment. You can apply MVC to a front-end and back-end, and in each case the model is somewhat different. But on the basis of the original idea, the model of the back-end would be one you'd want to isolate from its context more than the model in the front-end.

So I would not think the controller is the perfect place to place business logic. I would say it's the model. I used to work for an IT company that found the MVC model lacks expressiveness and they created the 5-component model. (way back in the 90's) It is somewhat like the MVC model, but has a spot for data storage (i.e. the generic bit of your ORM or DB access code) and a spot for delegation work, and works more intuitively in practice.

MVC is not a bad pattern, but as with all patterns, their usefulness really depends on what you need the benefit to be. MVC's benefit was to allow you to yank model classes from one app and put them into another, without having to drag other stuff across as well. Basically business logic should not be tied to a specific application. Views are by definition tied to an application. So don't tie business logic to views. Same for controllers, essentially commands and some business state changes. The commands need to be responded to and business state changes sent to the model. So it's fine to bind input/output to a model, but don't bind the model to particular input/output so you can leverage the model. After all, reuse is best if I can simply create a class and tell it 'do this'. So MVC tries to help you make pure business classes. Not bad for 1969 :)

Bugs and Issues / Re: Enterprise Architect 13 cannot display tooltips
« on: November 25, 2016, 11:03:37 pm »
Ok, understandable, if not a little disappointing. Is there any info on which Wine version? And is there a trick it coiuld be unlocked, so when a newer Wine version comes along, we can see if things are better, or do you plan on tracking it for us?

Bugs and Issues / Re: Enterprise Architect 13 cannot display tooltips
« on: November 23, 2016, 08:19:10 pm »
For some reason this setting is disabled under Wine set to Win7, but works perfectly under Win7 itself. What is being checked that causes it to disable?

Bugs and Issues / Re: Diagram rendering
« on: November 17, 2016, 09:17:32 pm »
I've not tried switching the default settings to render using Bitmap (the default option being Metafile), or using the RTF generator (which allows a more refined set of graphic formats, but I have a workaround which seems to work for me at least. Install LibreOffice and use that to edit the rtf, export to PDF. All my diagram issues have completely gone. It works under Wine just as well. I still think there's something not right, as irFanview and MS Word 2013 still produce ugly diagrams. And one my last attempt, saving as PDF caused many lines to disappear (something I read about in other posts as well).

However, Libreoffice renders the images in the rtf very nicely, and exports the PDF perfectly. Best of all, it's free, and works under Wine (something MS Office is not that good at, the older the better) so I can use the same approach regardless of the environment.

I'll keep Word for the .doc / .docx stuff, but am switching the .rtf association. If you have noticed similar issues, you might want to try this.

Bugs and Issues / Reading tags doesn't work as I expect
« on: November 14, 2016, 08:43:01 pm »
For more details on the context, see my post here,37363.0.html.

Concretely my question is: why, if I add a tag manually to a database table (one imported from ODBC), can I not read the tagvalue in the DDL scripts? Although my venturing into the DDL scripts is new for me, I can read the tags that are added standard without any problem.

Alternatively I can also work with expanding the standard set of TAGS, if I can set it's value to a dafault and override it when I want to. But I can't find info on if that's possible and if so, how to do it.

Bugs and Issues / Re: Diagram rendering
« on: November 08, 2016, 11:23:05 pm »
I was using WMF instead of EMF due to EMF's getting messed up under Wine. I've solved that, but noticed that WMF's under Wine are better than under Windows 7. All the diagrams written to file show the same pixel dimension, except for WMF under Windows 7. I'm not sure what is causing it, but I've seen diagrams render badly on reports. For instance, if create a document in RTF/DOCX and look at the diagrams, the names are rendered somewhat like the WMF under windows 7. When I save that document to PDF, and look at the PDF, it looks so much better.

I've made a screen shot of this effect, here's a screen shot of the report in Word, zoomed in, notice how the letters get 'mushed' together:

Now see the same bit of the report, the only thing I altered was to save the RTF to a PDF and open the PDF. To me, this is what I would like to see in Word:

Before I assumed that it was Word mucking it up, but now I'm not so sure, perhaps what I see with WMF is related to this. Is there a way I can force the reporting to render using a specific format? But this looks very similar to

compared to

Perhaps it's something specific to my Windows 7, but I still think it should not matter WMF/EMF/JPG. But only the WMF under Windows 7 comes out at 1124x1002, all the other machines/formats render the diagram as 1784x1137. Something is causing the incorrect dimensioning of the WMF under windows, which doesn't occur under Wine. 

Does anyone know why, if you add tables, I can add tags/values to that table, but cannot query them from within a DDL. I can query the tags that EA created during the ODBC import. I will try and see what happens when I manually add a table, but it seems there's a tag set that comes with the table stereotype and Oracle database.

All I want to do is to mark the tables that the ODBC import sees, that belong to a materialized view.When I write the DDL, those marked tables should be skipped. If I could read the tag I add, this should work. Another option would be to not import the table, but that route seemed much more of an impossibility. I could work around the issue by misusing something to mark the 'belongs to a materialised view', but that seems a risky approach and will make usng such a field for its intended purpose impossible.

If anyone has another idea to solve this, I'd welcome suggestions. I use EA to
1. import a live database -> to document the physical model
2. to maintain data model documentation (i.e. elaborations per element / attribute)
3. to export a DDL, which is then checked by an external program for certain structural issues.

I need to skip the tables that are a result of a materialized view, in either 1 or 3. If in 3, I need to mark it as a characteristic as the table, rather than deleting the table, which is too dangerous.

Bugs and Issues / Re: Diagram rendering
« on: November 07, 2016, 07:59:59 pm »
The EMF problem is simple to solve, I unchecked the GDIPlus metafile setting and EMF works fine under Wine. What remains is the odd rendering of the WMF under Windows 7.

Bugs and Issues / Re: Diagram rendering
« on: November 07, 2016, 06:21:38 pm »
Ok, so that means EMF under wine is not going to be pretty. I can live with that. My concern is more with the Windows 7 rendering of WMF, which seems at odds with how it renders EMF/JPG, both of which yield the same result as WMF/JPG under wine. Only the WMF on Windows 7 seems off.

Bugs and Issues / Diagram rendering
« on: November 07, 2016, 06:43:55 am »
I stumbled across some inconsistencies when sharing models across many PC. see,37372.msg234319.html#msg234319

Turns out that most can be solved by switching the alphabetic ordering option off. Perhaps an idea to make this a project setting rather than global. Anyway, the problem is how windows 7 renders the diagram. I have compared the rendering between Wine (32bit prefix set to Windows 7) and a Virtualbox Windows 7 64bit client. And it doesn't make sense, but Wine does this much better than Windows 7. Much.

In each case I render the same diagram, using publish image to file. I save as WMF. Both cases it is the same EA13 version.
Under the Windows 7 64bit Virtualbox client:

The export under Wine yields:

The difference is very noticable when you look at the details, here's an element from the Windows 7 render:

Now look at the one done under Wine:

Clearly the Wine environment is doing a better job.

However, when you select JPG as the format, you get the same image:

I've noticed the same when you render a diagram to Word, and then save to PDF. Under Office 10 it doesn't look so good, but it looks very good once it is a PDF. The EMF from the Win 7 image is like the JPG, but fails from Wine, it writes a file, but irfanview says it can't find the fikle header. So WMF is off, EMF doesn't work for me under wine and JPG seems fine. Any suggestions on why EMF fails under Wine? And what can be done about the WMF creation under Windows 7?

General Board / Re: Jumping line angles
« on: November 05, 2016, 12:25:00 am »
I switched off alphabetic ordering and that improved things a lot. Strange though, before it was set on both. But switched-off it has improved.

Now just to have the Win7 virtual PC export images like I see EA export to the WMF under Wine. The Win7 export is distorted.

Just look at the rendering when zoomed in:

You can't even read the word version. Now look at the WMF that was writting under wine:

And yes, regardless of the default setting in the system, if a project has altered the sequence (you even get a dialog box to warn you it will switched off), that override should be honoured. Not entirely happy with having to switch it off, as I find it usefull in most cases, but not in all. I've gotten into the habit of then moving it for the few and confirm it on the dialogs it shows. 

Pages: [1] 2 3 ... 5