Book a Demo

Author Topic: Files stored as internal artifacts still in the EA Repository after deletion  (Read 2836 times)

i

  • EA Novice
  • *
  • Posts: 13
  • Karma: +1/-0
    • View Profile
I'm using Sparx EA 15.2.1554 (Build: 1554) in Windows 10.

I've noticed that when I delete files stored in the model as internal artifacts, the size of the model doesn't decrease.

Steps to reproduce this issue:
  • Create a new project.
  • Create a package in the main node of the project.
  • Create a package diagram in the package.
  • Save the project.
  • Check the size of the EA Repository (.eapx) file.
  • Drag and drop a file into the package diagram. Tip: choose a file that weights considerably more than the curreny EA Repository file, for instance 10MB, it'll be simpler to spot the issue later.
  • From the 3 possible options, select "Artifact (Internal)".
  • Check that the file appears both in the diagram and in the project tree under the package.
  • Save the project.
  • Check the size of the EA Repository (.eapx) file. It should have increased in at least the size of the chosen imported file.
  • Right click in the file within the project tree.
  • Delete the file.
  • Save the project.
  • Check the size of the EA Repository (.eapx) file. It should have decreased in at least the size of the deleted file, but it doesn't, at least for me.

I might be missing some final step such as purging, cleaning-up... but I don't find any way to do so.

I've tried closing and opening the file again, closing and opening the Sparx EA again...

Apologies if this is just lack of knowledge from my side, and many thanks for your support in any case.

i

Geert Bellekens

  • EA Guru
  • *****
  • Posts: 13523
  • Karma: +574/-33
  • Make EA work for YOU!
    • View Profile
    • Enterprise Architect Consultant and Value Added Reseller
The problem is that you are thinking of .eap files as a file format, while it actually is a database (you can actually open them with MS Access)

The size of a database is not directly related to the contents in the table.
Generally a database reserves some (empty) space for future content, and if data is deleted it will often simply blank out that space without changing anything to the file size.

This is also what happens when you delete an element. The space is simply blanked out, but is still reserved in the file.

If you want your file to be the smallest possible, you can use the option Configure | Model | Integrity | Manage .EAP/.EAPX file | Compact .EAP/.EAPX file

Or use model transfer to another file.

Geert

i

  • EA Novice
  • *
  • Posts: 13
  • Karma: +1/-0
    • View Profile
Dear Geert,

Many thanks for your quick reply. I've tried both of your suggested solutions (Compact & Transfer) and unfortunately in both cases the EAPX file (database) size remains unchanged.

I guess I'll stick to using external artifacts only from now on, because the internal artifact option is clearly unsustainable, which is a pity because in some instances it would be really handy to have the actual file available within the model.

Best Regards,
i.

i

  • EA Novice
  • *
  • Posts: 13
  • Karma: +1/-0
    • View Profile
Dear Geert,

I've tried again the Compact option and this time it worked alright. I don't understand why it didn't work before.

Many, many thanks for this tip.

Best Regards,
i.