CrossBreezeNL/crossmodel

Adding attribute via entity form results in incorrect entity file

harmen-xb opened this issue · 2 comments

When adding a new attribute using the entity form/property view the new attribute is created, but doesn't have an Id, so there is an error that the Id is missing.

Steps to reproduce

  1. Open the form editor on an entity
  2. Add an attribute to the entity on the 'Attributes' tab

Expected behaviour
The Id should be in the form for now, maybe automatically populated based on the name?

We would like to solve this issue genericly for all objects.

Ideally all objects have a Name and an Id. When a new object is created the Id is initially derived from the Name with:
Id = (replace whitespace with underscore and special charachters with closes ANSI character. For example replace á with a.)

When the name is changed, the Id is NOT changed. This way anyrhing referencing the object is not broken.

In the future we can add logic to refactor the Id's if modellers want to.

Retested this on latest main and the issue is a bit different now.

When creating new attributes on an Entity the first Id is always 'Attribute'. The next Id is 'Attribute1', next is 'Attribute12', next is 'Attribute 123'.

This is a bit different then expected. It should increase the counter. So first is Attribute, then Attribute2, then Attribute3, then Attribute4.

Also the word 'Attribute' is now fixed. No matter what the user enters in the form for adding attributes the Id always starts with 'Attribute'. This should be different, please see the previous comment for the expected behaviour:

We would like to solve this issue genericly for all objects.

Ideally all objects have a Name and an Id. When a new object is created the Id is initially derived from the Name with: Id = (replace whitespace with underscore and special charachters with closest ANSI character. For example replace á with a.)

When the name is changed, the Id is NOT changed. This way anyrhing referencing the object is not broken.

In the future we can add logic to refactor the Id's if modellers want to.