The POST data should always include the field "_aplus_=.The endpoint /api/v2/exercises/ID/ provides information about the exercise including the specification of the submission form (i.e., the keys for the submission data fields like a file to submit).The submission data must use the keys for different fields that are configured in the exercise config.yaml file (in the course repository). The submission data is included in POST parameters.New endpoint for creating submissions that are sent to the exercise grader: /api/v2/exercises/ID/submissions/submit/.Students must be allowed to HTTP POST new submissions to the API.Fetch all student groups in the course instance (accessible by teachers): /api/v2/courses/ID/groups/.No student IDs are provided here since students should not normally see other students' IDs.Data about group members: user's full name, user ID.Fetch the user's (the user who is authenticated) own student groups in the course instance: /api/v2/courses/ID/mygroups/.Adding student groups to the API should be straightforward.Here is a draft for the generation of test data for the aplus-manual: Technical design draft A course template already exists, but the test A+ database needs more pre-defined users and student groups (for group submissions). Basically, it is easier for them if the test installation contains such data built-in and the plugin developers can use it directly. ![]() The IJ plugin developers would want the EDIT team to provide test data for their test A+ server. (It is acceptable to require users to create the groups in the A+ web UI.) The plugin must be able to retrieve the user's groups from the API so that the user may select a group for submitting within the plugin. ![]() Group submissions are crucial for the O1 course.Instead of using tokens, OAuth2 could be a feasible authentication method, but it may be too hard to implement in the current state of A+. User authentication: if existing user tokens are used, it should be possible to retrieve them from the API after the user has logged into A+ via the IntelliJ plugin.The feedback of the submission must be available from the API too. It is too late to start the development in the summer since the IJ plugin is taken to production use in the autumn 2020. The A+ API should support the basic functionality before the summer 2020. The plugin developers intend to concentrate on the plugin itself, and Markku develops the A+ API. The plugin requires changes to the A+ API. The IntelliJ plugin development and its requirements are described in the Github repo. This wiki page concentrates on the A+ API requirements. At first, the primary goal is to use the plugin at the Programming 1 course (O1) in the autumn 2020, but the plugin should usable and useful for other programming courses in A+ too. The project is funded and led by Senior University Lecturer Juha Sorva. Requirements of the IntelliJ plugin are described in the GitHub project wiki in more detail: Intellij IDEA plugin for A+ integrates A+ functionalities into the IDE so that students can access and submit exercises directly within the development environment. A+ API developers: Markku, Henrik (in the summer 2020).Plugin developers: Nikolai, Olli, Nikolas.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |