Skip to content

Conversation

@andrewelamb
Copy link
Contributor

@andrewelamb andrewelamb commented Jan 22, 2026

SYNPY-1746

Problem:

The method of using the Parent column in CSV data models was problematic for several reasons.

Solution:

The consensus solution was to add a new column, IsTemplate, that is a boolean like the required column. If the value is True in the IsTemplate column, that row is considered a datatype.

@andrewelamb andrewelamb requested a review from a team as a code owner January 22, 2026 17:42
@andrewelamb andrewelamb marked this pull request as draft January 22, 2026 17:42
@andrewelamb andrewelamb changed the title Synpy 1746 [SYNPY-1746] Add IsTemplate column to Curator CSV data model Jan 22, 2026
@andrewelamb andrewelamb marked this pull request as ready for review January 22, 2026 18:37
Copy link
Member

@thomasyu888 thomasyu888 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔥 LGTM! One feedback: from a product perspective, how might one know how to use this column?

I'll defer to @SageGJ for final review - during review please consider how this may impact your generate jsonschema action work and how we advise dcc's to update their data models.

Defining data types:

- Put a unique data type name in the `Attribute` column.
- Put the value `DataType` in the `Parent` column.
Copy link
Member

@thomasyu888 thomasyu888 Jan 23, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

From a Product perspective, I just wanted to confirm that having the "Parent" column will not cause this code to fail. Is this correct?

Copy link
Contributor Author

@andrewelamb andrewelamb Jan 23, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@thomasyu888 I realized I hadn't updated the documentation, this is fixed now :)

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @andrewelamb, the question remains, will having the Parent column be an issue at all?

Copy link
Contributor Author

@andrewelamb andrewelamb Jan 23, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Parent is now an optional column. In fact, technically, anything is an optional column. We have it that way so that data modelers can add whatever optional columns they wish, and the Curator Extension will just ignore them.

### IsTemplate

Put the value `DataType` in this column if this row is a data type. Other values are currently ignored. It is currently used to find all the data types in the data model.
Put the value `True` in this column if this row is a data type(template). It is currently used to find all the data types in the data model.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@andrewelamb what's the behavior if both Parent and IsTemplate columns are present?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For creating JSON Schema, the Parent column will now be ignored. (It can still be used for other purposes, like the visualization tool, which was its original intended purpose from what I understand).

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Got, thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants