From deb77c47d1ed7739c1a2af943543368eb5dfdd30 Mon Sep 17 00:00:00 2001 From: Martin Polanka Date: Wed, 2 Nov 2016 18:58:25 +0100 Subject: [PATCH] submission flow - web-app, web-api first part --- Overall-architecture.md | 29 +++++++++++++++-------------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/Overall-architecture.md b/Overall-architecture.md index 67dfad2..d1c5785 100644 --- a/Overall-architecture.md +++ b/Overall-architecture.md @@ -679,26 +679,27 @@ with the test and then runs it against different configurations of `msim`. This article will describe in detail execution flow of submission from the point of submission into web application to the point of evaluation of results from execution. Only hot path is considered in following description. - ### Web Application -First thing user has to submit his/hers solution to web application. Which provides interface to upload multiple files and then submit them. More detailed description follows: +First thing user has to submit his/hers solution to web application which provides interface to upload multiple files and then submit them. More detailed description follows: -- user submits his solution to web application -- T -- O -- D -- O -- . -- . -- . -- . +- user upload file by file into prepared submit form +- after uploading all files connected to assignment user click on submit button +- Web Application send request to Web API that user wants to evaluated assignment with provided files ### Web API -After user submit solution then web application has to hand over all needed information about submission to broker. More detailed description follows: - -- todo +After user submit solution then web application has to hand over all needed information about submission to broker. Submit endpoint is extended with support of "cross-submitting" which means that user with high privileges (supervisor, administrator) can submit solution for user with lower privileges (student). More detailed description follows: + +- suitable assignment and user are obtained from database +- instance license, deadlines and limit of numbers of submissions are checked +- runtime configuration is automatically detected if not provided as post parameter +- submission as database entity is created and persisted +- job configuration is obtained and loaded from selected runtime configuration +- configuration is extended of proper fileserver address and identification +- submitted files from user and job configuration are uploaded to fileserver using http post request +- several information about submission are sent back to user + - alongside other information address of websocket which can be used for watching evaluation progress is sent ### Broker