Continue writing chapter 'A Tour of TFW'

This commit is contained in:
Kristóf Tóth
2018-12-01 20:24:24 +01:00
parent 791650a8a7
commit c126fe8fff
8 changed files with 214 additions and 3 deletions

View File

@ -93,7 +93,7 @@ In the future we also plan on supporting the use of virtual machines to implemen
challenges, which could further increase this fexibility by addig the possiblity to do
things like exercises involving the use of Docker or Windows based challenges.
\section{Emergence}
\section{Emergence}\label{intro:emergence}
While working as a content creator I have stumbled into the idea of automating the completion
of challenges for QA\footnote{Quality Assurrance} and demo purposes%
@ -162,11 +162,29 @@ the file by decrypting it and then checking if the configuration file is valid o
After all this we would still have to offer \emph{relevant} and helpful assistance if
something went wrong.
Another scenario we've visioned was the following: Imagine a code editor on the
right which contains the authentication logic of a website.
On the left, imagine that the website which the code in the editor
implements is present. Note that the website is completely real: it is an actual, functional web
application users can interact with (i.e.\ navigate through the pages, register or log in).
The code editor has a button titled ``Deploy'' on it.
If the user changes the source code of the application and clicks this button, the application
should restart itself with the new code.
Let's say that the user comments out the part that authenticates a user.
In this case the application should let anyone log in dummy credentials.
Meanwhile a console could show the output of the webserver.
For example if the source code the user tried to deploy was invalid, the framework
should report the exact exception raised while running the application.
\pic{figures/webapp_and_editor.png}{The Code Editor and Web Application Example In TFW}
Even if we did all this, we would still need a way to integrate this whole thing into
a web based frontend with a file editor, terminal, chat window and stuff like that.
Turns out that today all this can be done by writing a few hundred lines of Python
code which uses the Tutorial Framework.
\pic{figures/webapp_and_editor_err.png}{Invalid Code and Deployment Failure with Process Output}
\subsection{Project Requirements}\label{requirements}
Based on this it is now more or less possible to define requirements for the project.