-
-
Notifications
You must be signed in to change notification settings - Fork 137
feat(developer): Keyman Developer v2.0 Projects #9948
Copy link
Copy link
Closed
Description
Background
This is a meta-issue collecting work items relating to support for v2.0 projects in TIKE.
- feat(developer): Use Folders instead of Projects #2761
- feat(developer): Improve New Project wizard #9869
PRs:
- feat(developer): Support v2.0 projects in TIKE 🦕 #9949
- feat(developer): New Project - Description field and tweaks 🦕 #9950
- chore(developer): hide 'Remove From Project' for v2.0 projects 🦕 #9956
- feat(developer): Support loading XML LDML keyboards in TIKE 🦕 #9963
- feat(developer): show .xml LDML keyboards in project 🦕 #9964
- fix(developer): kmc build ldml keyboard should create output folder 🦕 #9966
- fix(developer): Project upgrade messages now show in Messages panel 🦕 #9969
- feat(developer): Project Settings Form for 17.0+ projects 🦕 #9984
- chore(developer): only build source files 🦕 #9985
- chore(developer): manage SourcePath in project upgrade 🦕 #9986
- feat(developer): handle errors loading projects 🦕 #9989
- chore(developer): show only source path files in project views 🦕 #9995
- chore(developer): handle project version checks cleanly in kmc 🦕 #9996
- fix(developer): projects 2.0 internal path enumeration 🦕 #10016
- chore(developer): require project file to exist 🦕 #10092
- feat(developer): Multi-process model for projects 🦕 #10114
- fix(developer): prevent opening .kpj in multiple processes 🦕 #10137
- fix(developer): various project fixes 🦕 #10151
- feat(developer): Add Window menu 🦕 #10154
- feat(developer): New Project opens in new process 🦕 #10155
- fix(common): kpj loader needs to handle empty Files element 🦕 #10157
- feat(developer): kmc emit hint if project file is old version 🦕 #10158
TODO
- feat(developer): Add lint hint to kmc when compiling v1.0 project recommending upgrade #10147 ➡ feat(developer): kmc emit hint if project file is old version 🦕 #10158
- chore(developer): New Project should present dialog and then open a new process #10138
- feat(developer): multi-process model would benefit from a Window menu #10149
- Cleanup dead code in xmlLdmlProjectFileUI.pas:
TestKeymanWeb()(from feat(developer): Support loading XML LDML keyboards in TIKE 🦕 #9963) ➡ fix(developer): various project fixes 🦕 #10151 - chore(developer): Fix opening various text files from project view, incl. keyman-touch-layout #10144
- bug(developer): Open recently used fails to load files with long paths elided with
...#10145 - feat(developer): Add option to disable prompting for project upgrade #10146
- chore(developer): Validate sourcepath and buildpath -- should be at most 1 level deep from project path #10148
- bug(developer): opening same project in two TIKE windows should not be possible #10003 ➡ fix(developer): prevent opening .kpj in multiple processes 🦕 #10137
- Fix opening project file from project view -- show raw XML (and consider reloads) ➡ fix(developer): prevent opening .kpj in multiple processes 🦕 #10137
- Open file that is not in active project -- "Open as Folder" ➡ fix(web): accidental suggestion-banner retoggle when disabling predictions #10014
- If you open a Project folder, then close the project again, it doesn't appear in Recent Files (no longer relevant as project folders are not a thing)
- Open file from Explorer with no project open -- "Open as Folder" UfrmMain.pas:1160 ➡ feat(developer): Multi-process model for projects 🦕 #10114
- Open file dialog should now also list .xml files ➡ feat(developer): Multi-process model for projects 🦕 #10114
- Support re-loading directory-based projects (where .kpj may not exist) UfrmMain.pas:553 ➡ chore(developer): require project file to exist 🦕 #10092
- New Project should create a v2.0 project with default v2.0 parameters (see also feat(developer): Improve New Project wizard #9869) ➡ chore(developer): require project file to exist 🦕 #10092
- Cleanup forward vs back slash usage in project options and paths ➡ fix(developer): projects 2.0 internal path enumeration 🦕 #10016
- Only enumerate project path and SOURCEPATH in TIKE v2.0 projects ➡ fix(developer): projects 2.0 internal path enumeration 🦕 #10016
- Avoid listing files outside SOURCEPATH in Keyboards / Packages / Models lists in Project ➡ chore(developer): show only source path files in project views 🦕 #9995
- Check for newer version projects and refuse to open those (kmc) ➡ chore(developer): handle project version checks cleanly in kmc 🦕 #9996
- Check for newer version projects and refuse to open those (tike) ➡ feat(developer): handle errors loading projects 🦕 #9989
- Project upgrade -- source folder settings ➡ chore(developer): manage SourcePath in project upgrade 🦕 #9986
- Project Settings -- v2.0 settings ➡ feat(developer): Project Settings Form for 17.0+ projects 🦕 #9984
- Consider upgrade project and default paths? ➡ chore(developer): manage SourcePath in project upgrade 🦕 #9986
- Only build files that are in a v2.0 project SourcePath folder ➡ chore(developer): only build source files 🦕 #9985
- Project upgrade messages should go into messages window and the prompt inform the user ➡ fix(developer): Project upgrade messages now show in Messages panel 🦕 #9969
- bug: compiling ldml keyboard to a non-existent build folder crashes ➡ fix(developer): kmc build ldml keyboard should create output folder 🦕 #9966
- Add XML LDML keyboards to Keyboards list? (Treat as keyboards, in any case) ➡ feat(developer): show .xml LDML keyboards in project 🦕 #9964
- Hide 'Remove from Project' in v2.0 projects (add 'Delete file'!?) ➡ chore(developer): hide 'Remove From Project' for v2.0 projects 🦕 #9956
- Warn that project will only be readable with current version of Developer on upgrade ➡ chore(developer): hide 'Remove From Project' for v2.0 projects 🦕 #9956
- feat(developer): Improve New Project wizard #9869 ➡ feat(developer): New Project - Description field and tweaks 🦕 #9950
Major new features
- feat(developer): Add linting of project file layout and file names #10163
- feat(developer): Folder tree file view #10164
- feat(developer): Model project support in v2.0 throughout #10165
- feat(developer): Clone Project / Rename Project #10166
- feat(developer): Add kmc to server (for performance reasons) #10167
- feat(developer): Rewrite upgrade-project as kmc tool (and call that from TIKE) #10168
Completed in #9949
For all operating modes:
- Remove blank projects / untitled projects mode
- Add Open Project Folder buttons and links
- Remove Project Save As
- Render uses in-memory XML
- Upgrade to v2.0 project file (along with checks)
For v2.0 projects:
- Remove 'Add File to Project'
- Populate Files to list all files in folder (note: consider efficiency here as currently files are parsed for subfile data)
- Version 2.0 project options and defaults
Reactions are currently unavailable