Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(developer): Support v2.0 projects in TIKE 🦕 #9949

Merged
merged 1 commit into from
Nov 15, 2023

Conversation

mcdurdin
Copy link
Member

@mcdurdin mcdurdin commented Nov 6, 2023

Relates to #9948. See that issue for remaining work items.

This PR starts basic support for v2.0 projects.

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

User Testing

TEST_OPEN_PROJECT: Verify that opening an existing project continues to function correctly. Try basic project functions, such as opening files in the project, building keyboards (from the buttons in the Project view), adding files.

TEST_NEW_PROJECT: Verify that creating a new basic keyboard project continues to function correctly.

TEST_UPGRADE_PROJECT: When opening an existing project, an Upgrade banner should appear. Click the button to upgrade the project, and follow the prompts. Load the result .kpj file in a text editor and verify (a) that the <Version> field now reads '2.0', and (b) that there are no <File> entries in the .kpj file.

Relates to #9948. Starts basic support for v2.0 projects.

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
@keymanapp-test-bot keymanapp-test-bot bot added has-user-test user-test-required User tests have not been completed labels Nov 6, 2023
@keymanapp-test-bot
Copy link

keymanapp-test-bot bot commented Nov 6, 2023

User Test Results

Test specification and instructions

  • TEST_OPEN_PROJECT (PASSED): Tested with the attached PR build (Keyman Developer 17.0.204-alpha-test-9949) on Windows 10 OS and here is my observation: 1. Verified that opening an existing project continues to function correctly. Tried basic project functions such as opening files in the project and building keyboards in a project and it seems to be working as expected. 2. After adding a file from another project (eg., history.md or another .kpj file)., I got a warning message in the Project - Keyboards screen. 3. Clicking on the Upgrade Project button shows another error message on the screen. Is this an expected one? other than this, it seems to be working as expected. (notes)
  • TEST_NEW_PROJECT (PASSED): Tested with the attached PR build (Keyman Developer 17.0.204-alpha-test-9949) on Windows 10 OS and here is my observation: 1. Created a Tamil Keyboard project. Added Tamil keyboard layout in the Keyboard Editor. Compiled it. 2. Open the keyboard in the localhost browser using the 'Test keyboard on web' button. 3. Able to see the 'Tamil fonts' in some device tools (like Windows, macOS, and Linux OS). 4. But, it's not working while opening in iPhone / Pixel 5 devices. Seems to be an issue. Or Is this an expected one? Besides this, I don't see any other issues. (notes)
  • TEST_UPGRADE_PROJECT (PASSED): Tested with the attached PR build (Keyman Developer 17.0.204-alpha-test-9949) on Windows 10 OS and here is my observation: 1. Clicked the 'Upgrade project button to upgrade the project. 2. Opened the .kpj file in a text editor. 3. Verified that the file includes 2.0 number and there are no entries in the .kpj file. Seems to be working as expected. (notes)

Test Artifacts

@bharanidharanj
Copy link

Test Results

  • TEST_OPEN_PROJECT (PASSED): Tested with the attached PR build (Keyman Developer 17.0.204-alpha-test-9949) on Windows 10 OS and here is my observation: 1. Verified that opening an existing project continues to function correctly. Tried basic project functions such as opening files in the project and building keyboards in a project and it seems to be working as expected. 2. After adding a file from another project (eg., history.md or another .kpj file)., I got a warning message in the Project - Keyboards screen. 3. Clicking on the Upgrade Project button shows another error message on the screen. Is this an expected one? other than this, it seems to be working as expected.

..warning message 1

@mcdurdin
Copy link
Member Author

mcdurdin commented Nov 7, 2023

  • Is this an expected one?

Yes, that is an expected message, looks good thank you. (A future PR will also make those messages clearer)

@bharanidharanj
Copy link

  • TEST_NEW_PROJECT (PASSED): Tested with the attached PR build (Keyman Developer 17.0.204-alpha-test-9949) on Windows 10 OS and here is my observation: 1. Created a Tamil Keyboard project. Added Tamil keyboard layout in the Keyboard Editor. Compiled it. 2. Open the keyboard in the localhost browser using the 'Test keyboard on web' button. 3. Able to see the 'Tamil fonts' in some device tools (like Windows, macOS, and Linux OS). 4. But, it's not working while opening in iPhone / Pixel 5 devices. Seems to be an issue. Or Is this an expected one? Besides this, I don't see any other issues.

..Tamil keyboard in Windows

..Tamil keybaord in iPhone

@bharanidharanj
Copy link

Test Results

  • TEST_UPGRADE_PROJECT (PASSED): Tested with the attached PR build (Keyman Developer 17.0.204-alpha-test-9949) on Windows 10 OS and here is my observation: 1. Clicked the 'Upgrade project button to upgrade the project. 2. Opened the .kpj file in a text editor. 3. Verified that the file includes 2.0 number and there are no entries in the .kpj file. Seems to be working as expected.

@keymanapp-test-bot keymanapp-test-bot bot removed the user-test-required User tests have not been completed label Nov 7, 2023
@mcdurdin mcdurdin changed the title feat(developer): Support v2.0 projects in TIKE feat(developer): Support v2.0 projects in TIKE 🦕 Nov 12, 2023
@mcdurdin mcdurdin modified the milestones: A17S25, A17S26 Nov 13, 2023
if DirectoryExists(FFileName) then
begin
// This is an attempt to open a project folder?
// TODO
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does this get a warning message?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No, it's a TODO to finish the functionality; captured in #9948.

Copy link
Contributor

@darcywong00 darcywong00 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@mcdurdin mcdurdin merged commit a937f3c into master Nov 15, 2023
9 checks passed
@mcdurdin mcdurdin deleted the feat/developer/tike-2.0-projects branch November 15, 2023 02:46
@keyman-server
Copy link
Collaborator

Changes in this pull request will be available for download in Keyman version 17.0.211-alpha

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants