2.5 KiB
2.5 KiB
PyCharm Setup Instructions
Pre-Requisites
- Before starting, be sure you can run bin/run_server_locally script successfully. This will prove that your libraries are properly configured.
- Checkout a git repository with sample process models such as our Sample Process Models
Step 1 - Python Interpreter
In the settings, ensure that you have configured your Python interpreter to use the poetry environment you have created.
Step 2 - Configuration Settings
Create a config.py file in the src/instance directory, with the following base settings
FLASK_SESSION_SECRET_KEY="[PUT SOME RANDOM STUFF HERE]"
SPIFFWORKFLOW_BACKEND_APPLICATION_ROOT="/"
SPIFFWORKFLOW_BACKEND_BPMN_SPEC_ABSOLUTE_DIR="[FULL PATH TO SAMPLE PROCESS MODEL GIT CLONE]"
# This will configure your application to use a built in login rather than
# relying on keycloak etc...
SPIFFWORKFLOW_BACKEND_AUTH_CONFIGS = [
{
"identifier":"default",
"label":"internal openid",
"uri":"http://localhost:7000/openid",
"client_id":"spiffworkflow-backend",
"client_secret":"JXeQExm0JhQPLumgHtIIqf52bDalHz0q"
}
]
# You can modify the permissions by creating your owm permissions file and setting it here. See [example.yml](../src/spiffworkflow_backend/config/permissions/example.yml)
SPIFFWORKFLOW_BACKEND_PERMISSIONS_FILE_NAME="example.yml"
Checkout the default.py config file for more options you can specify here as needed.
Step 3 - Run Configuration
Configure your Run configuration with the following settings:
- select Flask Server as the run type
- set the target to: spiffworkflow_backend
- set the port to 7000 (-p 7000)
Step 4 - Code Formatting
We are using Black for code formatting. To avoid the madness of having Black enforce one style, and your editor enforcing another, you should follow the directions outlined here.
Start it up using the play / debug buttons.~~
IMPORTANT
- Before committing changes to the repository, be sure you execute the run_pyl commend in the top level spiff-arena directory and fix any issues it reports.
- When doing so, be sure to have the poetry environment AT THAT TOP LEVEL is activated NOT the one in the backend. Otherwise you will get invalid information.