iTwin workspace#9116
Merged
Merged
Conversation
kabentley
reviewed
Mar 23, 2026
hl662
requested changes
Mar 23, 2026
…ecific settings access and usage.
Contributor
|
This pull request is now in conflicts. Could you fix it @johnnyd710? 🙏 |
hl662
reviewed
Mar 30, 2026
hl662
left a comment
Contributor
There was a problem hiding this comment.
Review from interactive code walkthrough — 5 suggestions, all non-blocking. Nice simplification overall 👍
hl662
reviewed
Mar 31, 2026
hl662
approved these changes
Mar 31, 2026
markschlosseratbentley
approved these changes
Mar 31, 2026
ben-polinsky
reviewed
Apr 2, 2026
ben-polinsky
approved these changes
Apr 2, 2026
hl662
added a commit
that referenced
this pull request
Apr 7, 2026
- Settings.md: consolidated all settings content (schemas, dictionaries, priorities, iTwin settings, iModel settings, SettingsDb) as single source of truth. Added iTwin settings section and expanded iModel settings with override/reference/pin subsections. - Workspace.md: trimmed from 348 to 138 lines. Removed all settings content. Added 'Choosing the right workspace' decision guide near top with scope table (appWorkspace vs getITwinWorkspace vs IModelDb.workspace). - WorkspacesAndSettings.md: added three-workspace scope table for the app/iTwin/iModel model introduced in PR #9116. - Fixed cross-references: 5.8.0.md settingsdb link now points to Settings.md, NextVersion.md links to both Settings and Workspace docs. - Verified all 28 code example includes appear exactly once (zero duplicates across files). Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Attempt to address some of the problems from https://github.com/iTwin/itwinjs-backlog/issues/1898 and #7316
This PR adds a high-level API for persisting iTwin-scoped settings dictionaries through IModelHost, and aligns the iTwin workspace model with the existing iModel pattern.
Instead of requiring callers to:
Why
We already have a simple API for the iModel workspace, and two methods to persist settings scoped to an iModel:
I'm introducing the "iTwin workspace" and attempting to match the iModel workspace's functionality. There are some key differences between the workspaces:
Workspaces
IModelHost.appWorkspaceIModelDb.workspacesaveSettingDictionary(...).IModelHost.getITwinWorkspace(iTwinId)(new)SettingsDbviasaveITwinSettingDictionary(...).