/
Installation and Setup

Installation and Setup

Search the IFS Workflow Wiki
 

Back to Installation and Configuration



Introduction

IFS Workflow is a complete, market-leading workflow engine that leverages ProcessMaker software to provide oil and gas workflows for IFS and other applications used in the industry. 

This guide contains information on how to install IFS Workflow for the first time. IFS Workflow Engine 1.1 is the latest version.  

Installation Requirements



Hardware

This section identifies the recommended minimum hardware requirements for each machine. These requirements must be met before installing IFS Workflow.

Smaller sizing for 100 User Peak:

Component

Recommended

Component

Recommended

CPU

8 Processor 2.4 GHz or Higher

RAM

32GB RAM minimum

Disk 1

500GB (OS, Application, Logging)

Disk 2

500GB (OS, Application, Logging)



Medium sizing for 295 User Peak:

Component

Recommended

Component

Recommended

CPU

12 Processor 2.4 GHz or Higher

RAM

48 GB

Disk 1

500GB (OS, Application, Logging)

Disk 2

2TB (Database Storage)



Large sizing for 400 User Peak:

Component

Recommended

Component

Recommended

CPU

16 Processor 2.4 GHz or Higher

RAM

64 GB

Disk 1

500GB (OS, Application, Logging)

Disk 2

3TB (Database Storage)



Software

Server Machine- Linux

Component

Requirement

Component

Requirement

OS

CentOS 7.2

PHP

7.4

Web Server

NGINX

Database

MySQL 8.0



IFS Workflow requires the following software to be installed: 

CentOS. A Community Enterprise Operating System that is based on the Linux kernel. It is derived entirely from the Red Hat Enterprise Linux (RHEL) distribution. CentOS exists to provide a free enterprise-class computing platform. https://www.centos.org/

NGINX. This is open-source software for web serving, reverse proxying, caching, load balancing, media streaming, and more. It started out as a web server designed for maximum performance and stability. In addition to its HTTP server capabilities, NGINX can also function as a proxy server for email (IMAP, POP3, and SMTP) and a reverse proxy and load balancer for HTTP, TCP, and UDP servers.  https://www.nginx.com/resources/glossary/nginx/

MySQL . This is an open-source database that delivers a very fast, multi-threaded, multi-user, and robust SQL (Structured Query Language) database server. MySQL Server is intended for mission-critical, heavy-load production systems as well as for embedding into mass-deployed software. Enterprise and Standard versions are recommended. https://www.mysql.com/

PHP. This is a general-purpose scripting language that is especially suited to web development. http://php.net/



Client Machine

Component

Requirement

Component

Requirement

OS

Windows 7 (32 or 64-bit); Windows 10

Browser

Mozilla Firefox, Google Chrome, Microsoft Edge, Internet Explorer 11



Installation Steps

IFS Workflow is built on the ProcessMaker workflow engine. Therefore, IFS Workflow and all that it requires must be installed and configured first before you can install subsequent content. There are separate installers for each of these two components, and they are both available in the P2 Store.

Before installing ProcessMaker or IFS Workflow, check the Installation Requirements to ensure your server meets the necessary hardware and software requirements.

Use the following sections to complete the installation of IFS Workflow:

1.  Configure and Install MySQL

2.  Configure and Install PHP

3. Install Microsoft Database Connector

4. Install Laravel Supervisor

5.  Configure and Install NGINX

6.  Disable SELinux

7.  Install JDK 1.8

8.  Download and Extract IFS Workflow

9.  Configure NGINX

10.  Install IFS Workflow

11.  Configure IFS Workflow

12.  Install IFS Workflow Content

Changes you may notice for version 3.8.3

The new user dashboard shows the active step, including automated tasks.  If you notice a case is showing a script task, please refresh, and you will see the workflow has moved beyond that step.

There are changes to the home screen.  The tab in the left panel is now called  My Cases and there is a button on the My Case Dashboard that allows a user to create a new case.

Install MySQL

Assuming you already have a CentOS 7.2.x Core or Desktop installed as well as the proper permissions by typing the command sudo su and entering the administrator password, you can execute the following commands in order to have the stack ready to install IFS Workflow. 



Remove Maria DB

By default CentOS 7.2 comes with some modules of maria DB installed, so we need to uninstall them.

yum -y remove mariadb*



#Install MySQL 8.0

In order to install MySQL 8.0 use the following steps:

    yum install -y yum-utils

    yum localinstall -y https://repo.mysql.com/mysql80-community-release-el7-3.noarch.rpm

    yum install -y mysql-community-server

Use these command lines to configure the repository and install MySQL 8.0

     yum-config-manager --enable mysql80-community

    yum-config-manager --disable mysql57-community

Use this command to Update MySQL as needed.

     yum update mysql



Configure MySQL

Before using MySQL, use the mysql_secure_installation command to set up a secure database environment.

Then, because IFS Workflow is not compatible with MySQL STRICT mode, which is enabled by default, you must verify that STRICT mode is not being used. STRICT mode controls how MySQL handles invalid or missing values in statements such as INSERT or UPDATE. A value can be invalid for several reasons. For example, it might have the wrong data type for the column, or it might be out of range. STRICT mode also affects DDL statements such as CREATE TABLE.

If STRICT mode is not in effect, MySQL inserts adjusted values for invalid or missing values and produces warnings. For more information, see the MySQL Reference Manual .

Finally, this section provides a few recommendations if you encounter issues when configuring MySQL for IFS Workflow.



To secure your database environment:

1. On the server, log in as the root user.

2. Run the following command:

$ mysql_secure_installation

3. In the script’s instructions, enter the following information:

Setting

Requirements

Setting

Requirements

Root password

1. If you have just installed MySQL and have not set the password yet, the password is blank by default, so simply press Enter.

2. You will be prompted to set the root password. You must enter Y and set the password.

Warning: IFS Workflow does not support special characters (such as: @ # $ % ^ & ( /) in the root password. For more information, please read the section on MySQL Password with Special Characters.

Remove anonymous users?

Y

Disallow root login remotely?

Y

Remove test database and access to it?

Y

Reload privilege tables now?

Y

4. You should see a message similar to the following:

 

5. To restart the mysql service, run the following command:

$ service mysql restart



To Disable STRICT Mode in MySQL:

1. On the server, log in as the root user.

2. In the base installation directory, locate the following file:

my.cnf

3. To edit the file, open it in a text editor.

4. Find the following line:

sql_mode

5. After sql_mode, remove any values that contain STRICT_ (for example, STRICT_ALL_TABLES, or STRICT_TRANS_TABLES).

6. Save and close the file.



Edit the my.cnf File in the Linux Server

1. On the server, log in as the root user.

2. In the base installation directory, locate the following file:

my.cnf

3. To edit the file, open it in a text editor.

4. add sql-mode="" to the mysqld section

5. add log_bin_trust_function_creators = 1 to mysqld section

6. Save and close the file.



To Troubleshoot MySQL Configuration Issues:

1. Use the following checklist:

Issue

Recommendations

Issue

Recommendations

MySQL doesn't have a root password

Set one for better security: 

1. On the server, log in as the root user.

2. Run the following command:

$ mysqladmin -u root password PASSWORD

You have forgotten the root password

Reset the root password 

Logging into MySQL produces the following error:

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

MySQL needs to be started as a service:

1. On the server, log in as the root user.

2. Run the following command:

$ service mysqld start

MySQL does not start as a service on bootup



Use chkconfig to add it as a service:

1. On the server, log in as the root user.

2. Run the following command:

$ chkconfig --levels 345 mysqld on  

During the IFS Workflow installation, the following error is displayed:

Warning: array_pop() expects parameter 1 to be array, boolean given in /srv/processmaker/processmaker/gulliver/thirdparty/creole/Creole.php on line 314

The MySQL password contains a character that is not a letter or a number.

Please change/reset your MySQL password and try to install IFS Workflow again. This is a known issue.

Install NGINX

Add the Repository File

Use the following command to create a new file:

vi /etc/yum.repos.d/nginx.repo



Within this created file add the following: 

[nginx]

name=nginx repo

#####rhel/6 should be changed to rhel/7 for RHEL/CentOS 7

gpgcheck=0

enabled=1



Install NGINX and start the service

yum clean all && yum -y install nginx

service nginx start

chkconfig nginx on



 

Install PHP 7.4

Add the EPEL(CentOS 7.x) repositories or RedHat ones to install php. In this guide we will use EPEL, use these comments

    rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

    rpm -Uvh https://rpms.remirepo.net/enterprise/remi-release-7.rpm

 

Install PHP and its modules

    yum -y install yum-utils

    yum-config-manager –enable remi-php74



    yum -y install php php-cli php-opcache php-fpm php-gd php-mysqlnd php-soap php-mbstring php-ldap php-mcrypt php-xml php-imap php-zip



Start php-fpm

Start the Service

Use the following commands to start the service:

service php-fpm start

chkconfig php-fpm on

Install Microsoft Database Connector

Run the following commands;

    curl https://packages.microsoft .com/config/rhel/7/prod.repo > /etc/yum.repos.d/mssql-release.repo

    yum -y remove unixODBC*

    yum -y update

    ACCEPT_EULA=Y yum -y install msodbcsql-13.0.1.0-1 mssql-tools-14.0.2.0-1

    yum -y update unixODBC-utf16-devel

    ln -sfn /opt/mssql-tools/bin/sqlcmd-13.0.1.0 /usr/bin/sqlcmd

    ln -sfn /opt/mssql-tools/bin/bcp-13.0.1.0 /usr/bin/bcp

    yum -y install gcc-c++ libstdc++ -y

    wget http://mirror.centos.org/centos/7/os/x86_64/Packages/libedit-devel-3.0-12.20121213cvs.el7.x86_64.rpm

    sudo rpm -I libedit-devel-3.0-12.20121213.el7.x86_64.rpm

    yum -y install php-pear php_devel

    pecl install sqlsvr

    pecl install pdo_sqlsvr

    grep -xF ‘extension=sqlsrv.so’ /etc/php.ini && grep -xF ‘extension=pdo_sqlsrv.so’ /etc/php.ini || sed -i ‘/\extension=mysqli/a extension=sqlsrv.so\n;extension=pdo_sqlsrv.so’ /etc/php.ini

Restart NGINX and php-fpm using the following;

    service nginx restart & service php-fpm restart



Install Laravel Supervisor

Install and configure Laravel Supervisor

Run the following commands

    yum -y install supervisor

    systemctl start supervisord

    systemctl enable supervisord

 

Use the following command to access the Laravel file

    vi /etc/supervisord.d/Laravel-worker-workflow.ini

Insert the following into the file

    [program:laravel-worker-workflow]

    user = nginx

    directory = /opt/processmaker/

    command = /opt/processmaker/processmaker artisan queue:work --workspace=workflow

    stdout_logfile = /opt/processmaker/worker-workflow.log\

    autostart = true

    autorestart = true

Exit out of the vi editor and continue with the following commands.

 These will enable the Laravel-worker-workflow configurations

    supervisorctl reread

    supervisorctl update

    sudo supervisorctl stop all

    sudo supervisorctl start all

    sudo supervisorctl status all

These will restart the Supervisor service

    sudo systemctl stop supervisord.service

    sudo systemctl start supervisord.service

    sudo systemctl status supervisord.service



Set the standard IFS Workflow configurations

Use the following commands to adjust the php.ini file:

sed -i '/short_open_tag = Off/c\short_open_tag = On' /etc/php.ini

sed -i '/post_max_size = 8M/c\post_max_size = 24M' /etc/php.ini

sed -i '/upload_max_filesize = 2M/c\upload_max_filesize = 24M' /etc/php.ini

        sed -i ‘/;date.timezone =/c\date.timezone = America/New_York’ /etc/php.ini sed -i ‘expose_php = On/c\expose_php = Off’ /etc/php.ini



 

Install and Configure OpCache

Set OpCache Pre-Configurations with the following command:

sed -i '/expose_php = On/c\expose_php = Off' /etc/php.ini



Set OpCache Configurations with the following commands:

sed -i '/;opcache.enable_cli=0/c\opcache.enable_cli=1' /etc/php.d/opcache.ini

sed -i '/opcache.max_accelerated_files=4000/c\opcache.max_accelerated_files=10000' /etc/php.d/opcache.ini

sed -i '/;opcache.max_wasted_percentage=5/c\opcache.max_wasted_percentage=5' /etc/php.d/opcache.ini

sed -i '/;opcache.use_cwd=1/c\opcache.use_cwd=1' /etc/php.d/opcache.ini

sed -i '/;opcache.validate_timestamps=1/c\opcache.validate_timestamps=1' /etc/php.d/opcache.ini

sed -i '/;opcache.fast_shutdown=0/c\opcache.fast_shutdown=1' /etc/php.d/opcache.ini

 

Configure php-fpm File

Configure the php-fpm configuration file 

Open the php-fpm configuration file

vi /etc/php-fpm.d/processmaker.conf

 

Add the following to this file:

[processmaker]
user = nginx
group = nginx
listen = /var/run/php-fpm/processmaker.sock
listen.mode = 0664
listen.owner = nginx
listen.group = nginx
pm = dynamic
pm.max_children = 100
pm.start_servers = 20
pm.min_spare_servers = 20
pm.max_spare_servers = 50
pm.max_requests = 500
php_admin_value[error_log] = /var/log/php-fpm/processmaker-error.log
php_admin_flag[log_errors] = on

 

Move the config file to work with IFS Workfllow

Execute the following command:

mv /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bk



Create a New File 

vi /etc/nginx/nginx.conf

 

Insert the following into this created file:

user nginx;

worker_processes auto;

error_log  /var/log/nginx/error.log warn;

pid       /var/run/nginx.pid;

 

# Load dynamic modules. See /usr/share/nginx/README.dynamic.

include /usr/share/nginx/modules/*.conf;

events {

  worker_connections 1024;

}

 

http {

  include        /etc/nginx/mime.types;

  default_type   application/octet-stream;

  log_format     main '$remote_addr - $remote_user [$time_local] "$request" '

                      '$status $body_bytes_sent "$http_referer" '

                      '"$http_user_agent" "$http_x_forwarded_for"';

  access_log  /var/log/nginx/access.log  main;

  log_format combined_ssl '$remote_addr - $remote_user [$time_local] '

                          '$ssl_protocol/$ssl_cipher '

                          '"$request" $status $body_bytes_sent '

                          '"$http_referer" "$http_user_agent"';

  sendfile            on;

  tcp_nopush          on;

  tcp_nodelay         on;

  keepalive_timeout   120;

  keepalive_requests  100;

  types_hash_max_size 2048;

  #Enable Compression

  gzip on;

  gzip_disable "msie6";

  gzip_vary on;

  gzip_proxied any;

  gzip_comp_level 6;

  gzip_buffers 16 8k;

  gzip_http_version 1.1;

  gzip_types text/css text/plain text/xml text/x-component text/javascript application/x-javascript application/javascript application/json application/xml application/xhtml+xml application/x-font-ttf application/x-font-opentype application/x-font-truetype image/svg+xml image/x-icon image/vnd.microsoft.icon font/ttf font/eot font/otf font/opentype;

 

  include /etc/nginx/conf.d/*.conf;

 

#Comment out ServerTokens OS

  server_tokens off;

  #Prevent ClickJacking Attacks

  add_header X-Frame-Options SAMEORIGIN;

  #Load Balancer/Reverse Proxy Header

  real_ip_header X-Forwarded-For;

  set_real_ip_from 0.0.0.0/0;

}



Restart NGINX 

service nginx restart





Configure SELinux

SELinux needs to be turned off for IFS Workflow to have the proper authority on the server to execute. Enter in the following commands

echo "SELINUX=disabled" > /etc/selinux/config

echo "SELINUXTYPE=targeted" >> /etc/selinux/config



Once entered, the server needs to be rebooted this is done via the reboot command simply: 

$ reboot



Install Java Virtual Machine

IFS Workflow Installer requires the use of Java Virtual Machine. Within RHEL run the command:

$ yum install java-1.8.0-openjdk

Use http://openjdk.java.net/install/ for all other types of installations.



Configure NGINX

Create a configuration file inside /etc/nginx/conf.d/ then open and edit that file with

vi /etc/nginx/conf.d/processmaker.conf



In the created file processmaker.conf the configuration file should be as follows: 

#P2Workflow HTTP Virtual Host



server {



  listen 80;

  listen [::]:80;

  #Change for server DNS name

  server_name  nginx.p2workflow.com ;

  #The following line must be added Only if phpMyAdmin is configured

  #include /opt/phpMyAdmin/phpMyAdmin.conf;



  root /opt/processmaker/workflow/public_html; #where IFSWorkflow is installed



  index index.html index.htm app.php index.php;



  try_files $uri $uri/ /index.php?$args;



  charset utf-8;



  location / {

    try_files $uri $uri/ /index.php?$query_string;

  }



location = /favicon.ico { access_log off; log_not_found off; }



  location = /robots.txt  { access_log off; log_not_found off; }



  access_log /var/log/nginx/pm-access.log combined; #enables access logs



  error_log  /var/log/nginx/pm-error.log error; #enables error logs



  sendfile off;



  client_max_body_size 100m;



 # Every PHP script must be routed to PHP-FPM



  location ~ \.php$ {

    fastcgi_split_path_info ^(.+\.php)(/.+)$;

    fastcgi_pass unix:/var/run/php-fpm/processmaker.sock;

    fastcgi_index    app.php;



    include fastcgi_params;

    fastcgi_param    SCRIPT_FILENAME  /opt/processmaker/workflow/public_html/app.php;

    fastcgi_intercept_errors off;

    fastcgi_buffers 8 16k;

    fastcgi_buffer_size 32k;

    fastcgi_connect_timeout 300;

    fastcgi_send_timeout 300;

    fastcgi_read_timeout 300;



  }



 #Browser Caching



  location ~* \.(ico|css|js|gif|jpeg|jpg|png|woff|ttf|otf|svg|woff2|eot)$ {

    expires 24h;

    add_header Cache-Control public;

    access_log off;

    log_not_found off;



    fastcgi_pass unix:/var/run/php-fpm/processmaker.sock;



    fastcgi_index    app.php;



    include fastcgi_params;



    fastcgi_param    SCRIPT_FILENAME   /opt/processmaker/workflow/public_html/app.php;



    fastcgi_intercept_errors off;



    fastcgi_buffers 8 16k;



    fastcgi_buffer_size 32k;



    fastcgi_connect_timeout 300;



    fastcgi_send_timeout 300;



    fastcgi_read_timeout 300;

 }





 location ~ /\.ht {

   deny all;

 }



 error_page 404 /404.html;

 error_page 500 502 503 504 /50x.html;

 location = /50x.html {

   root /usr/share/nginx/html;

 }



}



Also, in the bolded blue line for server_name, this needs to be configured to whatever URL the users will use to connect to IFS Workflow.

After all configurations have taken place, reset the NGINX server with:

service nginx restart



Download and Extract IFS Workflow

To configure MySQL and Apache to work with IFS Workflow, you need to know the location of the IFS Workflow files and set permissions on those files. Setting permissions allows IFS Workflow to access the necessary files when run by the Apache server. Also, in CentOS, the Apache service runs as the user apache by default. Therefore, the ownership of the IFS Workflow directory must belong to Apache, so that Apache can read and write data.

 



To download and extract IFS Workflows:

1. On the server, log in as the root user.

2. Using a browser, navigate to the following P2 Store URL:

https://p2store.p2energysolutions.com/p2store/main

3. From the Product Files tab, select IFS Workflow.

4. Click the IFS Workflow 1.2 tab.

5. In the row that contains the following Filename, click Download:

WorkflowEngine_Linux_1.4.X.X.bin

6. Deploy this file to the server that will host IFS Workflow, typically this is deployed to the /tmp folder to execute.

7. Open command line and navigate to the location where you saved the bin file.

8. To make the file executable, run the following command:

$ chmod +x WorkflowEngine_Linux_1.4.X.X.bin

9. Run the following command:

$ ./ WorkflowEngine_Linux_1.4.X.X.bin

10. The installation process will prompt for an installation directory, the default and recommended location is /opt, but can be configured to any location.

This will bring up options for the users and you should see:

Press Enter to bring up the next option.

Press Enter again to accept the default path or change the path to whatever target destination is needed. Once the target destination has been designated, press Enter to bring up the pre-installation screen.

Press Enter once more once the preinstallation has been confirmed.

This is the final confirmation. Press Enter if everything is correct.

Finally, upon completion you will see this screen.

$ ls /processmaker

You should see something similar to the following:



11. To set permissions on the IFS Workflow files, run the following commands:

$ chown -R nginx:nginx /opt/processmaker



12. To assign the ownership of the IFS Workflow directory to apache, run the following recursive command:

$ chown -R nginx:nginx /opt/processmaker



13. To verify the permissions and owner of the IFS Workflow directory, run the following command:

$ ls -la



You should see something similar to the following:



Install IFS Workflow

Once all configurations are set up, you can open a web browser and use the IP address where IFS Workflow is extracted to run a wizard and complete the installation of IFS Workflow.



To install and configure IFS Workflow: 

1. In a browser, navigate to the server where IFS Workflow was extracted.

2. On the first Pre-Installation Check screen, fix all requirements that are not net and marked as No before continuing with the installation.

3. On the File Permissions screen, fix all permissions on directory paths that are not marked with a green checkmark before continuing with the installation.

4. On the IFS Workflow Open Source License screen, select the option I agree and click Next to continue the installation.

5. To configure the connection to the MySQL database, enter the Username and Password of a MySQL user, such as the root user, who has permission to set up new databases in MySQL.

6. Click Test Connection to see whether that user can log in to MySQL and set up the IFS Workflow databases.

7. When the connection test successfully, click Next.

8. On the Workspace Configuration screen, either enter the client or workspace name you want to use or leave the default of workflow.

9. On the Workspace Configuration screen, enter the information for the user you want to have administrator privileges in the Admin Username, Admin Password, and Confirm Admin Password fields.

10. On the Workspace Configuration screen, click Check Workspace Configuration.

  • If there is an error in the configuration, the following message will be displayed in the dialog: Not passed 

  • If a database of the same name already exists, you can either mark the option Change database name or use the option to Delete Database if it exists.

11. When the configuration is correct, to create the workspace database, click Finish.



Admin User is Expired

After installation, the admin user will be expired in the database. This will not allow you to log in until the expiration date is updated. There are two places to update the expiration.

Log into MySQL as the root user with mysql -u root -p

1. Once logged into MySQL we will need to select the database. For this example our database name is wf_Amplify

b. mysql> use wf_Amplify

b. We will need to run two queries to update the expiration date of the admin user

i. UPDATE USERS SET USR_DUE_DATE = '2030-01-01' WHERE USR_USERNAME = 'admin’;

ii. UPDATE RBAC_USERS SET USR_DUE_DATE = '2030-01-01' WHERE USR_USERNAME = 'admin';



Create an OAuth Token for IFS Workflow

You will need to get the OAuth token information to secure the information exchanged between IFS Workflow and IFS Workflow. When you install Workflow, in order to register it with IFS Workflow so it can use REST endpoints, you must get a client ID and secret from OAuth, which is the authorization protocol used by IFS Workflow.



To create an OAuth Token for IFS Workflow:

1.  In the IFS Workflow browser window, navigate to the following URL: http://{pm-server}/sys{workspace}/en/neoclassic/oauth2/applications  

2. Click New, and in Name enter P2 Application.

3. In Web Site, enter http://p2es.com.

4. Click Register Application

5. A screen will open displaying the Application Credentials as a Client ID and Client Secret. For example:

Client ID: HWAYUEGWRMWNVLSTKPXAJDZGUQKAXKSF

Client secret: 28060566356f0b9db4f0429090515303

6. Since the ID and Secret are long, copy the Client ID and Client Secret to a text editor to paste into the IFS Workflow installer. This will be used by IFS Workflow to obtain authorization from IFS Workflow:



Configure the IFS Workflow Login Screen

After installing IFS Workflow, there are a few manual steps you should do to change the look and feel of IFS Workflow. This allows users to understand that they are working with a IFS product and that they are using the IFS Workflow functionality built on top of IFS Workflow.

You should also replace the default login page to a IFS Workflow login page. To do this you just need to download the files located on the installed server at: <installDirectory>/processmaker/P2Logo and move them to a local environment directory.



Configure IFS Workflow Theme

1. In IFS Workflow, on the Get Started screen, enter the username and password of the Administrator user.

2. From the top menu, click Admin, then Skins, then Import.

3. In the Upload window, click Browse and find the following file in the IFS Workflow installation directory:

P2theme.tar

4. In the Upload window, select All Workspaces, and then click Save.

You should see a window similar to the following figure:

5. To set the P2 Theme as the system default, in the P2 Workflow window, from the top menu, click Admin.

6. From the tabbed menu on the left, select the Settings tab, and then click System.

7. In the Preferences section, in Default Skin, select P2Theme.

 

Upload IFS Logo

1.  In IFS Workflow, on the Get Started screen, enter the username and password of the Administrator user.

2. From the top menu, click Admin, then Logo, then Upload.

3. In the Upload window, click Browse and find the following file saved from the <installDirectory>/opt/processmaker/P2Logos directory.

p2_logo.png

4. In the Upload window, select the file.

You should see a window similar to the following figure:

5. Select Apply.

6. Within the server that has IFS Workflow installed- run the following commands:

$ cp /<download_location>/opt/processmaker/P2Logo/p2_logo.png  /opt/processmaker/workflow/public_html/images/



Configure Login HTML Screen

1. On the Linux server where IFS Workflow was installed, log in as the root user.

2. Locate the following file within the /opt/processmaker/P2Logo directory:

Loginpm3.html

3. To use the P2 login page and replace the IFS Workflow login page, run the following command:

$ cp /<download_location>  /opt/processmaker/P2Logo/loginpm3.html  /opt/processmaker/workflow/public_html/images/loginpm3.html

4. Copy the file into the public_html folder with the following commands:

$ cp /<download_location>  /opt/processmaker/P2Logo/p2_logo.png  /opt/processmaker/workflow/public_html/images/

5. These files get imported by the root user, so to make sure nginx/apache can reach them re-run the command:

chown nginx:nginx /opt/processmaker

or:

chown apache:apache /opt/processmaker

6. To restart the Apache web server, run the following command:

$ service httpd restart

  

Configure Cron

1. Open up the /etc/crontab file.

The cron file is opened in the default editor of your Linux distribution. Then, add lines to execute the different ProcessMaker cron scripts at different times in the following format:

minute hour day-of-month month day-of-week command

Where:

Field

Description

Field

Description

minute

The minute of the hour when the command is executed. It can be between 0 and 59.

hour

The hour when the command is executed. It can be between 0 and 23. 0 is midnight.

day-of-month

Day of the month when the command is executed. For example, 20 would be the 20th day of each month.

month

The month when the command is executed. It can be a number between 1 and 12 or the first three letters of the month in English, such as Jan, Feb, etc.

day-of-week

Day of the week when the command is executed. It can be a number between 0 and 7, where 0 and 7 are both Sunday, 1 is Monday, 2 is Tuesday, etc. Alternatively, it can be the first three letters of the day in English such as Sun, Mon, etc.

Command

Command, script or program to execute.

An * (asterisk) in the first five columns indicates all possible values. For instance, an asterisk in the minutes column indicates all the minutes in the hour. If an asterisk is divided by a number */#, then it stands for any time unit that can be cleanly divided without any remainder. For instance, in a day with 0-23 hours, */5 would execute on hours 0, 5, 10, 15 and 20.



The following example executes cron.php every 15 minutes and messageeventcron.php every 20 minutes of every even hour.

*/15 * * * * [web-server-user] php -f /opt/processmaker/workflow/engine/bin/cron.php

*/20 */2 * * * [web-server-user] php -f opt/processmaker/workflow/engine/bin/messageeventcron.php



Other Examples:

0  * * * * [web-server-user] php -f /opt/processmaker/workflow/engine/bin/cron.php

10 * * * * [web-server-user] php -f /opt/processmaker/workflow/engine/bin/messageeventcron.php

15 * * * * [web-server-user] php -f /opt/processmaker/workflow/engine/bin/timereventcron.php

20 * * * * [web-server-user] php -f /opt/processmaker/workflow/engine/bin/ldapcron.php

25 * * * * [web-server-user] php -f /opt/processmaker/workflow/engine/bin/sendnotificationscron.php

30 * * * * [web-server-user] php -f /opt/processmaker/workflow/engine/bin/cron.php

40 * * * * [web-server-user] php -f /opt/processmaker/workflow/engine/bin/messageeventcron.php

45 * * * * [web-server-user] php -f /opt/processmaker/workflow/engine/bin/timereventcron.php

50 * * * * [web-server-user] php -f /opt/processmaker/workflow/engine/bin/ldapcron.php

55 * * * * [web-server-user] php -f /opt/processmaker/workflow/engine/bin/sendnotificationscron.php



Remember to add the +force option to ensure that a cron script will be processed at a specified time. This option will cut the processing of an existing cron script short, so it is better to space out the cron scripts so they do not overlap.



Install IFS Workflow Content

Once IFS Workflow requirements are met and IFS Workflow is installed, you can install IFS Workflow Content 1.X. This will create workflow, groups, and users that IFS Workflow needed for the successful execution of IFS Workflow processes.

 



To download and install IFS Workflow:

1. On a Windows server or client, log in as the root user.

2. Using a browser, navigate to the following P2 Store URL:  https://p2store.p2energysolutions.com/p2store/main

3. From the Product Files tab, select P2 Workflow.

4. Click the desired IFS Workflow version tab.

5. In the row that contains the following Filename, click DownloadP2Workflows_Windows64_1.X.0.0.exe

6. Navigate to the location where you saved the file, right-click on it, and select Run As Administrator.

7. On the Introduction screen, after reading about recommendations, click Next.

8. On the Get Setup Information screen, in Host URL, enter the Web server where you installed IFS Workflow and where you want IFS Workflow installed.

9. On the Get Setup Information screen, in Tenant, enter the name of the workflow you created during the IFS Workflow installation.

10. On the Get Setup Information screen, enter the username and password of the Administrator user, and then click Next.

11. On the Get Client Information screen, paste in the Client ID and Client Secret generated in step 13 of Configure IFS Workflow for IFS Workflow, and then click Next.

12. On the Pre-Installation Summary screen, click Install.

13. When the installation process is complete, return to IFS Workflow and log in.

14. To verify IFS Workflow was installed correctly, click on Admin, and then Groups. You should see multiple new entries such as Business Analyst, Division Order Lead, Drilling Engineer and Land Analyst.

 








Copyright© 2024 IFS AB. Copying prohibited. All rights reserved.