Different login pages per site using only one WebGUI installation

Related products: Windows GUI

Currently we have 4 sites running the Thinkwsie Web GUI (not counting Test and Acceptation servers). They all run on the same IIS server and based on the directory in the URL one of the GUI's is selected.

This means four installations each time a new version of the GUI comes available. Now my organisation wants even more variations, and the only thing that is different is the sitename (which each time is translated to the same IP address, thus the same server).
If it were possible to distinguish betwewen what settings to use based on the sitename, only one installation of the GUI would suffice, meaning less resources used by the server, less installation time when a new GUI is rolled out by Thinkwise etc etc.

Example using 4 URL (=4 different IP adresses all pointing to the same IIS Server);

https://portal.CompanyAlpha.com/guiAlpha
https://portal.CompanyBravo.com/guiBravo
https://portal.CompanyCharlie.com/guiCharlie
https://portal.CompanyDelta.com/guiDelta


This means 4 GUI installations on the IIS Server, when each company want their own "Look & Feel" of the GUI's login page.
When the same user, me for instance, logs on, he of she will see exactly the same available applications after validation of the username and password.
But not all users see all applications, so the desire to have a different login page per company is valid.


Example settings.ini with mutiple sitenames (how Thinkwise implements my suggestion is open for discussion, it's the idea that counts


; First the default settings when no "sites" are configured in this INI file

; IAM

metasource          = iam

server              = SQL006-DBDMS.xxxholding.local

database            = COMP_IAM_PROD

rdbms               = sqlserver

; Misc

LogToFile           = yes

language            = nl

authentication      = rdbms

Application_login_logo = I:\Thinkwise\logos\login_logo_default.jpg

Application_title      = Whatever you desire

Browsericon            = I:\Thinkwise\\icons\favicon.ico


; Other settings

allowResetPassword    = yes

SmtpServer            = mycompany-com.mail.protection.outlook.com

SmtpFrom            = noreply@mycompany.com

; Site dependant settings

; CompanyAlpha deviations

[sites][portal.CompanyAlpha.com]metasource                  = iam

[sites][portal.CompanyAlpha.com]server                      = SQL006-DBDMS.xxxholding.local

[sites][portal.CompanyAlpha.com]database                    = COMP_IAM_PROD

[sites][portal.CompanyAlpha.com]LogToFile                   = yes

[sites][portal.CompanyAlpha.com]language                    = de

[sites][portal.CompanyAlpha.com]authentication              = rdbms

[sites][portal.CompanyAlpha.com]Application_login_logo         = I:\Thinkwise\logos\login_logo_Alpha.jpg

[sites][portal.CompanyAlpha.com]Application_title              = Bookings Application

[sites][portal.CompanyAlpha.com]Browsericon                    = I:\Thinkwise\\icons\favicon_Alpha.ico

[sites][portal.CompanyAlpha.com]allowResetPassword            = yes

[sites][portal.CompanyAlpha.com]SmtpServer                    = mycompany-com.mail.protection.outlook.com

[sites][portal.CompanyAlpha.com]SmtpFrom                    = noreply@CompanyAlpha.com

; CompanyBravo deviations

[sites][portal.CompanyBravo.com]metasource                  = iam

[sites][portal.CompanyBravo.com]server                      = SQL006-DBDMS.xxxholding.local

[sites][portal.CompanyBravo.com]database                    = COMP_IAM_DEMO

[sites][portal.CompanyBravo.com]LogToFile                   = yes

[sites][portal.CompanyBravo.com]language                    = de

[sites][portal.CompanyBravo.com]authentication              = rdbms

[sites][portal.CompanyBravo.com]Application_login_logo         = I:\Thinkwise\logos\login_logo_Bravo.jpg

[sites][portal.CompanyBravo.com]Application_title              = Bookings Application

[sites][portal.CompanyBravo.com]Browsericon                    = I:\Thinkwise\\icons\favicon_Bravo.ico

[sites][portal.CompanyBravo.com]allowResetPassword            = yes

[sites][portal.CompanyBravo.com]SmtpServer                    = mycompany-com.mail.protection.outlook.com

[sites][portal.CompanyBravo.com]SmtpFrom                    = noreply@CompanyBravo.com

 

When this is implemented, I could suffice with installing just one GUI and point all sites to the same directory, like:

 

https://portal.CompanyAlpha.com/thinkwiseGUI
https://portal.CompanyBravo.com/thinkwiseGUI
https://portal.CompanyCharlie.com/thinkwiseGUI
https://portal.CompanyDelta.com/thinkwiseGUI

 

 

Hi Henry,

Maybe you can investigate options to replacing the Web GUI's automatically keeping some specific files/directories like the cache folder and the setting.ini and web.config files. 

For the physical web-server it's much better to deploy several application for memory footprint and CPU usage. Specially when the number of concurrent users increases or on peak moment of application usage.

Your DevOps team configured our build server to replaces our TCP Web GUI automatically this way for example after new changes are pushed to our GUI repo. 

Regards, Erik

 


@Erik Brink ,

If that's really the case (I mean multiple installations of the WebGUI results in better performance), then using a script to scrap everything exept a few directories and settings.ini and web.config could work…

Oh, and copying a few marker icons that are not in the normal package.…

But i.m.h.o. it's a bit overkill to have 5 or 6 installations, where 4 of 5 of them are only for a few users, to give them the idea they are looking at a complete other application/company...


Looking forward to our new GUI we are building on, we could not continue to support a feature like this. 

Initially it will cost you some time to set up automatically deployment of application on IIS, but at the long term it will save time and prevent for common mistakes replacing the application manually.

Regards, Erik