Book a Demo

Author Topic: Last Editor - functionality  (Read 5235 times)

Paolo F Cantoni

  • EA Guru
  • *****
  • Posts: 8626
  • Karma: +259/-129
  • Inconsistently correct systems DON'T EXIST!
    • View Profile
Last Editor - functionality
« on: June 29, 2018, 11:30:37 am »
Since it doesn't look like Sparx is going to implement it soon, we've decided to implement "Last Editor" functionality.   In an enterprise-wide environment (as I've mentioned before) the original author of an item in the repository is of only passing (and usually historical) interest.  However, the last person to edit the item s is much more important!

Since EA has only one author field, to add Last Editor functionality, we need to either
  • Hijack the Author Field
  • Add the Last Editor property as a Tagged Value
If we hijacked the Author field, we'd need to add the Original Author property as a tagged value.
We'd also probably add some timepoint properties to record the event.

I guess we'd hook into the OnPostNewXXXX and OnNotifyConttextItemModified events to support this.

Thoughts?
TIA,
Paolo
« Last Edit: June 29, 2018, 11:38:46 am by Paolo F Cantoni »
Inconsistently correct systems DON'T EXIST!
... Therefore, aim for consistency; in the expectation of achieving correctness....
-Semantica-
Helsinki Principle Rules!

Geert Bellekens

  • EA Guru
  • *****
  • Posts: 13523
  • Karma: +574/-33
  • Make EA work for YOU!
    • View Profile
    • Enterprise Architect Consultant and Value Added Reseller
Re: Last Editor - functionality
« Reply #1 on: June 29, 2018, 03:24:03 pm »
While you are at it, you can maybe try to implement the same for other types of objects in the EA world, think connectors, attributes, operations,...


Geert

Nizam

  • Prolab Moderator
  • EA User
  • *
  • Posts: 320
  • Karma: +15/-2
  • Model Sharing - Simplified
    • View Profile
    • Professional Model Collaboration
Re: Last Editor - functionality
« Reply #2 on: June 29, 2018, 03:24:41 pm »
Much needed capability indeed.
Facing a similar situation now, but for diagrams and connectors. (who created a new connector / who modified a diagram)
I was thinking if it would be possible to fetch this detail from the audit log (on demand)

But getting into something holistic like you've suggested sounds interesting. Hijacking the Author field, i'm afraid may be going against EA's native way, and a XMI export / import or other batch operations always runs a risk of overwriting it.

Tagged value seems to be a safer bet.  Will be interesting to see some perspectives on this.

Nizam

Paolo F Cantoni

  • EA Guru
  • *****
  • Posts: 8626
  • Karma: +259/-129
  • Inconsistently correct systems DON'T EXIST!
    • View Profile
Re: Last Editor - functionality
« Reply #3 on: June 29, 2018, 03:58:44 pm »
While you are at it, you can maybe try to implement the same for other types of objects in the EA world, think connectors, attributes, operations,...


Geert
Yes, that's my plan.  But first t_object!

Paolo
Inconsistently correct systems DON'T EXIST!
... Therefore, aim for consistency; in the expectation of achieving correctness....
-Semantica-
Helsinki Principle Rules!

matthew.james

  • EA User
  • **
  • Posts: 155
  • Karma: +8/-3
  • Am I supposed to say something here ... ?
    • View Profile
Re: Last Editor - functionality
« Reply #4 on: June 29, 2018, 04:28:10 pm »
As a slightly philosophical aside ...

Sparx evangelists (and do I meant that with respect) strongly advocate that Sparx is a modelling tool, and not (for example) a diagramming tool (despite the fact that the major part of the interface is the diagram ...).

From my experience, I would suggest that Sparx is a UML modelling tool that has had a whole lot of 'special cases' grafted onto it to support other things (like requirements, testing, code generation, project planning etc).  They have been very clever with the use of UML Profiles for extension (albeit bringing in another raft of 'special cases' to support specific profiles).

One thing that is missing is true access to the core meta-model and the ability to extend that in a generic way.  As an example this would mean the ability to directly manage the 'base' types in the meta-model - add new types, add genuine first class attributes to types, add new relationships etc. The 'high end' modelling tools have this capability and would handle this scenario cleanly.  I personally find the whole 'tagged value' concept somewhat clumsy.

However, this is a two edged sword - the more malleable the base meta-model the less the tool can assume (maybe the author field gets removed for example).  Which in turn makes the tools much more generic, far less feature rich.

timoc

  • EA User
  • **
  • Posts: 201
  • Karma: +14/-0
    • View Profile
Re: Last Editor - functionality
« Reply #5 on: May 23, 2019, 06:12:36 pm »
Possibly this should be considered an part of the model 'Audit' feature. Where if a model is under auditing, there is the option to automatically update the author field.

Paolo F Cantoni

  • EA Guru
  • *****
  • Posts: 8626
  • Karma: +259/-129
  • Inconsistently correct systems DON'T EXIST!
    • View Profile
Re: Last Editor - functionality
« Reply #6 on: May 23, 2019, 06:54:50 pm »
Possibly this should be considered a part of the model 'Audit' feature. Where if a model is under auditing, there is the option to automatically update the author field.
Auditing imposes (I'm given to understand - since we don't use it) quite a load on the system - in an enterprise environment.
In addition, our automation "turns over" a lot of stuff in the repository which might flood the audit trail. Also, recently I thought someone said that it was on a per-instance basis, which wouldn't be useful for us.

For us, it's not really an "auditing" function but a missing standard functionality.  EA updates the last modified timepoint, but not the last editor.  Given Sparx's reluctance to change the DB structure, we're quite prepared to sacrifice the original author field (which is what it is now) for the last editor.

Paolo
Inconsistently correct systems DON'T EXIST!
... Therefore, aim for consistency; in the expectation of achieving correctness....
-Semantica-
Helsinki Principle Rules!