Created Creating a TFW exercise (markdown)

ni-richard 2019-09-17 09:46:39 +02:00
parent 55b65fafd4
commit 515875e11b

@ -0,0 +1,9 @@
First of all, make sure that you have every [dependency](https://github.com/avatao-content/baseimage-tutorial-framework/wiki/Setting-up-a-development-environment) installed. However, if you believe that you are ready to finally get started, here are our recommended steps:
1. Clone the [test-tutorial-framework](https://github.com/avatao-content/test-tutorial-framework) repository, take a closer look at it contents, then attempt to [run](https://github.com/avatao-content/baseimage-tutorial-framework/wiki/tfw.sh-script) it.
2. Try to replace the web service first with your own. If you don't need it, or you wish to run something else, just delete the `solvable/src/webservice` directory and copy your code somewhere in its parents directory. You also have to modify the supervisor configuration to fit your needs: `solvable/supervisor/webservice.conf`. It's important for your server to behave well behind a reverse proxy, requests will be sent to `/webservice/your_endpoint`.
3. Let's fix that `frontend_config.yaml` to suit your needs. Rewrite the `iframeUrl` property to an empty string if you don't need it, compose the layouts, etc.
4. There must be a couple of unused event handlers in the `event_handler_main.py`, you should just delete their instantiation and import, then rewrite the init parameters in the remaining ones where necessary.
4. The next step is to start writing an **FSM**. You either use the Python-based *LinearFSM* and *FSMBase* classes that utilize the `transitions` module, or you just compile it into a *YAML* file like the `test_fsm.yml` example.
5. Then you need to put the triggers after the respective checks, and formulate bot messages to guide the user in each step.
6. When everything is ready, you can start to check your tutorial with the `check_format.py` script in the `challenge-toolbox` repository in order to be able to upload it to the platform.
7. After you get zero errors, you can finally share it by creating a repository through the dashboard at https://platform.avatao.com, then push your solution to a `staging` branch and open a pull request, and then comes our part to make it available.