Alla on listattu TIDE-projektin jatkokehityskohteet. Osa näistä kohteista voi siirttää asianmukaisiin repoihin (TIDE-CLI tai TIDE-VSCode) ja toteuttaa.
Related to IDE courses
[ ] The IDE plugin can browse courses that are defined as IDE courses and are found on the front page of the TIM document.
[ ] The sum of the points of the tasks completed in the IDE for the course is visible in the course listing.
Related to IDE tasks
[ ] The IDE plugin task listing displays marks according to the status of the tasks.
Fetching and modifying IDE tasks
[ ] Task changes are updated in the IDE when the student opens the task in the IDE.
[ ] The student's most recent answer to the task saved in TIM can be fetched into the IDE.
[ ] The student can browse the TIM submission history of task answers in the IDE.
Organizing the courses and tasks
[ ] The student can organize tasks based on their deadline.
[ ] The student can organize tasks based on the points received from them.
[ ] The student can limit the visibility of tasks to only uncompleted tasks.
Submitting answers to TIM
[ ] The student receives a notification of a later evaluated task answer.
[ ] The IDE plugin notifies the student of submitting an invalid answer.
[ ] All local runs are stored in TIM as answers.
[ ] The student sees in the IDE if the number of task executions is limited.
[ ] The student receives a warning if there are few task executions left.
[ ] The student can record a comment for the teacher or themselves when submitting a task.
Assessment and feedback for the answer
[ ] The student sees the points of the task answer in the IDE.
[ ] The student can score their own task in the IDE.
[ ] The student sees the teacher's verbal feedback on the task answer in the IDE.
[ ] The student sees the model answer of the completed task in the IDE.
[ ] The student sees the feedback of the task from an older submission version.
[ ] The student can browse feedback from the submission history of tasks.
Defining the courses and tasks in TIM
[ ] When a task submission arrives in TIM, the TIM page or the submitted task on it is updated.
Related to Command Line App
[ ] The command line tool does not require a separate installation, but comes with the IDE add- [ ]on.
[ ] The command line tool can fetch all tasks of a course.
Related to Logout
[ ] The IDE plugin notifies user about an expiring token before automatically logging out of plugin.
Rest of the tasks from TIDE Kanban related IDE
[ ] Implement a feature to filter the view by clicking a value.
[ ] Implement a shortcut key in the IDE for submitting answers.
[ ] Enable the IDE to use the course code as a workspace name.
[ ] Add task instructions to the code file as a comment.
[ ] Discuss whether Github releases should be non- [ ]zipped executable files.
[ ] Fix the issue where the course list view is empty after opening it from the tab bar.
[ ] Change the course list's Download button (color, state, etc.) after exercises have been downloaded.
[ ] Fix path issue / or \\ for system specific paths in commands.ts.
[ ] Refactor paths to use JavasScript path specific methods.
[ ] Fix setup guide for WSL: CLI executable to be installed on host, then VSCode plugin settings to point to correct path.
[ ] Buttons in IDE could be hidden when there is no feasible function for them (e.g. taskpanel opening icon)
[ ] URGENT! Fix IDE not listing courses, if there is even one course with one exercise missing ideTask- [ ]attribute. "Error: No valid IDE tasks found. A valid task must be a csPlugin and have been marked as an IDE task."
[ ] Configure lint/format (prettier.js) check into CI/CD.
[ ] Set default path into IDE plugin settings for exercise files to be created.
[ ] Fix logout logic, make it no view to courses etc. after logout.
Rest of the tasks from TIDE Kanban related Command Line Tool
[ ] Implement case- [ ]insensitive matching for IDE command arguments, e.g., path based on metadata.
[ ] Create CLI tool instructions as a restricted TIM document for the C++ course.
[ ] Fix latency issues on Mac devices when using the CLI tool.
[ ] Implement support for user input and args for answer submission.
[ ] Refactor CLI commands to the commands folder.
[ ] Create tests for CLI login.
[ ] Integrate CLI commands with helper functions and API requests.
[ ] Update logging to work with the click exception.
[ ] Stop submitting answers with multiple files if one of the submits fails in the middle.
[ ] Create tests for submitting data.
[ ] Find an API documentation tool for TIM/CLI/IDE.
[ ] Create functionality for returning all answers in a specific demo to TIM.
[ ] Fix the bug in cancelled login to raise the correct user- [ ]friendly error.
[ ] In case of an "Invalid Token" error, print a prompt to sign in again.
[ ] Handle errors in the IDE login if the localhost port is already reserved.
[ ] Refactor all errors to be handled and logged in a separate class.
[ ] Refactor data validation with pydantic to use model_dump in JSON conversions.
[ ] Automatic unit testing (python unittest) configuration to CI/CD pipeline.
[ ] Configure formattingtools (black, mypy) into CI/CD pipeline.
[ ] Fix submit in case of deleted answer file or in case of empty content attribute in TaskFile model class.
Rest of the tasks from TIDE Kanban related TIM system
[ ] Check why Oauth lifetime resets to 10 days after using any TIDE route.
[ ] Oauth token may be longer e.g. 1 month
[ ] Token would renew after a certain action, e.g. submit
[ ] Implement a feature to automatically refresh the user's browser window after submitting a task from the CLI.
[ ] Add support for multiple files with the same ideTask ID (multiple files saved by language- [ ]specific packages). Special cases can be handled in CLI side.
[ ] Add a route to run a task test for the submitted file (receive points and feedback from the test).
[ ] Refactor p.attr search to its own function in idesupport utils.py.
[ ] Implement unit tests for TIM code and endpoints.
Instruction documents
[ ] Add guide for creating different programming language exercises into teacher instructions
Alla on listattu TIDE-projektin jatkokehityskohteet. Osa näistä kohteista voi siirttää asianmukaisiin repoihin (TIDE-CLI tai TIDE-VSCode) ja toteuttaa.
Related to IDE courses
Related to IDE tasks
Fetching and modifying IDE tasks
Organizing the courses and tasks
Submitting answers to TIM
Assessment and feedback for the answer
Defining the courses and tasks in TIM
Related to Command Line App
Related to Logout
Rest of the tasks from TIDE Kanban related IDE
/
or\\
for system specific paths in commands.ts.Rest of the tasks from TIDE Kanban related Command Line Tool
content
attribute inTaskFile
model class.Rest of the tasks from TIDE Kanban related TIM system
Instruction documents