-
Notifications
You must be signed in to change notification settings - Fork 6
Upgrade to version 2.2 #115
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
Merged
Merged
Conversation
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
Several UI improvements are introduced: - New icons for the different exercise statuses (not started, in progress and completed) are generated and introduced in the left sidebar. This allows students to quickly know at a glance the status of each of their exercises. - These icons are also introduced in the teacher Dashboard, making it more visual and intuitive. - Information about the status of exercises is added for students in the tooltip displayed when hovering with the mouse over each exercise. In addition, a modification is introduced in the backend regarding the update of the status of the exercises and the tests are updated to support the new changes.
…to exercises. This is the first commit of the new functionality for adding proposed solutions to exercises proposed by teachers. This commit introduces: - Modification of the model entities in extension and server to add the information required to persist in database about the availability of the solution for each of the exercises. - Update of the Dashboard GUI to add a checkbox to make public the proposed solution (pending to implement functionality). - Cleaning and unification of the code that implements the functionality for the uploading of a single exercise and multiple exercises, whether or not they include a solution in a single algorithm. This commit is added to the successive ones to complete the implemented functionality, being finalized for its incorporation in version 2.2.0 of VSCode4Teaching.
In the same line as commit af43b83, this commit introduces new icons and a tooltip with more information for the exercises in the teachers' sidebar, allowing them to obtain information about the publication status or availability of the solution they propose for the exercises they add.
As with templates, the information on the solution proposal files is stored in a database for later downloading.
… solutions This third commit introduces the ability to download solutions previously uploaded by teachers. To do so, enter: - A new button is implemented in the Dashboard to allow teachers to publish the solutions they have added to their exercises. - A new button is added in the bottom bar that allows students to download the solutions of exercises that have a solution and that is displayed only when it has been published by the teacher. When prespressed, it is downloaded to a new folder called solution in the main exercise directory. - Teachers can view the solution they have attached to the exercises when downloading it, as from now on it is downloaded together with the template. In addition, some bugs detected during the implementation of this functionality are fixed. This commit is added to the previous and successive ones to complete the implemented functionality, being finalized for its incorporation in VSCode4Teaching v2.2.0.
From now on, no user who includes the words "template", "solution" or "student" in their username will be allowed to register in the app.
A new enumerated type ExerciseStatus has been created in both extension and server to facilitate the understanding of the code and the semantics of the different possible Exercise statuses.
…ading solution This fourth commit introduces the implementation of a new functionality to allow teachers to block or not the editing of exercises by students once the solution is downloaded. To do so, it introduces: - A new checkbox in the Dashboard that allows to enable or disable this feature to teachers. It can only be modified as long as the solution has not been made public. - The fully implemented functionality of the button for downloading the solution by students is introduced in the exercises that allow it. This commit is added to the previous and successive ones to complete the implemented functionality, being finalized for its incorporation in VSCode4Teaching v2.2.0.
Introduced a UX enhancement for teachers, incorporating a dropdown panel that explains to teachers the tools available on the dashboard for ease of use and comprehensibility.
…se proposal and the teacher's solution This commit introduces a new functionality that allows students, once they have downloaded the solution proposed by the teacher, to compare their proposal for solving the exercise with the solution predefined by the teacher. - An algorithm for the comparison of two directories has been fully implemented. It is based on the generation of two trees representing both directories and their contents and on the combination of both trees with source memory. - The user is shown by means of the native Visual Studio Code Quick Pick system the possibility to choose the file from which they want to visualize the differences. - A new button is shown in the lower toolbar that allows to activate the functionality for displaying differences between directories. It is automatically displayed when downloading the solution. The version of Visual Studio Code required to run the extension has been updated to 1.64.0 for the compatibility of the Quick Picks used. This commit is added to the previous and successive ones to complete the implemented functionality, being finalized for its incorporation in VSCode4Teaching v2.2.0.
A bug that allowed students to edit exercises once they were marked as completed by re-downloading them has been detected and corrected.
When a student refreshes the main sidebar, it will additionally check if the currently open exercise (if any) already has a publicly available teacher's solution attached and, if so, it will display a notification to the student.
…w tests This commit introduces new unit tests in both the server and client components, testing all new functionalities related to the introduction of teacher solution proposals and introducing, in addition, new tests of previously existing features. Some corrections to bugs detected during the test generation work are also introduced. This commit is added to the previous ones to complete the implemented functionality, being finalized for its incorporation in VSCode4Teaching v2.2.0.
Some dependencies have been updated to their latest versions. The most important ones are: - Update of the Spring Boot version used in the server to 2.7.5 and necessary modifications in the ``application.properties`` file. - Introduction of a higher version of a transitive dependency on the server due to the appearance of a cybersecurity vulnerability. - Upgrade to TypeScript 4.8.4 in the webapp and extension. - Updated ``axios`` in the extension to version 1.1.3. - Upgrade of the webapp to Angular 14.2.6.
A complete redesign of the previously existing Dashboard has been executed to facilitate its use and generate a more user-friendly and pleasant GUI. To achieve this: - The content is divided into clearly differentiated sections. - Larger fonts have been introduced. - Introduced a new pie chart that reflects student progress in real time, as well as new visible numerical metrics. - Colors are used for the different states of the exercises. In addition, the tests performed on the Dashboard have been adapted to cover the new functionality introduced.
A bug has been detected in which the templates and solutions of the new exercises are not added correctly, since all the promises for the upload were introduced "all at once" as simultaneous requests to the server, which was saturated. As a consequence, this is solved by sending the requests sequentially (one at a time).
A new update of the student help page (webapp index component) is introduced to introduce support for the new student features in version 2.2.0.
The content of the READMEs for each component (and, therefore, the description of the project and the extension in the Visual Studio Code Marketplace) has been updated to include all the new features of version 2.2.0.
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.
This pull request introduces all the new features and maintenance improvements done in VSCode4Teaching 2.2.
Main changes in this version: