spiff-arena/spiffworkflow-backend/docs/pycharm.md

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)
  • alt text
  • alt text

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.