Change Log of Single Sign On

v. 1.0 2024-11-07 Kaizen Completed

Create a dashboard page, insert a table for each web application and its link

BEFORE AFTER

MODIFICATION in PHPRunner or cPanel or PHPMyAdmin

  1. Go to “Tables” tab and create “Dashboard”.

  2. Click on the newly created dashboard and go to “Layout” tab.
  3. Add a new “Code snippet”.

  4. There will be 4 code snippets to add for “JVS”, “SOT”, “STOCK” and “VMS”. For each code snippet:-
    • JVS
      • go to “jvs.sweetco.com.my” and get the current version and the landing page (must end with “.php” or “.html”)
      • add below code to code snippet by including the current version and landing page for JVS
        $header = "Journal Voucher System";
        echo "<table cellpadding=10px cellspacing=0px border=0>";
        echo "<tr><td><b>Current Version:</b></td><td> v. 2.2</td></tr>";
        echo "<tr><td><b>Link:</b></td><td><a href='external.php?url=https://jvs.sweetco.net/v.2.2/journal_voucher1_list.php' target='_blank'>JVS</a></td></tr>";
        echo "</table>";
    • SOT
      • go to “sot.sweetco.com.my” and get the current version and the landing page (must end with “.php” or “.html”)
      • add below code to code snippet by including the current version and landing page for SOT
        $header = "Sales Order Tracking";
        echo "<table cellpadding=10px cellspacing=0px border=0>";
        echo "<tr><td><b>Current Version:</b></td><td> v. 8.4</td></tr>";
        echo "<tr><td><b>Link:</b></td><td><a href='external.php?url=https://sot.sweetco.net/v.8.4/dashboard_dashboard.php' target='_blank'>SOT</a></td></tr>";
        echo "</table>";
    • STOCK
      • go to “stock.sweetco.com.my” and get the current version and the landing page (must end with “.php” or “.html”)
      • add below code to code snippet by including the current version and landing page for STOCK
        $header = "Stock Control";
        echo "<table cellpadding=10px cellspacing=0px border=0>";
        echo "<tr><td><b>Current Version:</b></td><td> v. 6.5.1</td></tr>";
        echo "<tr><td><b>Link:</b></td><td><a href='external.php?url=https://stock.sweetco.net/v.6.5/dashboard_dashboard.php' target='_blank'>Stock Control</a></td></tr>";
        echo "</table>";
    • VMS
      • go to “vms.sweetco.com.my” and get the current version and the landing page (must end with “.php” or “.html”)
      • add below code to code snippet by including the current version and landing page for VMS
        $header = "Vehicle Management System";
        echo "<table cellpadding=10px cellspacing=0px border=0>";
        echo "<tr><td><b>Current Version:</b></td><td> v. 3.3.1</td></tr>";
        echo "<tr><td><b>Link:</b></td><td><a href='external.php?url=https://vms.sweetco.net/v.3.3/dashboard_list.php' target='_blank'>VMS</a></td></tr>";
        echo "</table>";
    • Go to “Misc” tab and set the landing page.

    • Go to “Editor” tab, double-click on the title and rename it to “Single Sign-On v. 1.0”.


 

v. 1.0 2024-11-07 Beta Testing Completed

TEST OBJECTIVE: To test if “Stock Control”, “SOT”, “VMS” and “JVS” can directly login using the single login from “https://sso.sweetco.net/” if the same username EXISTS in all web applications

TESTING METHODOLOGY TEST RESULT
  1. Add “test4” in all “users” tables for all web applications with the same password
  2. Open “https://sso.sweetco.net/
  3. Log-in using “finance@sweetco.com.my”
  4. Click on each link of “Stock Control”, “SOT”, “VMS” and “JVS”
  5. Each link should be opened in a new tab without the need to enter the username and password anymore
 

  • SSO
  • Stock Control

  • SOT

  • VMS

  • JVS


 

TEST OBJECTIVE: To test if “Stock Control”, “SOT”, “VMS” and “JVS” can directly login using the single login from “https://sso.sweetco.net/” if the same username EXISTS in all web applications but with different passwords

TESTING METHODOLOGY TEST RESULT
  1. Change the password for “test4” in all web applications except for SSO
  2. Open “https://sso.sweetco.net/
  3. Log-in using “finance@sweetco.com.my”
  4. Click on each link of “Stock Control”, “SOT”, “VMS” and “JVS”
  5. Each link should be opened in a new tab without the need to enter the username and password anymore
 

  • Stock Control

  • SOT

  • VMS

  • JVS


 

TEST OBJECTIVE: To test if “Stock Control”, “SOT”, “VMS” and “JVS” can directly login using the single login from “https://sso.sweetco.net/” if the same username is NOT EXISTS in all web applications

TESTING METHODOLOGY TEST RESULT
  1. Add a new user only in SSO
  2. Open “https://sso.sweetco.net/
  3. Log-in using the new user’s username and password
  4. Click on each link of “Stock Control”, “SOT”, “VMS” and “JVS”
 

  • SSO

  • Stock Control
  • SOT
  • VMS
  • JVS

 

How to Upgrade SERVERLINK

  1. Firstly, create a restore point.
  2. Open SERVERLINK, in “HOME”, click on the update.
  3. Let SERVERLINK download the update.
  4. After the download has been completed, a popup will appear. Click “Yes”.
  5. Click “Next” on each Setup.

    Note: if you choose “Only dowload setup (do not install)” , then the setup file is downloaded into this folder “C:\Users\…\AppData\Local\Temp\UpdateRelease.exe“. Run the “UpdateRelease.exe” at a later date.

  6. Restart UBS-SERVER.
  7. Finally, check the version displayed is the latest version (s.c.).

Comparison of E-mail API used in PHP

Runner_Mail() PHPMailer() PHP Mail()
SMTP, user name, password, port, etc. are set inside the PHPRunner UI

PHPMailer() is called by Runner_Mail()

SMTP is set inside the PHP code itself

SMTP is set in “PHP.ini”
<?php

require_once(“include/dbcommon.php”);

 

$email = “t1@mobitek.my”;

$msg = “”;

$subject = “New data record”;

 

$msg.= “Message: [Message]\r\n”;

$msg.= “Recipient: Recipient\r\n”;

$msg.= “Date/Time: DateTimeQueue\r\n”;

runner_mail(array(‘to’ => ‘$email’, ‘subject’ => $subject, ‘body’ => $msg));

?>

<?php
include_once(‘libs/phpmailer/class.phpmailer.php’);
include_once(‘libs/phpmailer/class.smtp.php’);$mail = new PHPMailer( true );
// Mail settings
$mail->isSMTP();   //Send using SMTP
$mail->Host = ‘mail.sweetco.com.my’;   //Set the SMTP server to send through
$mail->SMTPAuth = true;   //Enable SMTP authentication
$mail->Username = ‘factory@sweetco.com.my‘;   //SMTP username
$mail->Password = ‘2022@Beranang@Factory’;   //SMTP password
//$mail->SMTPSecure = PHPMailer::ENCRYPTION_SMTPS;        //Enable implicit TLS encryption
$mail->Port = 587;   //TCP port to connect to; use 587 if you have set `SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS`
$mail->setFrom(‘support@mobitek.my‘, ‘MOBITEK Support’);
$mail->isHTML(false);$mail->To = “t1@mobitek.my”;
$mail->Subject = “This is Subject”;
$mail->Body = “This the body”;
$mail->Send();?>
Open “php.ini” and search for “smtp” (there are no entries for no username and password)

 

[mail function]
; For Win32 only.
; http://php.net/smtp
SMTP = localhost
; http://php.net/smtp-port
smtp_port = 25

; For Win32 only.
; http://php.net/sendmail-from
sendmail_from =“admin@wampserver.invalid”

; For Unix only.  You may supply arguments as well (default: “sendmail -t -i”).
; http://php.net/sendmail-path
;sendmail_path =

; Force the addition of the specified parameters to be passed as extra parameters
; to the sendmail binary. These parameters will always replace the value of
; the 5th parameter to mail().
;mail.force_extra_parameters =

; Add X-PHP-Originating-Script: that will include uid of the script followed by the filename
mail.add_x_header = On

; The path to a log file that will log all mail() calls. Log entries include
; the full path of the script, line number, To address and headers.
;mail.log =
; Log mail to syslog (Event Log on Windows).
;mail.log = syslog

MOBITEK Q25 4G Modem Can Use IP Address instead of COM Port Number

TEST OBJECTIVE TESTING METHODOLOGY TEST RESULT
Can hyper terminal connect to MOBITEK Q25 4G Modem via IP address instead of COM port and run “hyper terminal test“?
  1. Connect MOBITEK Q25 4G Modem  to LAN via LAN port.
  2. Assign IP address to Q25 using USR-TCP232 to be in the same subnet of the LAN. For this example:
    • the gateway is “192.168.10.1”
    • set the IP address for Q25 in this subnet “192.168.10.???”
    • Get the “Module port” of Q25 in USR-TCP232
  3. Run hyper terminal and connect using “TCP/IP (Winsock)”.
  4. Enter the “Host address” and “Port number”
  5. Type “AT” to Hyper Terminal to see if Q25 is responding
  • 860147050425139
  • 860147050425154

How to Implement Log-In Page using “Database” for a Web Application

  1. Edit “Email settings…” in “Misc” tab.
  2. Add new table “users” in “Security” tab.
  3. Set “Dynamic permissions” in “Security” tab. Add a new user.
  4. Build and run the PHPRunner project in localhost. Log in using the username and password added previously. Let the PHPRunner project open in localhost.
  5. Go to PHPRunner project again. Enable “Password hashing (encryption)” in “Registration and passwords…”.
  6. Build and run PHPRunner project again in localhost.
  7. Go to “Admin Area”.
  8. Go to “Add/Edit users”, edit the password. To use back the same password, first change the password to another password. Save it and then edit it back to change to the original password.

MOBITEK Q25 Can Use Internet Application and Send SMS at the Same Time

TEST OBJECTIVE TESTING METHODOLOGY TEST RESULT
Can MOBITEK Q25 connect to internet and send out SMS at the same time?
  1. Connect to internet, refer to https://mobitek-system.com/blog/category/iot/mobitek-q25-4g-modem/
  2. Use hyper terminal  to send out SMS (hyper-terminal test as per QC).
  3. Do not close the COM port in hyper terminal, keep it open (connected). Open web browser and visit www.mobitek.my
TEST 1

 

TEST 2

USR-VCOM for MOBITEK S80 and MOBITEK Q25 Works in Windows 11

TEST OBJECTIVE TESTING METHODOLOGY TEST RESULT
Does MOBITEK S80’s USR-VCOM (ELTIMA virtual serial port) support Windows 11?
  1. Install  USR-VCOM in VM-Windows 11 :-

  2. Do “Hyper-Terminal” or “AT-OK” test.
USR-VCOM version = 3.7.1.520

Does MOBITEK Q25’s USR-VCOM (ELTIMA virtual serial port) support Windows 11?
  1. Install  USR-VCOM in VM-Windows 11 :-

  2. Do “Hyper-Terminal” or “AT-OK” test.
USR-VCOM version = 3.7.1.520

Introducing MOBITEK Q25 4G Modem to Replace GSM Modem for SMS

 

We are pleased to announce our new modem MOBITEK Q25 .

 

MOBITEK Q25 is a 4G Modem for IoT and SMS applications. Used by software developer to develop a SMS gateway, a SMS server, 2 factor authentication, one-time password, alert, notification and messaging solutions.

 

MOBITEK Q25 can replace these GSM modem models:-

 

Key Features

 

For further information, please visit

MOBITEK® Q25 4G Modem for SMS, E-Mail, MQTT & GNSS

 

Change Log of SMS360

v. 1.1 2024-01-03 Kaizen Completed

Add “Incoming SMS” tab

BEFORE AFTER
“Incoming SMS” tab that display ‘Inbox” table in grid format.

MODIFICATION in PHPRunner

  1. Add new connection to “SMSEngineVBNET.mdb”
  2. Add “Inbox” table to the project.
  3. Go to “Menu editor”. In “Menu Settings” section, select “Inbox” -> “Edit item”.
  4. In “Menu Item Editor”, rename the “Item text” to “Incoming SMS”.
  5. Go to “Pages” tab. In Tables list, select “Inbox”. Uncheck “Edit record”, “Add new” and “Delete record”.
  6. Go to “Designer” tab, select “Inbox” in Tables list, set the page properties as below:

 

Add “Outgoing SMS” tab

BEFORE AFTER
“Outgoing SMS” tab that display “Outbox” table in grid format.

MODIFICATION in PHPRunner

  1. Add “Outbox” table to the project.
  2. Go to “Menu editor”. In “Menu Settings” section, select “Outbox” -> “Edit item”.
  3. In “Menu Item Editor”, rename the “Item text” to “Outgoing SMS”.
  4. Go to “Pages” tab. In Tables list, select “Outbox”. Uncheck “Edit record” and “Delete record”.
  5. Go to “Designer” tab, select “Outbox” in Tables list, set the “Page layout” as below:

 

Add button “Send SMS” into “Incoming SMS” tab

BEFORE AFTER
“Outgoing SMS” tab has a button “Send SMS” that insert a new record into “Outbox” table so that a SMS can be send out by SMS Engine — Basic Edition.

MODIFICATION in PHPRunner

  1. Go to “Designer” tab. Select “Outbox” in Tables list. Click on “list” tab, click “Add new” button. Rename the text in “label” to “Send SMS”.
  2. In the same “Designer” tab, select “add” tab. Click “Remove field” dropdown and remove all fields except “Message”, “Recipient” and “DateTimeQueue”.

 

Add “http://localhost/sms360/v.1.1”

BEFORE AFTER
Localhost in HPC-8300 can access the PHP files on “http://localhost/sms360/v.1.1”

MODIFICATION in PHPRunner

  1. Open “..\output\connections\ConnectionManager.php”
  2. Go to the line “$data[“ODBCString”]” and change the value to:

    • “Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Users\\mobitek1\\Desktop\\SMS360 v. 1.1\\SMSEngineVBNET.mdb;Persist Security Info=False;”;
    • “Data Source” is where the “SMSEngineVBNET.mdb” located.
    • Each directory must be separated by double backslash “\\”.
  3. Copy all files inside “output” folder to “C:\wamp64\www\sms360\v.1.1”

 

v. 1.1 2024-01-03 Beta Testing Completed

TEST OBJECTIVE: Can v.1.1 work with “SMSEngineVBNET.mdb”?

TESTING METHODOLOGY TEST RESULT
  1. Add “SMSEngineVBNET.mdb” in ODBC 64-bit
  2. Connect v.1.1 to “SMSEngineVBNET.mdb”
  3. Change the connection string for “$data[“ODBCString”]” in line 146 of “ConnectionManager.php” to:
    "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Users\\mobitek1\\Desktop\\SMS360 v. 1.1\\SMSEngineVBNET.mdb;Persist Security Info=False;";


 

TEST OBJECTIVE: Can v.1.1 run in localhost of HPC-8300 (http://localhost/sms360/v.1.1) ?

TESTING METHODOLOGY TEST RESULT
  1. Copy all files inside “output” folder to “C:\wamp64\www\sms360\v.1.1”
  2. Open “http://localhost/sms360/v.1.1” in browser

 

PROBLEM

SOLUTION SOLVED?
According to PHPRunner documentation, to use PHPRunner with Access database, we need to use 32-bit version
(source: https://xlinesoft.com/phprunner/docs/connecting_to_ms_access_db.htm)
Not tested
Enable “php_com_dotnet.dll” extension in “php.ini” file
(source: https://xlinesoft.com/phprunner/docs/connecting_to_ms_access_db.htm)

NO
Use ODBC in PHPRunner

 

refer to

NO. ODBC does not work.

“ADODB.Connection” problem has disappeared but new error thrown

Steps to use ODBC in PHPRunner:

  1. In “Tables” tab, right-click on the database and select “Properties”
  2. In “Connection properties”, click on “Back” button
  3. Select “ODBC Data Source”
  4. Click “ODBC Admin” button
  5. Select “System DSN” and click “Add…” button
  6. Select “Microsoft Access Driver (*.mdb, *.accdb)”
  7. Enter the “Data Source Name” and click “Select…”
  8. Locate the location of the database
  9. Click “Refresh list” button, select the new “DSN” created and click “Finish”

 

It seems like PHPRunner still use Microsoft.Jet.OLEDB driver to connect to Access database which only work with 32-bit application as suggested by PHPRunner

The problem with Microsoft.Jet.OLEDB driver also discussed by others
(source: https://stackoverflow.com/questions/1991643/microsoft-jet-oledb-4-0-provider-is-not-registered-on-the-local-machine)

 

I’ve tried to create a new blank project using MS Access database in PHPRunner and also face the same problem:

  • connection properties
  • error thrown
    “Unrecognized database format ‘C:\Users\mobitek1\Desktop\Project1\output\db\Project1.mdb’. in C:\Users\mobitek1\Desktop\Project1\output\connections\Connection.php on line 626

 

The solutions to use Microsoft Access database in PHPRunner are:

  • use “Provider=Microsoft.ACE.OLEDB.12.0” in connection string (we don’t have control for this)
  • use “Microsoft Access Database Engine 2010 Redistributable” (not sure how it works)
    https://www.microsoft.com/en-us/download/details.aspx?id=13255
  • use 32-bit version of PHPRunner (as suggested by PHPRunner)
Edit the “ConnectionManager.php” to force it to use “Provider=Microsoft.ACE.OLEDB.12.0” instead of “Provider=Microsoft.Jet.OLEDB.4.0”

 

 

 YES

Overwrite “..\output\connections\ConnectionManager.php” in line 146 from:

Provider=Microsoft.Jet.OLEDB.4.0;DSN=SMSEngineVBNET;UID=;PWD=;Driver=C:\\PROGRA~1\\COMMON~1\\MICROS~1\\OFFICE15\\ACEODBC.DLL;DBQ=C:\\Users\\mobitek1\\Desktop\\SMS360 v. 1.1\\SMSEngineVBNET.mdb;DriverId=25;FIL=\”MS Access;\”;SafeTransactions=0″

to

Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Users\\mobitek1\\Desktop\\Project1\\SMSEngineVBNET.mdb;Persist Security Info=False;