Alfresco Workflow console is an excellent tool that allows deploying workflow definitions to alfresco without restart, so it speeds up the development process very much. However, we noticed that some developers don't use it at all, maybe, because there are no examples of how to do it. Therefore here is a simple guide.
Prerequirements
We assume that you already know what is workflow definition (BPMN file) and how to generate it. If not, then you must read the following tutorial of Jeff Pots - https://ecmarchitect.com/alfresco-developer-series-tutorials/workflow/tutorial/tutorial.html
Step #1 - Upload BPMN file by the alfresco server classpath.
Usually, we upload workflow definition file into {ALFRESCO_HOME}/tomcat/shared/classes/alfresco/extension folder

Step #2 - Open Alfresco Workflow console page
Here is the direct link - http://{alfresco_host}:{alfresco_port}/alfresco/s/admin/admin-workflowconsole
Another way is to open your browser and go to Alfresco application, for example - http://localhost:8082/alfresco/, then choose "Alfresco Administration Console (admin only)" option

After that click to "Workflow Console" link:

Step #3 - Deploy Activiti Workflow definition
To deploy your definition you have to execute the following command:
deploy activiti {path_to_bpmn_file}
In our case it will look like shown in the image below:

If you see some error, then read it carefully and solve, usually, it is related to the incorrect path to file or mistake in BPMN file, otherwise, you will see a message about successful deploying.

That's all, currently, you should be able to see your workflow on the "Start Workflow" page in Alfresco Share interface.
Some notes
While development and testing process you will make mistakes (believe me!) that will break down alfresco functionalities, for example, you can see the error when trying to open a list of all started workflows in Alfresco Share. In this case, you will need to delete all workflows, then fix error in workflow definition and redeploy it.
Here are commands that you have to remember when you work with alfresco workflow console:
- to see the list of all deployed workflow definitions and their versions
show definitions all
- force deletion of all "in-flight" workflows
delete all workflows imeanit
- to undeploy workflow definition that is called activiti$activitiCRSWorkflow
undeploy definition name activiti$activitiCRSWorkflow
- use 'help' to see the list of all available commands and some description
help