Skip to content

feat(developer): New Project Parameters dialog in web/svelte#14692

Draft
mcdurdin wants to merge 1 commit intomasterfrom
feat/developer/new-project-parameters-in-svelte
Draft

feat(developer): New Project Parameters dialog in web/svelte#14692
mcdurdin wants to merge 1 commit intomasterfrom
feat/developer/new-project-parameters-in-svelte

Conversation

@mcdurdin
Copy link
Member

@mcdurdin mcdurdin commented Sep 5, 2025

This is a prototype of the New Project Parameters dialog rewritten in svelte, and hosted as a web page within the existing TfrmNewProjectParameters form in Keyman Developer IDE (TIKE). The intent of this prototype is to explore ways of incrementally moving UX out of Delphi and into cross-platform web-based systems. Thus, this is not complete (e.g. Targets is unlinked, no bcp 47 picker, issues with the Browse-for-folder dialog), and the choice of UI framework (Bootstrap/Sveltestrap) and even of Svelte itself is all up for discussion.

The Svelte project is also currently running only in dev-mode, and would need to be integrated into the existing Keyman Developer Server. This is all well understood (there are adapters to link between Svelte and Express, which is our backend http server in KMDevServer).

In my opinion, this looks like a viable way forward to incrementally rewrite parts of Keyman Developer. I look forward to other peoples' thoughts on this broad-brushstroke design and concept.

This also comes out of the discussion we had on #14657, where validation messages were added to the New Project Parameters Delphi form, and for implementation cost reasons, were put into a much expanded form, resulting in a lot of wasted space on the form -- the web paradigm should serve us much better for this kind of thing.

image

Build-bot: skip
Test-bot: skip
See-also: #14657

This is a prototype of the New Project Parameters dialog rewritten in
svelte, and hosted as a web page within the existing
TfrmNewProjectParameters form in Keyman Developer IDE (TIKE). The intent
of this prototype is to explore ways of incrementally moving UX out of
Delphi and into cross-platform web-based systems. Thus, this is not
complete (e.g. Targets is unlinked, no bcp 47 picker, issues with the
Browse-for-folder dialog), and the choice of UI framework
(Bootstrap/Sveltestrap) and even of Svelte itself is all up for
discussion.

The Svelte project is also currently running only in dev-mode, and would
need to be integrated into the existing Keyman Developer Server. This is
all well understood (there are adapters to link between Svelte and
Express, which is our backend http server in KMDevServer).

In my opinion, this looks like a viable way forward to incrementally
rewrite parts of Keyman Developer. I look forward to other peoples'
thoughts on this broad-brushstroke design and concept.

This also comes out of the discussion we had on #14657, where validation
messages were added to the New Project Parameters Delphi form, and for
implementation cost reasons, were put into a much expanded form,
resulting in a lot of wasted space on the form -- the web paradigm
should serve us much better for this kind of thing.

Build-bot: skip
Test-bot: skip
See-also: #14657
@keymanapp-test-bot
Copy link

User Test Results

Test specification and instructions

User tests are not required

@keymanapp-test-bot keymanapp-test-bot bot added this to the A19S11 milestone Sep 5, 2025
@darcywong00 darcywong00 modified the milestones: A19S11, A19S12 Sep 13, 2025
@darcywong00 darcywong00 modified the milestones: A19S12, A19S13 Sep 27, 2025
@darcywong00 darcywong00 modified the milestones: A19S13, A19S14 Oct 11, 2025
@darcywong00 darcywong00 modified the milestones: A19S14, A19S15 Oct 24, 2025
@keyman-server keyman-server modified the milestones: A19S15, A19S16 Nov 8, 2025
@keyman-server keyman-server modified the milestones: A19S16, A19S17 Nov 22, 2025
@keyman-server keyman-server modified the milestones: A19S17, A19S18 Dec 6, 2025
@keyman-server keyman-server modified the milestones: A19S18, A19S19 Dec 21, 2025
@keyman-server keyman-server modified the milestones: A19S19, A19S20 Jan 3, 2026
@keyman-server keyman-server modified the milestones: A19S20, A19S21 Jan 16, 2026
@keyman-server keyman-server removed this from the A19S21 milestone Jan 31, 2026
@keyman-server keyman-server added this to the A19S22 milestone Jan 31, 2026
@keyman-server keyman-server modified the milestones: A19S22, A19S23 Feb 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: Todo

Development

Successfully merging this pull request may close these issues.

3 participants

Comments