Topics - sparks

- Added support for ByVal and ByRef keywords in VB - both forward and reverse - Added support for array paramters in Visual Basic- Fixed bug in release version of EA that prevented menu option to 'Add to Favorites' on diagram object being shown- Fixed problem in Operations dialog that resulted in default return type always being set to first element in list on Add New- Fixed problem in Constraint dialog ... possible exception or no effect when updating existing constraint.- Fixed bug in 'drop object from tree' routine that could cause crash if drop failed due to 'duplicate element' message- Added code to check if bitmap images being saved to disk exceed Windows maximum and scale down where necessary. Affects very large diagrams only

- Modified XMI importer to accept a wider variety of XMI files from various exporters. - Modified object properties dialog to allow for user ordering of constraints- Modified New Element dialog (from right click on package) to allow populating name with auto-counter value- Modified RTF generator to allow heading selection of "Max 9 levels - elements are package + 1" in heading style combo- Fixed problem with scoped object name appearing in Project Browser in some cirumstances- Added a "Diagrams Only" reporting option to the Project Root node- Made C# interfaces members with no explicit scope in source import as "Public" rather than "Package"- Added 'Favorites' capability to Resource tab. Right click menu option on any diagram object to 'Add to Favorites'. Drag favorite from resource tab onto diagram to add to current.- Added option to View/Options/Code Generation page to use "Is" instead of "Get" for boolean attributes when creating properties- Interfaces implemented in VB class are now made Private by default- Fixed bug with parsing of Visual Basic "Event" declarations- Fixed bug with Report View that didnt refresh object details under some circumstances - Added ability to set scope of new property getters/setters - see Create Property dialog from Attribute properties

- Addition of new Automation Interface. The major change in this release of EA is the inclusion of a fully read/write automation interface for accessing and manipulating EA objects. The current version is an IDispatch based interface suitable for scripting using VB, VBA, VB.Net and any similar scripting style language. A Dual Interface will be added later in the year to accomodate other languages.

We are also making the HTML version of the automation interface docs available as a zip file and as XMI for import into any EA project.

- Fix to bug that caused exception when undoing deletion of some elements (eg. Synch bar) in diagrams that also had connections- Fixed bug that allowed selection of hidden relationship in diagrams- Fixed bug in DDL generation that caused table name to be omitted during generation

- Modifications and fixes to the Delphi parser. - Modifications and fixes to VB.Net and C# parser - code generator- Added and improved support for XML style comments - supported in C#, C++, VB.Net- Extend JavaDoc style support to C++, VB.Net and Delphi- General improvements in comment synchronization in code engineering- Added menu option to package in Browser Tree to Synchronize all classes - either forward or reverse- Fixed bug in drawing code when creating file images that clipped text in wide diagrams- Fixed bug in Requirements element that could result in missing information

- Added option to show 'hidden parents' in diagrams - for Class and Interface types. If an element has a parent or realisation that is not shown explicitly on the diagram via a link, the name of the target element is written in the top right of the class or interface- Added support for 'Tags' in Requirement, Change and Issue elements ... including support of tag compartment on diagram- Added support for the synchronisation of DDL information when doing ODBC import- Added support for the generation of Indexes, triggers, stored procedures in DDL- Added support for importing index information from ODBC source- Added support for auto number columns in DDL generation- Added support for 'COMMENT ON' for Oracle and DB2 DDL generation- Added support for multiple levels of comments in DDL generation- Added support for MySQL database- Added function such that depressing the control key while clicking on a connector will bypass the hit test on labels - allowing you to select a line behind a label- Fixed bug that could leave information about connector position in a diagram for deleted connectors in model- Disabled all controls on search dialog when 'Orphans' check box is ticked- Improved handling of Macros in C++ files- Fixed bug in Operations dialog that could cause exception in rare circumstances- Fixed bug in Docked Maintenance toolbar - Defect dialog caused error if Defect name contained an apostrophe- Modified the way the Hierarchy tab of the docked properties window is populated - changed 'RealizedBy' nodes- Modified operations dialog such that for C++ Interfaces operations MUST be Abstract and Pure- Modified C++ code gen such that Interface methods are generated abstract and pure always- Modified C++ code gen such that .cpp file is not created for interfaces- Modified way C++ code parser and generator handled <friend> methods- Fixed bug that caused error when new note attached to link is created but not given any text (content)- Fixed bug in Deep Copy of a diagram such that Notes attached to links did not get attached to the copied link- Ctrl+Del shortcut now deletes Attributes and Operations from the Project Browser in addition to the other elements- Removed Project/Maintenenace and Project/Tests dialogs from right click menu on diagram object. These are now accessed thru the dockable test and maintenance toolbars- Added "Import Scenario" option to Scenario Tests tab of docked Tests toolbar ... allows import of scenarios from object into test scenarios area- Added support for stereotype metafile appearance to Sequence objects in Sequence diagrams- Modifications to C++ parser to handle Macro definitions better- Initial and limited support for import of XMI 1.0/UML 1.3 XMI ... still under development

- Addition of Swimlanes to diagrams as a configurable attribute of the diagram * configure from right click diagram context menu - use 'Swimlanes...' option * Add/modify/delete swimlanes. Associate each lane with a base classifier * Resize lane widths using mouse - drag and drop * When used in Activity diagram, correspond to UML Partition * When not used in Activity diagram, treated as diagram 'decoration'- Added check in importing UML Profiles to prevent import of file with Profile ID > 12 characters in length- Fixed bug that allowed Component attributes to overlap component name in some instances- Added code to Class element to draw 'information' stereotype as rhomboid - as in the Eriksson-Penkar extensions- Added code to check size of EMF image when first loading from 'Choose Associated Image' and display at default size.- Modifications to the Hierarchy tab in Property window to better show an elements relationships to other elements - by type, composition and dependency- Prevented blank comments from Parameters reversed from code overwriting comments against parameters in EA - Fixed bug in Issues dialog - running report could cause EA to crash- Modified behaviour of 'Move Diagram' function in Project Browser - owned pseudostates, boundaries and decisions are now moved with diagram to target package- Fixed bug in project browser that could cause problems with 'owned elements' (eg. states under a class) not 'holding' their position between reloads of the project- Number of changes to C# code generator and parser: support 'internal' and 'sealed' keywords better. Support attributes on parameters. Support 'params' keyword.- Some changes to code parsers to synchronise 'Abstract' 'Scope' and 'IsLeaf' attributes back into model from code- Modified element geometry in status bar to show correct size when element first clicked on- Added setting in element Feature Visibility dialog to hide runstate for an object- Added setting in element Feature Visibility dialog to hide attributes and operations based on stereotype- Added Decision, Start and End nodes to the Project Workspace tree.- Added ability to select a subset of all elements on diagram and save image for them only to clipboard (see right click menu for multi-selection)- Bug fix to import of C++ methods declared as "foo() const = 0;" pure indicator was being missed- Bug fix to Delphi code import ... in some cases method qualifiers spread over multiple lines caused a problem- Added ability to link note element type to the containing diagram's note - use note element context menu to set

I am very proud to say that Enterprise Architect continues to be a great success, with many thousands of registered users worldwide, an active and enthusiastic user base and a commitment from Sparx Systems to continual innovation and refinement of the EA toolset. We are extremely gratified at the positive response we receive from users all over the world, commenting on the ease of use, small footprint, comprehensive feature set and low price of Enterprise Architect. We are also very pleased to receive a wealth of suggestions and ideas that have helped make EA what it is today.

The last few months have seen the addition of many new features - such as HTML reporting, UML Profile support and many refinements to the existing feature set. There are also a lot of enhancements under way, including IDL, Version control, in-built source code editor, Profile editor and much more - the coming months should see some important new features being introduced into EA.

Just a reminder, that although the version number of EA has remained static for a little while now - the EA toolset has gone forward in leaps and bounds. With a new release on average every 10 to 14 days, the last few months have seen some major changes go in. The latest build number is 496 (see development history below) - so if you havent updated your copy of EA for a while, now might be the time to consider it.

Once again I would personally like to thank all the users who have submitted suggestions, feature requests, bug reports and otherwise helped in the continued development of EA.

FIRESTAR SOFTWARE ( www.firestarsoftware.com )"FireStar Software's ObjectSparkTM is the industry's first infrastructure software that structures and automates the development and deployment of data services, a critical layer in three-tiered applications. ObjectSpark's patented technology includes out-of-the-box data services with easy to use visual tools that enable customization and deployment. ObjectSpark delivers scalable, high performance data service objects and web services; these components can be generated for Microsoft and Java development environments. ObjectSpark provides native support for major databases and general support for ADO/JDBC accessible data sources."

DEISER Desarrollo y Servicios is a company located in Madrid (Spain) commited with Modelling Tools and Methods long time ago. Is one of the most active organizations about consultancy, assestment, training and modelling tools. Thousands of professionals and dozens of companies have been received their services and along these years has been representing in Spain the most popular modelling tools: EasyCASE, Visible Analyst, GDPro, MagicDraw and now DEISER have just incorporated Enterprise Architect as one of their flagship elements of their strategy DEISER Enterprise Process, a solution oriented to give Companies the best solution to deploy one Method and one supporting tool.

XYPDIANXpdian is a South African leader in Information Systems management consulting services, as well as having a focus on several niche business services.

World-eITWorld-eIT, Inc. is a privately owned company specializing in service-based applications providing dynamic, functional, and best-practice data warehousing and transactional processing for startup to mid-cap companies. Flex-IT™ is the flexible IT environment for e-Business, B-to-B, and B-to C solutions providing integration across platform, development environments, database schemas, and look-and-feel interfaces.

Major new features in recent builds of EA (from build 465 to build 496) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~* Support for UML Profiles* Addition of a Resources tab to Project Browser - for storing Profiles, documents, HTML and RTF styles and more* Moveable and customisable connector labels * Customisable fonts, font size & etc. for Text, Note and Boundary elements* Support for customisable HTML and RTF templates* Web reporting module for producing quality HMTL documentation from EA models * Many changes and tweaks to EA to better support the UML 1.4 standard. See the detailed notes below for more information* Major enhancements to sequence diagrams - branching, recursion, garbage collection, configurable message height and much more* Ability to run EA RTF reports from OLE Automation - allowing for automatic batch reporting* Auto numbering feature to enable quick naming of objects and packages* Export support for XMI 1.0 when exporting model to XML format.* Improved support for JavaDoc style commenting within Java. * Added additional language support in RTF document generator. Language setup dialog now has place for setting codepage, character set and language ID.* Connectors of any type may now have an attached note or constraint - the notelink will attach at the link centrepoint* Added support for branching/tree style generalization links* Many changes to the Delphi code generator. Added support for Delphi properties. Added Delphi 'Property editor'.* Delphi parser now handles multiple classes in same file* Connector lines now support user defined 'waypoints' ie. they are user routable* Support element composition for Classes, Objects, Requirements, States. * XMI export dialog now includes option to export diagram images at same time as XMI generated* Automation Interface has added a new method to export a package to XMI - including diagram images* Relationship Matrix now has ability to save current setup as a profile for easy reloading* Use cases now support Extension Points ... access these from the Use Case context menu.* Added optional compartments for Responsibilities, Constraints & Tags on some elements. Activate using the "Set Feature Visibility" dialog

Full details of all enhancments and bug fixes are listed below.

Under Development~~~~~~~~~~~~~~~~~Some items being currently worked on:

Accessing the registered user section on the Sparx Systems website~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~For registered users, we have created a new section of the website. From here you can download the latest build of EA, patch updates, previous project versions, view lists of changes and more. We are currently releasing patches and updates to EA on a regular basis (every 10 days to 2 weeks), so keep an eye out for new releases. Access to these pages is gained using the username and password you were supplied with when you purchased your license. If you have misplaced your details, please contact us using the same email, name and address as when you purchased EA.

Note that access to the registered user area free for 1 year after the date of purchase of EA. To renew your accdess subscription, the price is 1/3 the current retail price of your EA edition per license.

- Added Interface, Class and Realisation icons to Component toolbar- Added ability to link Note element to Connector Tagged Values (using the Link Note to Connector feature)- Added suppoprt for PNG graphic format when exporting to image, RTF or HTML- Added support for JPG graphic format when exporting to image, RTF- Added support for TGA graphic format when exporting to image- Added support for linking a PNG, JPG, BMP, TGA, PCX, EMF or WMF image to an element in a diagram (overrides drawing) * not all elements support linking to graphic (eg. Decision does not) * image is stored internally in EA (in PNG format to save space) - link to external file is not maintained * image is first shown at default size - but may be resized as required- Added support for 'Package' scope (UML 1.4 compliance) * added at element, attribute and method level * for Java acts as <default> visibility * for VB.Net corresponds to Friend * not used (currently) in C++ or Delphi * CSharp treats like Java - and writes out no scope to code * XMI output translates 'Package' scope to 'Protected' (UML 1.3 does not support 'Package' scope) * XMI output to EA format includes tagged value of 'scope=package' where appropriate to ensure reverse is correct- Fixed a few minor resource leaks (unreleased menu handles)- Fixed drawing of Interface ... attribute name overlapping compartment top when stereotype, name and property set (eg. "{root}")- Fixed display of long names in activities and events where height of wrapped text close to height of element - caused a blank line at top- Fixed a bug that prevented some check boxes holding their value - notably affected operation parameters, operations and controlled packages. This was caused by some changes introduced in build 495 to increase database access speed. If you currently have build 495 we recommend upgrading.

- Reworked and updated the docked properties window extensively- Added support for Tagged Values to the Docked Property Browser- Added support for Delegates to C# parser/generator- Added ability to set the extension for all filenames generated in HTML report (eg. .htm, .asp, .html)- Added support in 'Link Note to Element Feature' for Tagged Values- Allow empty notes field in Scenario tab of object properties- Update HTML reporting to show icon for contained packages in lower left Contents pane- Changed 'Set Run State' shortcut key tot "Shift+Ctrl+R"- Added check box to search dialog - allows search to include scenarios, constraints, requirements and tagged values for object in search- Fixed bug in Delphi parser that caused problems with overloaded functions under some circumstances.- Added check in Operations dialog for unsaved changes when selecting another Operation from list.

- Fixed bug in VB.Net parser which could result in multiple return values for a method on synchronization- Added support for default parameter values in VB.Net - forces use of Optional keyword- Added support for updating parameter information(name, kind etc.) on synchronization (reverse engineering)- Added support for C# "ref" and "out" keywords and functions- Support "struct" keyword in C#- Added support for C++ parameter default values having "(" and ")" - eg. _T("") - Fixed problem with Attribute dialog not clearing property value when clicking between different objects- Fixed bug that affected ability to drop a requirement from tree onto a class in diagram and automatically create a realization link- Modified VB.Net code generator to format parameters slightly more elegantly (with regard to placement of comma)

- Added support for moveable connector labels. Labels may now be freely placed and sized by the user.- Added support for connector label style of Bold - see right click context menu of label- Added support for aligning connector labels within their placement rectangle - left or centre or right (see right click context menu of label)- Added ability to hide inidividual labels on a connector - see right click context menu of label- Added dialog to manage hidden labels on a connection - see the context menu for a Connector (Set Label Visibility)- Split the View/Options Diagram Page into 2 pages - Main and Behaviour- Fixed bug in Java parser/code generator ... handling of "final" parameters- Fixed bug in drawing of Entity objects with Attributes ... could cause distortion of element size in diagrams- Fixed bug that caused exception if item double clicked in property/hierarchy pane, then Attribute or Operation dialog invoked- Fixed problem where two packages with the same name and same parent would show each other's contents when pasted into diagrams- Added ESC key processing to currentdiagram to cancel any pending links from toolset or elements dragged from toolset- When item clicked in small Element Toolbar, any pending action and selection in main toolbox is cancelled- Added "Insert Element" option in Diagram context menu to insert Note, Text, Hyperlink, Boundary or Diagram Details- When folder changed in toolbox, any pending action or selected item is cancelled- Added option to View/Options/Sequence diagram page. Allow specification of Font and Font Size for Sequence Diagram Heading bar.- Fixed bug that prevented overriden HTML Content template from being used instead of default one- Fixed bug where objects pasted into diagram that had x,y coordinates larger than size of diagram were inaccessible. Scroll bar sizes now reset on paste.- Added code in Java generator to accept "[]" as a container type when generating variables from associations- Added support in Java for "native" keyword. When reversed a tagged value of "native=true" is added to imported class

- Added ability to define and modify HTML style templates. Templates are added in resource tree and selected in HTML report dialog.- Added ability to define and modify RTF style templates. Templates are created in Resource tree and selected in RTF dialog- Add Package contents to package page of HTML report- Added ability to set user defined Font type and style for Text, Boundary, GUI Element, Note and Diagram Text elements (see context menu 'Set Font...' option)- Added context menu option to Boundary element to allow ellipse, rounded rectangle or rectangle shape- Added handler for C++ macros of the style DECLARE_DYNCREATE(CView) ... define in Macro dialog as DECLARE_DYNCREATE() .. EA will ignore content between ( and )- Fixed bug in C++ code gen that could leave extra characters at end of CPP file- Improved support for const methods in C++ using the IsQuery property- Fixed bug in CPP parser that could cause out of memory error when parsing file with a variety of enums and/or structs- Fixed bug in Attribute dialog that could cause an exception under some circumstances- Fixed problem that could cause deletion of a package to fail when sub packages contained elements parenting multiple contained elements- General improvements to the VB.Net parser and code generator- General improvements in C++ parser and code generator- Added ability to import XMI package at View level when StripGUIDs selected

Changes and Fixes for Build 490************************- Added 'Resource' tree to docked project browser - includes sections for UML Profiles, Documents, Matrix Profiles and Stylesheets- Added comprehensive and generic support for UML Profiles . Profiles are imported and managed in the new Resources tree view . Profiles may be imported from XML files describing the Profile content . Profiles include Stereotypes and tagged values for elements, attributes, methods, links, link ends and more . Profiles may include a metafile attached to the stereotype . Profile items may be dragged from the profile tree onto diagrams . Drag attribute and operation stereotypes over classes in diagram to add to element . Click on profile links and add connections as usual . Drag association end stereotypes over end of link to attach details- Added section in Resource tree for defined Matrix Profiles. Doble click on a profile to load matrix and display - Added function to post process XMI export XML with Stylesheet. Stylesheets are loaded in new 'Resource' tree- Added generation support for <<enumeration>> type in C++, VB.Net, VB - Added reverse engineering support for <<enumeration>> in C++, C# and VB.Net- Added Attribute Tags to both the RTF documentation and HTML documentation- Added Method Tags to both the RTF documentation and HTML documentation- Limited display of Tagged values to those having a set 'Value' as future use of UML Profiles may define Tagged Values with no set 'Value'- Added highlight for Abstract classes and operations - set on View/Options dialog - Objects page "HIghlight {abstract} elements" . Adds "{abstract}" keyword to class drawing - Added Read and Write check boxes to Create Property dialog (from Attributes dialog). Unchecking either will remove one of the paired accessor methods (get/set)- Added Abstract check box to the Create Property dialog. Check this to mark generated get/set methods or property as Abstract.- Revised Realization link such that if target object is an Interface drawn using Circle notation (lollipop) then the link renders as a solid line with no arrow (as per UML 1.4 spec)- Fixed bug that caused Visual Basic code generator to end Property blocks with 'End Function' instead of 'End Property'- Fixed bug in Aligning elements that could cause selected elements to align against an unselected element when called from the toolbar 'Align' buttons- Force close of Attribute and/or Operation dialog if package selected in Project Browser. Could cause exception under certain cirumstances.- Added 'Files' tab to requirement properties dialog