====== COBI.time Installation ====== ===== Requirements ===== * Node.js Version 22.14.0 LTS * Microsoft IIS (Web Server) * [[https://www.iis.net/downloads/microsoft/url-rewrite|URL Rewrite Module for Microsoft IIS]] * PostgreSQL Database * SAP Business One Service Layer * SAP Business One 10 (Patch Level 2 or higher) ===== Preparation & Prerequisites ===== ==== Node.js Installation ==== Download the LTS version of Node.js: \\ [[https://nodejs.org/dist/v22.14.0/node-v22.14.0-x64.msi|nodejs.org/dist/v22.14.0/node-v22.14.0-x64.msi]] and run the installer. \\ Keep all default settings during the installation process. ---- ==== IIS Installation ==== If Microsoft IIS is already installed, ensure that **Dynamic Content Compression** is enabled. \\ Also verify whether IIS has already been installed: \\\ {{:1.png?800|}} \\\ If not, install Microsoft IIS: \\\ {{:2.png?300 |}} \\\ Add Roles and Features: \\ Click **Next** through the wizard steps: \\\ {{:5n.png?500|}} \\\ {{:6n.png?500|}} \\\ {{:7n.png?500|}} \\\ Select the **Web Server (IIS)** role. \\ Under **Performance**, ensure that **Dynamic Content Compression** is enabled. \\\ {{:3.png?500 |}} \\\ Click **Next** and complete the installation. \\ A server restart is usually not required. ---- ==== IIS URL Rewrite Module Installation ==== After IIS has been installed successfully, install the Microsoft URL Rewrite Module: \\ [[https://www.iis.net/downloads/microsoft/url-rewrite|https://www.iis.net/downloads/microsoft/url-rewrite]] ---- ===== COBI.time Setup Wizard ===== Run the setup executable vX.X.X.X.exe as Administrator to start the installation wizard. ==== Step 1: Start the Setup ==== Start the installation using the provided installer file. \\ {{:de:playground:1_setup_symbol.png?100|}} ---- ==== Step 2: Select Setup Language ==== (1) Select your preferred language (e.g., German or English) from the list. \\ (2) Confirm with **OK**. \\ {{:de:playground:2_setup_sprache.png?600|}} ---- ==== Step 3: PostgreSQL Configuration ==== Enter the connection information for your PostgreSQL database (host, port, username, password, and database name). \\ Then click **Next**. \\ {{:de:playground:3_setup_postgresql.png?600|}} ---- ==== Step 4: SAP Service Layer Configuration ==== (1) Enter the SAP Service Layer URL (e.g., http://10.200.17.93:50001/b1s/v1). \\ (2) Enter the SAP username (e.g., manager). \\ (3) Enter the corresponding password. \\ (4) Enter the exact SAP company database name (e.g., SBODemoDE). \\ (5) Click **Test Connection** and ensure the message Login successful appears. \\ (6) Click **Next**. \\ {{:de:playground:4_setup_servicelayer.png?750|}} ---- ==== Step 5: Select Installation Directory ==== Choose the installation path. By default, COBI.time will be installed under C:\Program Files (x86)\COBI.time. \\ Click **Next**. \\ {{:de:playground:5_setup_auswaehlen.png?600|}} ---- ==== Step 6: Ready for Installation ==== Review your settings and click **Install** in the bottom-right corner. \\ {{:de:playground:6_setup_installation.png?600|}} ---- ==== Step 7: Installation & Database Initialization ==== The installation process takes approximately 5 to 15 minutes. \\ Confirm the information window PostgreSQL installed and connection successful! by clicking **OK**. \\ {{:de:playground:7_setup_installation_.png?600|}} ---- ==== Step 8: Finish Setup ==== Click **Finish** to close the wizard. \\ {{:de:playground:8_setup_finish.png?600|}} ---- ===== Post Configuration & Service Setup ===== ==== Configure the .env File ==== Navigate to the folder C:\Program Files (x86)\COBI.time\server and open the .env file using a text editor with Administrator privileges: \\ {{:de:playground:9_setup_env.png?1000|}} Verify the values. For productive use, adjust the following parameters: MODE=production (Production or development mode. Set to production to minimize logging.) PORT=62000 (Specify the backend port for COBI.time.) SAP_URL=https://localhost:50000/b1s/v1 (Service Layer URL. Replace localhost with the actual Service Layer IP address.) SAP_USER=manager (SAP user with an indirect access license or higher.) SAP_PASSWORD=**** (SAP user password.) SAP_DB=SBODemoDE93 (SAP database name.) SSLPass=1234 (Password for a custom SSL certificate. Keep 1234 if you do not provide another SSL certificate.) SECRET=iosncaonmwdo1! (Replace with any random string used for token encryption.) > **SSL Certificate Note:** If you want to use your own SSL certificate, replace the files `cert.pem` and `key.pem` in the folder `C:\Program Files (x86)\COBI.time\server\certs` and adjust the `SSLPass` value in the `.env` file. ---- ==== Install the COBI.time Service via PowerShell ==== Open Windows PowerShell as Administrator and execute the following commands: (1) Change to the server directory: cd "C:\Program Files (x86)\COBI.time\server" (2) Install the Windows service helper package globally: npm i -g qckwinsvc2 (3) Register and start the COBI.time service: qckwinsvc2 install name="COBI-time" description="COBI.time Backend Server" path="C:\Program Files (x86)\COBI.time\server\server.js" args="-a -c" now \\ {{:de:playground:10_setup_powershell.png?600|}} Ensure that the confirmation message `[INFO] Service COBI-time started.` appears at the end. ---- ==== Verify the Service in Windows Services ==== Open the Windows Services Manager (`services.msc`). \\ Locate the **COBI-time** service and ensure that its status is **Running** and its startup type is set to **Automatic**. \\\ {{:de:playground:11_setup_dienst.png?800|}} \\\ ---- ===== IIS Web Server Configuration ===== 1. Open **Internet Information Services (IIS) Manager**. {{:8.png?550|}} 2. Select the **Default Web Site** and change the physical path to: \\ `C:\Program Files (x86)\COBI.time\dist` \\\ {{:9.png?550|}} \\\ {{:10.png?700|}} \\\ 3. **Import the Server Certificate:** * Open **Server Certificates**. * Right-click → **Import...** * Select the certificate file `C:\Program Files (x86)\COBI.time\server\certs\cobitime.pfx` (default password: `1234`) or use your own SSL certificate. \\\ {{:11.png?700|}} \\\ {{:12.png?300|}} 4. **Adjust Site Bindings:** * Remove the HTTP binding. * Add an HTTPS binding and select the imported SSL certificate. * Important: Enable the **Require Server Name Indication (SNI)** option. {{:13.png?700|}} ---- ===== Configure Backend Connection in the Frontend ===== Navigate to the folder `C:\Program Files (x86)\COBI.time\dist\cfg` and open the file `settings.js`. {{:14.png?350|}} For the backend URL, enter the server IP address or hostname including the port configured in the `.env` file (e.g., `https://10.200.17.93:62000`). ---- ===== Initial Setup of COBI.time Data Structures (Web Setup) ===== > **Important:** Since COBI.time creates custom tables and fields in SAP Business One, make sure that **all users are logged out of SAP Business One** during the initial setup. 1. Ensure that the **COBI-time** service is running. 2. Open your browser and navigate to the setup page: \\ `https://localhost/Setup` (or your server address). \\ {{:15.png?600|}} 3. The web setup will automatically guide you through the creation of the required SAP tables, fields, and initial data: * **Create Tables:** Click **Execute**. Once completed, restart the **SAP Service Layer** and confirm with **OK**. * **Create Fields:** Click **Execute** again. Restart the **SAP Service Layer** a second time and confirm with **OK**. * **Import Initial Data:** Click **Execute** one final time. {{:16.png?400|}} 4. After completion, you will automatically be redirected to the login page (`https://localhost/Login`). You can now log in using the default administrator credentials: * **Username:** `admin` * **Password:** `admin` > **Security Notice:** Change the administrator password immediately after the first login! ==== PIN Activation (optional) ==== To enable PIN entry in COBI.time, an activation password is required. Prerequisite (Server): On the server, a password must be defined in the .env file (activation password). \\ This password is not stored in COBI.time itself but is only used once to activate the PIN function on the device. \\ Content example: PinLoginPassword=test ====== Uninstallation ====== ===== Remove COBI.time Service ===== Use the following command to uninstall the COBI.time Service: qckwinsvc --uninstall --name "COBI-time" After that you can just remove the COBI.time installation from your computer.