# Platform Support

This page provides an overview of notable issues where support is limited due to Jade platform issues (raised via Parsys or [JEDI](https://jedi.ideas.jadeworld.com/)), or support hasn't been implemented within JadeGit yet.

Check the [project issue tracker](https://gitlab.com/jadelab/jadegit/-/issues) for other issues, where you can create new issues for faults or new feature requests for JadeGit in general (whether they should be noted here or not).

## Change Tracking

The following table lists entity operations which cannot be supported during development due to issues with the [IDE hooks](https://secure.jadeworld.com/JADETech/JADE2022/OnlineDocumentation/#resources/objectmanager/ch2jadesecurity/devenvironmentsecurity.htm) or because support hasn't been implemented yet.

{% tabs %}
{% tab title="2022 SP3" %}

<table data-full-width="false"><thead><tr><th width="198">Entity Type</th><th width="100">Function</th><th width="162">Issue</th><th>Workaround</th><th width="86" align="center">Hot Fix</th></tr></thead><tbody><tr><td>References</td><td>Inverse Deletion</td><td>PAR 66873</td><td>Update references affected when change isn't tracked upfront.</td><td align="center"></td></tr><tr><td>Schemas</td><td>Deletion</td><td>PAR 68417</td><td>Delete schema file &#x26; folder from repository directly.</td><td align="center">7</td></tr><tr><td>Forms</td><td>Schema Load</td><td>PAR 70027</td><td>Update forms via painter following schema load.</td><td align="center"></td></tr><tr><td>Controls</td><td>Change Type</td><td><a href="https://gitlab.com/jadelab/jadegit/-/issues/153">#153</a><br>PAR 70191</td><td>Update property text after changing control type via painter.</td><td align="center">20</td></tr><tr><td>Classes</td><td>Change Interface Mapping</td><td><a href="https://gitlab.com/jadelab/jadegit/-/issues/157">#157</a><br>PAR 70215</td><td><p>Update class text after removing interface mapping.<br></p><p>Update existing methods after they're add/removed from interface mapping.</p></td><td align="center">18</td></tr><tr><td>C# Exposures</td><td>Add &#x26; Update</td><td>PAR 67309</td><td>None</td><td align="center"></td></tr><tr><td>External Databases</td><td>Update</td><td>Not Raised Yet</td><td>None</td><td align="center"></td></tr><tr><td>Skins</td><td>Any</td><td><a href="https://gitlab.com/jadelab/jadegit/-/issues/52">Not Implemented</a></td><td>Deploy changes directly.</td><td align="center"></td></tr></tbody></table>
{% endtab %}

{% tab title="2022 SP2 " %}

<table data-full-width="false"><thead><tr><th width="198">Entity Type</th><th width="100">Function</th><th width="162">Issue</th><th>Workaround</th><th width="86" align="center">Hot Fix</th></tr></thead><tbody><tr><td>Local Features (on imported classes)</td><td>Any</td><td>PAR 69387</td><td>None</td><td align="center"></td></tr><tr><td>References</td><td>Inverse Deletion</td><td>PAR 66873</td><td>Update references affected when change isn't tracked upfront.</td><td align="center"></td></tr><tr><td>Translatable Strings</td><td>Deletion</td><td>PAR 68418</td><td>Remove from locale file within repository directly.</td><td align="center"></td></tr><tr><td>Schemas</td><td>Deletion</td><td>PAR 68417</td><td>Delete schema file &#x26; folder from repository directly.</td><td align="center">41</td></tr><tr><td>Schemas</td><td>Update Text</td><td>PAR 67677</td><td>Update schema file within repository directly.</td><td align="center"></td></tr><tr><td>Forms</td><td>Schema Load</td><td>PAR 70027</td><td>Update forms via painter following schema load.</td><td align="center"></td></tr><tr><td>Controls</td><td>Change Type</td><td><a href="https://gitlab.com/jadelab/jadegit/-/issues/153">#153</a><br>PAR 70191</td><td>Update property text after changing control type via painter.</td><td align="center"></td></tr><tr><td>Classes</td><td>Change Interface Mapping</td><td><a href="https://gitlab.com/jadelab/jadegit/-/issues/157">#157</a><br>PAR 70215</td><td><p>Update class text after removing interface mapping.<br></p><p>Update existing methods after they're add/removed from interface mapping.</p></td><td align="center"></td></tr><tr><td>C# Exposures</td><td>Add &#x26; Update</td><td>PAR 67309</td><td>None</td><td align="center"></td></tr><tr><td>External Databases</td><td>Update</td><td>Not Raised Yet</td><td>None</td><td align="center"></td></tr><tr><td>Skins</td><td>Any</td><td><a href="https://gitlab.com/jadelab/jadegit/-/issues/52">Not Implemented</a></td><td>Deploy changes directly.</td><td align="center"></td></tr></tbody></table>
{% endtab %}

{% tab title="2020 SP1" %}

<table data-full-width="false"><thead><tr><th width="198">Entity Type</th><th width="100">Function</th><th width="162">Issue</th><th>Workaround</th></tr></thead><tbody><tr><td>Local Features (on imported classes)</td><td>Any</td><td>PAR 69387</td><td>None</td></tr><tr><td>References</td><td>Inverse Deletion</td><td>PAR 66873</td><td>Update references affected when change isn't tracked upfront.</td></tr><tr><td>Translatable Strings</td><td>Deletion</td><td>PAR 68418</td><td>Remove from locale file within repository directly.</td></tr><tr><td>Schemas</td><td>Deletion</td><td>PAR 68417</td><td>Delete schema file &#x26; folder from repository directly.</td></tr><tr><td>Schemas</td><td>Update Text</td><td>PAR 67677</td><td>Update schema file within repository directly.</td></tr><tr><td>Forms</td><td>Schema Load</td><td>PAR 70027</td><td>Update forms via painter following schema load.</td></tr><tr><td>Controls</td><td>Change Type</td><td><a href="https://gitlab.com/jadelab/jadegit/-/issues/153">#153</a><br>PAR 70191</td><td>Update property text after changing control type via painter.</td></tr><tr><td>Classes</td><td>Change Interface Mapping</td><td><a href="https://gitlab.com/jadelab/jadegit/-/issues/157">#157</a><br>PAR 70215</td><td><p>Update class text after removing interface mapping.<br></p><p>Update existing methods after they're add/removed from interface mapping.</p></td></tr><tr><td>C# Exposures</td><td>Add &#x26; Update</td><td>PAR 67309</td><td>None</td></tr><tr><td>External Databases</td><td>Update</td><td>Not Raised Yet</td><td>None</td></tr><tr><td>Skins</td><td>Any</td><td><a href="https://gitlab.com/jadelab/jadegit/-/issues/52">Not Implemented</a></td><td>Deploy changes directly.</td></tr></tbody></table>
{% endtab %}
{% endtabs %}

### Schema Versioning

The following table lists issues with schema versioning during development which impacts accurate change tracking.

<table><thead><tr><th width="171">Issue</th><th>Problem</th><th>Workaround</th></tr></thead><tbody><tr><td><p>PAR 67751</p><p></p></td><td>When an entity needs to be versioned during an update, change tracking cannot distinguish if the change is being made in current or latest schema version.</td><td>Explicitly version the schema, update entity text in latest schema version, then perform update or delete operation.</td></tr><tr><td>PAR 67678</td><td>When an entity is deleted from latest schema version, change tracking treats it as current schema version when latest entity version doesn't exist.</td><td>Update the entity in latest schema version first, then delete it.</td></tr></tbody></table>

## Deployment

The following table lists issues which impact deployment capabilities.

{% tabs %}
{% tab title="2022 SP3" %}

<table><thead><tr><th width="131">Issue</th><th>Problem</th><th width="86" align="center">Hot Fix</th></tr></thead><tbody><tr><td><a href="https://jedi.ideas.jadeworld.com/ideas/JAD-I-102">JEDI #102</a></td><td>Cannot handle map file changes efficiently without intermediary re-orgs.</td><td align="center"></td></tr><tr><td><a href="https://jedi.ideas.jadeworld.com/ideas/JAD-I-457">JEDI #457</a></td><td>Complete JCF support needed to support rename &#x26; delete operations for all entity types.</td><td align="center"></td></tr><tr><td>PAR 70112</td><td>Cannot delete class in latest schema version due to subschema reference error.</td><td align="center">7</td></tr></tbody></table>
{% endtab %}

{% tab title="2022 SP2" %}

<table><thead><tr><th width="131">Issue</th><th>Problem</th><th width="86" align="center">Hot Fix</th></tr></thead><tbody><tr><td><a href="https://jedi.ideas.jadeworld.com/ideas/JAD-I-102">JEDI #102</a></td><td>Cannot handle map file changes efficiently without intermediary re-orgs.</td><td align="center"></td></tr><tr><td><a href="https://jedi.ideas.jadeworld.com/ideas/JAD-I-457">JEDI #457</a></td><td>Complete JCF support needed to support rename &#x26; delete operations for all entity types.</td><td align="center"></td></tr><tr><td>PAR 66557</td><td>Cannot remove property after removing from exported package in latest schema version.</td><td align="center"></td></tr><tr><td>PAR 67022</td><td>Cannot delete interface in latest schema version due to deleted collection references.</td><td align="center">41</td></tr><tr><td>PAR 70019</td><td>Cannot delete interface in latest schema version due to deleted implementors.</td><td align="center">41</td></tr><tr><td>PAR 70112</td><td>Cannot delete class in latest schema version due to subschema reference error.</td><td align="center">41</td></tr></tbody></table>
{% endtab %}

{% tab title="2020 SP1" %}

<table><thead><tr><th width="131">Issue</th><th>Problem</th></tr></thead><tbody><tr><td><a href="https://jedi.ideas.jadeworld.com/ideas/JAD-I-102">JEDI #102</a></td><td>Cannot handle map file changes efficiently without intermediary re-orgs.</td></tr><tr><td><a href="https://jedi.ideas.jadeworld.com/ideas/JAD-I-457">JEDI #457</a></td><td>Complete JCF support needed to support rename &#x26; delete operations for all entity types.</td></tr><tr><td>PAR 66557</td><td>Cannot remove property after removing from exported package in latest schema version.</td></tr><tr><td>PAR 67022</td><td>Cannot delete interface in latest schema version due to deleted collection references.</td></tr><tr><td>PAR 70019</td><td>Cannot delete interface in latest schema version due to deleted implementors.</td></tr><tr><td>PAR 70112</td><td>Cannot delete class in latest schema version due to subschema reference error.</td></tr></tbody></table>
{% endtab %}
{% endtabs %}

### Commands

The following table shows what Jade versions support new JCF commands (proposed by [JEDI #457](https://jedi.ideas.jadeworld.com/ideas/JAD-I-457)), using which deploying these kinds of changes is supported by JadeGit.

<table><thead><tr><th width="308">Command</th><th align="center">2020 SP1</th><th align="center">2022 SP2</th><th>2022 SP3</th></tr></thead><tbody><tr><td>Delete Application</td><td align="center">❌</td><td align="center"><mark style="color:green;">✔</mark></td><td><mark style="color:green;">✔</mark></td></tr><tr><td>Rename Application</td><td align="center">❌</td><td align="center"><mark style="color:green;">✔</mark></td><td><mark style="color:green;">✔</mark></td></tr><tr><td>Delete Library</td><td align="center">❌</td><td align="center"><mark style="color:green;">✔</mark></td><td><mark style="color:green;">✔</mark></td></tr><tr><td>Rename Package</td><td align="center">❌</td><td align="center"><mark style="color:green;">✔</mark></td><td><mark style="color:green;">✔</mark></td></tr><tr><td>Delete ExportedType</td><td align="center">❌</td><td align="center"><mark style="color:green;">✔</mark></td><td><mark style="color:green;">✔</mark></td></tr><tr><td>Delete ExportedFeature</td><td align="center">❌</td><td align="center"><mark style="color:green;">✔</mark></td><td><mark style="color:green;">✔</mark></td></tr><tr><td>Delete Exposure</td><td align="center">❌</td><td align="center">❌</td><td><mark style="color:green;">✔</mark></td></tr><tr><td>Delete ExternalDatabase</td><td align="center">❌</td><td align="center">❌</td><td>❌</td></tr><tr><td>Delete JadeOdbcView</td><td align="center">❌</td><td align="center">❌</td><td>❌</td></tr><tr><td>Delete RPSMapping</td><td align="center">❌</td><td align="center">❌</td><td>❌</td></tr></tbody></table>

## Multi-User Support

JadeGit currently supports development on a single-user Jade database only.

Support for multiple thin-client users connecting to a single-user application server depends on changes needed to retrieve [thin-client user configuration](https://gitlab.com/jadelab/jadegit/-/issues/116).

Support for multiple users/nodes connecting to a database server depends on [JEDI #402](https://jedi.ideas.jadeworld.com/ideas/JAD-I-402).
