For the last few months I’ve been developing an EA Add-In which has taken longer than originally planned, hence my lack of time for other experiments. As the project unfolded, we discovered more, expanded the idea, added more features (scope creep!), and then a few redesigns of the UI to provide users options. And even now we still have more ideas to explore.
All in all its taken a few months longer than planned. I suppose I should believe my rule of thumb which is, when asked by a project manager how long will something take to do – take your first estimate and multiply the time by PI (3.14159265359…. – perhaps not to that level of precision!), and its the number you don’t want to believe, as it could well put you off starting the project at all.
So 2 months becomes 6 and I am now nearing the end of completing the initial phase of this new Add-In – eaForms. I had expected to be where I am now before my summer break in July, but instead spent much of my break coding albeit in the sun and must admit it was fun – especially learning more about what you can / can’t do with EA all the time. I have lots of material from my discoveries for some posts on writing Add-Ins – hopefully I’ve get some time to write up soon.
So what is eaForms – simply it’s an Add-in that allows users to design and run alternative element properties editors.
The idea came from my work in trying to capture knowledge from people who had no knowledge (or interest) in modelling and when pushed to found EA too techie to use. This led to confusion, frustration and often a bit of a mess for your’s truly to sort out. So why can’t they have something that is a bit more accessible. They may still have to use EA and so accept that they will be using a modelling tool. Also there is no getting away from them needing some training to cover the basics plus monitoring afterwards, but at least I could make life a little easier by removing some of the complexity for data entry/editing. In addition, in doing this I could also help drive consistency by, for example, providing them with a defined set of values instead of a free form text box etc… less mess for me:-)
eaForms operates in 2 modes:
In Designer mode – the EA user can configure a form, using the eaForms toolbox, to produce a form that will be displayed for a specific Element type/stereotype combination (support is included for both core element as well as MDGs that are enabled at design time). The content, layout and appearance of this is up to the designer. The form designer is free to produce forms of different shapes, sizes, colours and perhaps more importantly content using “controls” that go beyond that provided by the standard EA dialogs. For example:-
- Combobox (with options for user defined values, to restrict users selections)
- Checkbox – to provide that quick “yes/no”, “true/false”, as well as other booleans
- Related elements – with the ability to link to one or more other elements without dropping the current editing context
- Listviews that display collections with some options to edit items in the list, once again without dropping the current editing context.
Plus built into the design is the ability to add further “gadgets” that as the need is identified.
As an example – here is the basic design of an eaForms in EA – drawn using EA’s drawing tools on an eaForms diagram
In User mode – the EA user, assuming eaForms is enabled, need do nothing. When they edit an element for which there is a matching form available eaForms will present this instead of EA presenting its standard dialog – below is a screenshot for the form design above:
All in all no real magic but pretty useful.
Of course, for the experienced EA user the benefits are different. They can produce forms that help them by bringing information together in a single place in the way that they want (I do this for classes, where I have a single form with the class information, its attributes and operations). And bearing in mind it only takes a few minutes to produce a form it can be time well spent, of course, for the artistic it’s easy to spend more time enhancing the look of the form!
Although we think this is a great tool it is important to remember eaForms is just another tool in the EA toolbox. It is an Add-In that can extend and enhance the users’ experience. Using EA still requires guidance from those responsible for the models. Our aim with eaForms is to help in making EA more accessible, reducing some barriers and helping ensure data consistency. Not for everybody but useful to the many.
We have more ideas on where we could go with eaForms and could just continue developing but probably better to let you play (and hopefully provide feedback).
We plan to start trialing eaForms soon – so watch this space. In the meantime we have started with some short videos that demonstrate the product and its use which you can find on YouTube Channel.
Be back soon.