diff --git a/Creating-a-TFW-exercise.md b/Creating-a-TFW-exercise.md new file mode 100644 index 0000000..1f4912f --- /dev/null +++ b/Creating-a-TFW-exercise.md @@ -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. \ No newline at end of file