Skip to content
Configuration

Best Practices ​

Design principles and conventions for building a clean, maintainable data model in Entu.

Property Naming ​

Use descriptive, lowercase names with underscores:

  • ✅ product_name, created_date, customer_email
  • ❌ pn, cd, e, startDate, start-date

Be consistent across entity types: use name for primary identifiers, description for longer text, photo for images.

Prefix related properties to group them visually: address_street, address_city, address_country.

Data Modeling ​

Design entity types around your query patterns. If users often find entities by typing a value such as a status or a code into full-text search, enable search on that property definition. Filtering by a property value in a query works without it.

Use references for related data that changes frequently — don't duplicate values across entities when a reference will do.

Use formulas for derived data — totals, averages, counts — so the source of truth stays in one place. See Formulas.

Leverage entity hierarchy to model organizational structure. Parent-child relationships also enable rights inheritance.

Multi-Value Properties ​

Embrace multi-value by design rather than creating numbered variants:

json
// Good — multiple values under one property
[
  { "type": "tag", "string": "urgent" },
  { "type": "tag", "string": "customer" }
]

// Avoid — numbered separate properties
[
  { "type": "tag1", "string": "urgent" },
  { "type": "tag2", "string": "customer" }
]

Enable list on the property definition to allow multiple inputs in the UI.

Access Control ​

Grant minimum necessary rights:

  • _viewer for read-only access
  • _expander for users who need to add child entities
  • _editor for users who need to modify properties
  • Reserve _owner for entity administrators — only owners can change rights and delete the entity

Use _inheritrights for hierarchy-based permissions. A child with _inheritrights: true gets the rights set on its parents, so you grant access once at the parent container. A new child of a parent that has _inheritrights gets it automatically.

Use _sharing for broad access — domain for every user of the database, public for visitors who are not signed in. Only properties that the entity type shares at that level are shown (see Entity Types → Visibility). Use public carefully.

DANGER

Setting _sharing: public makes the entity — and its publicly shared properties — visible to anyone on the internet without authentication. Only use it for intentionally public content.

See Entities → Access Rights and Users.