Skip to content

Domain Templates: reserve column names#7679

Open
labkey-nicka wants to merge 6 commits into
developfrom
fb_reserved_column_names
Open

Domain Templates: reserve column names#7679
labkey-nicka wants to merge 6 commits into
developfrom
fb_reserved_column_names

Conversation

@labkey-nicka
Copy link
Copy Markdown
Contributor

@labkey-nicka labkey-nicka commented May 19, 2026

Rationale

Introduce ability to declare <reservedColumnNames> in domain templates. These column names are then reserved by the domain kind so that columns with these names cannot be added to the domain. This addresses #171.

<ns:template xsi:type="ns:DataClassTemplateType">
    <ns:table tableName="testingFromTemplate" tableDbType="NOT_IN_DB">
        <description>Testing a data class template from module.</description>
        <columns>
            <column columnName="aa" mandatory="true">
                <datatype>integer</datatype>
                <columnTitle>Test Column AA</columnTitle>
                <rangeURI>http://www.w3.org/2001/XMLSchema#int</rangeURI>
                <conceptURI>http://cpas.labkey.com/Experiment#Testing</conceptURI>
            </column>
            <column columnName="bb">
                <datatype>varchar</datatype>
                <columnTitle>Test Column BB</columnTitle>
                <rangeURI>http://www.w3.org/2001/XMLSchema#string</rangeURI>
            </column>
        </columns>
    </ns:table>
    <ns:reservedColumnNames>
        <ns:column>reservedOne</ns:column>
        <ns:column>ReservedTwo</ns:column>
    </ns:reservedColumnNames>
</ns:template>

Related Pull Requests

Changes

  • Update domainTemplate.xsd to define reservedColumnNames element type
  • Resolve reserved column names from templates when procuring reserved column names
  • Add integration test for data classes, sample types and lists extracting reserved names from domain templates

@labkey-nicka labkey-nicka force-pushed the fb_reserved_column_names branch from 86665e9 to bd20350 Compare May 21, 2026 00:36
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.

1 participant