For Devs
Hello World! Welcome to the Wizard ecosystem.
If you are here, you are probably wanting to understand how Wizard functions “behind the curtain”. In this subcategory, you will find support for each Action script, as well as for the app as a whole.
Key Architectural Terms and Files
Action Scripts : files that act as “grunt” workers that run a specific action for DIS workflow, these are all CLI compatible
BaseAction : This file (base_action.py) is the basis of all Actions that are run in Wizard. It calls the method _do_work, which is in each of the Action scripts.
Orchestrator : a file (orchestratory.py) that acts as the “manager” of all of the “grunt” action scripts
Components : a file (components.py) that acts as the “executive”, in other words the front-facing User Interface
Handlers : a file (handlers.py) that contains all handlers for running Action Scripts through Orchestrator via the Components UI
Tasks : a file (tasks.py) that is the base for threaded action logging and error handling
Models : a file (models.py) that contains the class User, as well as the methods get_user_registry, and get_current_user
Database : a file (database.py) that creates a simple sqlite3 database for syncing Users between the local db and the server master db
Templates : a file (templates.py) that houses all of the HTML including inline CSS for the locally served manifests that are generated after each Action is complete
Utils : a file (utils.py) that contains global utiliies used in the rest of the app
Main : the main file that the app uses to run Wizard (main.py)
Version : NOT TO BE EDITED MANUALLY. Generated by build.sh, it defines the Version, Codename, and Build Date