PM4Py-WS Development Hints

PM4Py-WS development hints

The project is composed of two different parts: the web services (that are written in Python) and the prototypal Angular web application (that is written in Angular.JS / Typescript).

Development of the web services

To develop the web services, it is advised the usage of the Python development environment Pycharm.

In the main directory of the project, there are different files:

  • users.db => A SQLite database containing the users along with their password and session ID, if the default session manager is used. The following users are contained by default in the database: (admin, admin), (user1, user1), (user2, user2)
  • event_logs.db => A SQLite database containing the event logs, along with the path they are located in, the visibility permissions of the users on the log, the download and upload permissions of the users, if the default log manager with the default log handlers are used. The following logs are contained in the database and pointing to: (receipt, logs/receipt.parquet), (running-example, logs/running-example.parquet), (receipt(xes), logs/receipt.xes), (running-example(xes), logs/running-example.xes)
  • => A Python script to create the default users.db
  • => A Python script to create the default event_logs.db
  • => A script that starts the services with the default session and user managers (so, providing four logs receipt, running-example, receipt(xes), running-example(xes))

The imports the entrypoint of the services, and launches the services. The services along with the different handlers are provided inside the pm4pyws package.

The local services are exposed on the port 5000.

Development of the web application

To develop the Angular web application, it is advised the usage of the Typescript development environment Webstorm.

It is required that the installation tutorial of the PM4Py-WS is followed exactly.

If that is the case, then the web application could be launched through the command ng serve and will be offered on the port 4200, pointing to the local services that are exposed on the port 5000.

The structure resembles the one of a typical Angular project.